• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    QCOM_driver_control
4
5Name Strings
6
7    GL_QCOM_driver_control
8
9Contributors
10
11    Maurice Ribble
12    Mikko Nurmi
13
14Contact
15
16    Maurice Ribble (mribble 'at' qualcomm.com)
17
18Status
19
20    Incomplete.
21
22Version
23
24    Last Modified Date: May 5, 2009
25    Revision: #0.3
26
27Number
28
29    OpenGL ES Extension #55
30
31Dependencies
32
33    OpenGL ES 1.0 or higher is required.
34
35    This extension is written based on the wording of the OpenGL ES 2.0
36    specification.
37
38Overview
39
40    This extension exposes special control features in a driver to a
41    developer. A use of these controls would be to override state or
42    implement special modes of operation. One common example might be an
43    IFH or infinitely fast hardware mode. In this mode none of draw
44    commands would be sent to the GPU so no image would be displayed,
45    but all the driver software overhead would still happen thus
46    enabling developers to analyze driver overhead separate from GPU
47    performance. Some uses of this extension could invalidate future
48    rendering and thus should only be used by developers for debugging
49    and performance profiling purposes.
50
51    The extension is general enough to allow the implementation to
52    choose which controls to expose and to provide a textual description
53    of those controls to developers.
54
55Issues
56
57    None.
58
59New Procedures and Functions
60
61    void GetDriverControlsQCOM(int *num, sizei size, uint *driverControls)
62
63    void GetDriverControlStringQCOM(uint driverControl,
64                                   sizei bufSize,
65                                   sizei *length,
66                                   char *driverControlString)
67
68    void EnableDriverControlQCOM(uint driverControl)
69
70    void DisableDriverControlQCOM(uint driverControl)
71
72New Tokens
73
74    None.
75
76Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation)
77
78    Add a new section "Driver Control":
79
80    The command
81
82        void GetDriverControlsQCOM(int *num, sizei size, uint *driverControls)
83
84    returns the number of available driver controls in <num>, if <num>
85    is not NULL. If <size> is not 0 and <driverControls> is not NULL,
86    then the list of available driver controls is returned. The number
87    of entries that will be in <driverControls> is determined by <size>.
88    If <size> is 0, no information is copied. Each driver control is
89    identified by a unique unsigned int identifier.
90
91    The command
92
93        void GetDriverControlStringQCOM(uint driverControl,
94                                       sizei bufSize,
95                                       sizei *length,
96                                       char *driverControlString)
97
98    returns the string that describes the driver control identified by
99    <driverControl> in <driverControlString>. The first part of this
100    string is a unique identifying name for the driver control. A space
101    signifies the end of this name. It is encouraged that implementers
102    not change the name so that developers can key off this name for
103    their implementation. The actual number of characters written to
104    <driverControlString>, excluding the null terminator, is returned in
105    <length>. If <length> is NULL, then no length is returned. The
106    maximum number of characters that may be written into
107    <driverControlString>, including the null terminator, is specified
108    by <bufSize>. If <bufSize> is 0 and <driverControlString> is NULL,
109    the number of characters that would be required to hold the
110    driverControl string, excluding the null terminator, is returned in
111    <length>. If <driverControl> does not reference a valid
112    driverControl ID, an INVALID_VALUE error is generated.
113
114    The command
115
116        void EnableDriverControlQCOM(uint driverControl)
117
118    enables a driver control.
119
120        void DisableDriverControlQCOM(uint driverControl)
121
122    disables a driver control.
123
124
125GLX Protocol
126
127    None.
128
129Errors
130
131    INVALID_VALUE error will be generated if the <driverControl>
132    parameter to GetDriverControlStringQCOM, EnableDriverControlQCOM or
133    DisableDriverControlQCOM does not reference a valid driver control
134    ID.
135
136New State
137
138    None.
139
140
141Revision History
142    11/10/2008 - Maurice Ribble
143       + Initial version written.
144    03/19/2009 - Maurice Ribble
145       + Change from AMD to Qualcomm extension for publication
146    05/05/2009 - Jon Leech
147       + Reflow paragraphs and assign extension number.
148