ENGR00156850 gpu-viv: add gpu-viv driver source
[wandboard.git] / drivers / mxc / gpu-viv / hal / kernel / inc / gc_hal_profiler.h
blobbcfb2d412f695c6673eb4e64d614f83b9b0c86f8
1 /****************************************************************************
3 * Copyright (C) 2005 - 2011 by Vivante Corp.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the license, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 *****************************************************************************/
22 #ifndef __gc_hal_profiler_h_
23 #define __gc_hal_profiler_h_
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
29 #define GLVERTEX_OBJECT 10
30 #define GLVERTEX_OBJECT_BYTES 11
32 #define GLINDEX_OBJECT 20
33 #define GLINDEX_OBJECT_BYTES 21
35 #define GLTEXTURE_OBJECT 30
36 #define GLTEXTURE_OBJECT_BYTES 31
38 #if VIVANTE_PROFILER
39 #define gcmPROFILE_GC(Enum, Value) gcoPROFILER_Count(gcvNULL, Enum, Value)
40 #else
41 #define gcmPROFILE_GC(Enum, Value) do { } while (gcvFALSE)
42 #endif
44 #ifndef gcdNEW_PROFILER_FILE
45 #define gcdNEW_PROFILER_FILE 1
46 #endif
48 /* OpenGL ES11 API IDs. */
49 #define ES11_ACTIVETEXTURE 1
50 #define ES11_ALPHAFUNC (ES11_ACTIVETEXTURE + 1)
51 #define ES11_ALPHAFUNCX (ES11_ALPHAFUNC + 1)
52 #define ES11_BINDBUFFER (ES11_ALPHAFUNCX + 1)
53 #define ES11_BINDTEXTURE (ES11_BINDBUFFER + 1)
54 #define ES11_BLENDFUNC (ES11_BINDTEXTURE + 1)
55 #define ES11_BUFFERDATA (ES11_BLENDFUNC + 1)
56 #define ES11_BUFFERSUBDATA (ES11_BUFFERDATA + 1)
57 #define ES11_CLEAR (ES11_BUFFERSUBDATA + 1)
58 #define ES11_CLEARCOLOR (ES11_CLEAR + 1)
59 #define ES11_CLEARCOLORX (ES11_CLEARCOLOR + 1)
60 #define ES11_CLEARDEPTHF (ES11_CLEARCOLORX + 1)
61 #define ES11_CLEARDEPTHX (ES11_CLEARDEPTHF + 1)
62 #define ES11_CLEARSTENCIL (ES11_CLEARDEPTHX + 1)
63 #define ES11_CLIENTACTIVETEXTURE (ES11_CLEARSTENCIL + 1)
64 #define ES11_CLIPPLANEF (ES11_CLIENTACTIVETEXTURE + 1)
65 #define ES11_CLIPPLANEX (ES11_CLIPPLANEF + 1)
66 #define ES11_COLOR4F (ES11_CLIPPLANEX + 1)
67 #define ES11_COLOR4UB (ES11_COLOR4F + 1)
68 #define ES11_COLOR4X (ES11_COLOR4UB + 1)
69 #define ES11_COLORMASK (ES11_COLOR4X + 1)
70 #define ES11_COLORPOINTER (ES11_COLORMASK + 1)
71 #define ES11_COMPRESSEDTEXIMAGE2D (ES11_COLORPOINTER + 1)
72 #define ES11_COMPRESSEDTEXSUBIMAGE2D (ES11_COMPRESSEDTEXIMAGE2D + 1)
73 #define ES11_COPYTEXIMAGE2D (ES11_COMPRESSEDTEXSUBIMAGE2D + 1)
74 #define ES11_COPYTEXSUBIMAGE2D (ES11_COPYTEXIMAGE2D + 1)
75 #define ES11_CULLFACE (ES11_COPYTEXSUBIMAGE2D + 1)
76 #define ES11_DELETEBUFFERS (ES11_CULLFACE + 1)
77 #define ES11_DELETETEXTURES (ES11_DELETEBUFFERS + 1)
78 #define ES11_DEPTHFUNC (ES11_DELETETEXTURES + 1)
79 #define ES11_DEPTHMASK (ES11_DEPTHFUNC + 1)
80 #define ES11_DEPTHRANGEF (ES11_DEPTHMASK + 1)
81 #define ES11_DEPTHRANGEX (ES11_DEPTHRANGEF + 1)
82 #define ES11_DISABLE (ES11_DEPTHRANGEX + 1)
83 #define ES11_DISABLECLIENTSTATE (ES11_DISABLE + 1)
84 #define ES11_DRAWARRAYS (ES11_DISABLECLIENTSTATE + 1)
85 #define ES11_DRAWELEMENTS (ES11_DRAWARRAYS + 1)
86 #define ES11_ENABLE (ES11_DRAWELEMENTS + 1)
87 #define ES11_ENABLECLIENTSTATE (ES11_ENABLE + 1)
88 #define ES11_FINISH (ES11_ENABLECLIENTSTATE + 1)
89 #define ES11_FLUSH (ES11_FINISH + 1)
90 #define ES11_FOGF (ES11_FLUSH + 1)
91 #define ES11_FOGFV (ES11_FOGF + 1)
92 #define ES11_FOGX (ES11_FOGFV + 1)
93 #define ES11_FOGXV (ES11_FOGX + 1)
94 #define ES11_FRONTFACE (ES11_FOGXV + 1)
95 #define ES11_FRUSTUMF (ES11_FRONTFACE + 1)
96 #define ES11_FRUSTUMX (ES11_FRUSTUMF + 1)
97 #define ES11_GENBUFFERS (ES11_FRUSTUMX + 1)
98 #define ES11_GENTEXTURES (ES11_GENBUFFERS + 1)
99 #define ES11_GETBOOLEANV (ES11_GENTEXTURES + 1)
100 #define ES11_GETBUFFERPARAMETERIV (ES11_GETBOOLEANV + 1)
101 #define ES11_GETCLIPPLANEF (ES11_GETBUFFERPARAMETERIV + 1)
102 #define ES11_GETCLIPPLANEX (ES11_GETCLIPPLANEF + 1)
103 #define ES11_GETERROR (ES11_GETCLIPPLANEX + 1)
104 #define ES11_GETFIXEDV (ES11_GETERROR + 1)
105 #define ES11_GETFLOATV (ES11_GETFIXEDV + 1)
106 #define ES11_GETINTEGERV (ES11_GETFLOATV + 1)
107 #define ES11_GETLIGHTFV (ES11_GETINTEGERV + 1)
108 #define ES11_GETLIGHTXV (ES11_GETLIGHTFV + 1)
109 #define ES11_GETMATERIALFV (ES11_GETLIGHTXV + 1)
110 #define ES11_GETMATERIALXV (ES11_GETMATERIALFV + 1)
111 #define ES11_GETPOINTERV (ES11_GETMATERIALXV + 1)
112 #define ES11_GETSTRING (ES11_GETPOINTERV + 1)
113 #define ES11_GETTEXENVFV (ES11_GETSTRING + 1)
114 #define ES11_GETTEXENVIV (ES11_GETTEXENVFV + 1)
115 #define ES11_GETTEXENVXV (ES11_GETTEXENVIV + 1)
116 #define ES11_GETTEXPARAMETERFV (ES11_GETTEXENVXV + 1)
117 #define ES11_GETTEXPARAMETERIV (ES11_GETTEXPARAMETERFV + 1)
118 #define ES11_GETTEXPARAMETERXV (ES11_GETTEXPARAMETERIV + 1)
119 #define ES11_HINT (ES11_GETTEXPARAMETERXV + 1)
120 #define ES11_ISBUFFER (ES11_HINT + 1)
121 #define ES11_ISENABLED (ES11_ISBUFFER + 1)
122 #define ES11_ISTEXTURE (ES11_ISENABLED + 1)
123 #define ES11_LIGHTF (ES11_ISTEXTURE + 1)
124 #define ES11_LIGHTFV (ES11_LIGHTF + 1)
125 #define ES11_LIGHTMODELF (ES11_LIGHTFV + 1)
126 #define ES11_LIGHTMODELFV (ES11_LIGHTMODELF + 1)
127 #define ES11_LIGHTMODELX (ES11_LIGHTMODELFV + 1)
128 #define ES11_LIGHTMODELXV (ES11_LIGHTMODELX + 1)
129 #define ES11_LIGHTX (ES11_LIGHTMODELXV + 1)
130 #define ES11_LIGHTXV (ES11_LIGHTX + 1)
131 #define ES11_LINEWIDTH (ES11_LIGHTXV + 1)
132 #define ES11_LINEWIDTHX (ES11_LINEWIDTH + 1)
133 #define ES11_LOADIDENTITY (ES11_LINEWIDTHX + 1)
134 #define ES11_LOADMATRIXF (ES11_LOADIDENTITY + 1)
135 #define ES11_LOADMATRIXX (ES11_LOADMATRIXF + 1)
136 #define ES11_LOGICOP (ES11_LOADMATRIXX + 1)
137 #define ES11_MATERIALF (ES11_LOGICOP + 1)
138 #define ES11_MATERIALFV (ES11_MATERIALF + 1)
139 #define ES11_MATERIALX (ES11_MATERIALFV + 1)
140 #define ES11_MATERIALXV (ES11_MATERIALX + 1)
141 #define ES11_MATRIXMODE (ES11_MATERIALXV + 1)
142 #define ES11_MULTITEXCOORD4F (ES11_MATRIXMODE + 1)
143 #define ES11_MULTITEXCOORD4X (ES11_MULTITEXCOORD4F + 1)
144 #define ES11_MULTMATRIXF (ES11_MULTITEXCOORD4X + 1)
145 #define ES11_MULTMATRIXX (ES11_MULTMATRIXF + 1)
146 #define ES11_NORMAL3F (ES11_MULTMATRIXX + 1)
147 #define ES11_NORMAL3X (ES11_NORMAL3F + 1)
148 #define ES11_NORMALPOINTER (ES11_NORMAL3X + 1)
149 #define ES11_ORTHOF (ES11_NORMALPOINTER + 1)
150 #define ES11_ORTHOX (ES11_ORTHOF + 1)
151 #define ES11_PIXELSTOREI (ES11_ORTHOX + 1)
152 #define ES11_POINTPARAMETERF (ES11_PIXELSTOREI + 1)
153 #define ES11_POINTPARAMETERFV (ES11_POINTPARAMETERF + 1)
154 #define ES11_POINTPARAMETERX (ES11_POINTPARAMETERFV + 1)
155 #define ES11_POINTPARAMETERXV (ES11_POINTPARAMETERX + 1)
156 #define ES11_POINTSIZE (ES11_POINTPARAMETERXV + 1)
157 #define ES11_POINTSIZEX (ES11_POINTSIZE + 1)
158 #define ES11_POLYGONOFFSET (ES11_POINTSIZEX + 1)
159 #define ES11_POLYGONOFFSETX (ES11_POLYGONOFFSET + 1)
160 #define ES11_POPMATRIX (ES11_POLYGONOFFSETX + 1)
161 #define ES11_PUSHMATRIX (ES11_POPMATRIX + 1)
162 #define ES11_READPIXELS (ES11_PUSHMATRIX + 1)
163 #define ES11_ROTATEF (ES11_READPIXELS + 1)
164 #define ES11_ROTATEX (ES11_ROTATEF + 1)
165 #define ES11_SAMPLECOVERAGE (ES11_ROTATEX + 1)
166 #define ES11_SAMPLECOVERAGEX (ES11_SAMPLECOVERAGE + 1)
167 #define ES11_SCALEF (ES11_SAMPLECOVERAGEX + 1)
168 #define ES11_SCALEX (ES11_SCALEF + 1)
169 #define ES11_SCISSOR (ES11_SCALEX + 1)
170 #define ES11_SHADEMODEL (ES11_SCISSOR + 1)
171 #define ES11_STENCILFUNC (ES11_SHADEMODEL + 1)
172 #define ES11_STENCILMASK (ES11_STENCILFUNC + 1)
173 #define ES11_STENCILOP (ES11_STENCILMASK + 1)
174 #define ES11_TEXCOORDPOINTER (ES11_STENCILOP + 1)
175 #define ES11_TEXENVF (ES11_TEXCOORDPOINTER + 1)
176 #define ES11_TEXENVFV (ES11_TEXENVF + 1)
177 #define ES11_TEXENVI (ES11_TEXENVFV + 1)
178 #define ES11_TEXENVIV (ES11_TEXENVI + 1)
179 #define ES11_TEXENVX (ES11_TEXENVIV + 1)
180 #define ES11_TEXENVXV (ES11_TEXENVX + 1)
181 #define ES11_TEXIMAGE2D (ES11_TEXENVXV + 1)
182 #define ES11_TEXPARAMETERF (ES11_TEXIMAGE2D + 1)
183 #define ES11_TEXPARAMETERFV (ES11_TEXPARAMETERF + 1)
184 #define ES11_TEXPARAMETERI (ES11_TEXPARAMETERFV + 1)
185 #define ES11_TEXPARAMETERIV (ES11_TEXPARAMETERI + 1)
186 #define ES11_TEXPARAMETERX (ES11_TEXPARAMETERIV + 1)
187 #define ES11_TEXPARAMETERXV (ES11_TEXPARAMETERX + 1)
188 #define ES11_TEXSUBIMAGE2D (ES11_TEXPARAMETERXV + 1)
189 #define ES11_TRANSLATEF (ES11_TEXSUBIMAGE2D + 1)
190 #define ES11_TRANSLATEX (ES11_TRANSLATEF + 1)
191 #define ES11_VERTEXPOINTER (ES11_TRANSLATEX + 1)
192 #define ES11_VIEWPORT (ES11_VERTEXPOINTER + 1)
193 #define ES11_CALLS (ES11_VIEWPORT + 1)
194 #define ES11_DRAWCALLS (ES11_CALLS + 1)
195 #define ES11_STATECHANGECALLS (ES11_DRAWCALLS + 1)
196 #define ES11_POINTCOUNT (ES11_STATECHANGECALLS + 1)
197 #define ES11_LINECOUNT (ES11_POINTCOUNT + 1)
198 #define ES11_TRIANGLECOUNT (ES11_LINECOUNT + 1)
200 /* OpenGL ES2X API IDs. */
201 #define ES20_ACTIVETEXTURE 1
202 #define ES20_ATTACHSHADER (ES20_ACTIVETEXTURE + 1)
203 #define ES20_BINDATTRIBLOCATION (ES20_ATTACHSHADER + 1)
204 #define ES20_BINDBUFFER (ES20_BINDATTRIBLOCATION + 1)
205 #define ES20_BINDFRAMEBUFFER (ES20_BINDBUFFER + 1)
206 #define ES20_BINDRENDERBUFFER (ES20_BINDFRAMEBUFFER + 1)
207 #define ES20_BINDTEXTURE (ES20_BINDRENDERBUFFER + 1)
208 #define ES20_BLENDCOLOR (ES20_BINDTEXTURE + 1)
209 #define ES20_BLENDEQUATION (ES20_BLENDCOLOR + 1)
210 #define ES20_BLENDEQUATIONSEPARATE (ES20_BLENDEQUATION + 1)
211 #define ES20_BLENDFUNC (ES20_BLENDEQUATIONSEPARATE + 1)
212 #define ES20_BLENDFUNCSEPARATE (ES20_BLENDFUNC + 1)
213 #define ES20_BUFFERDATA (ES20_BLENDFUNCSEPARATE + 1)
214 #define ES20_BUFFERSUBDATA (ES20_BUFFERDATA + 1)
215 #define ES20_CHECKFRAMEBUFFERSTATUS (ES20_BUFFERSUBDATA + 1)
216 #define ES20_CLEAR (ES20_CHECKFRAMEBUFFERSTATUS + 1)
217 #define ES20_CLEARCOLOR (ES20_CLEAR + 1)
218 #define ES20_CLEARDEPTHF (ES20_CLEARCOLOR + 1)
219 #define ES20_CLEARSTENCIL (ES20_CLEARDEPTHF + 1)
220 #define ES20_COLORMASK (ES20_CLEARSTENCIL + 1)
221 #define ES20_COMPILESHADER (ES20_COLORMASK + 1)
222 #define ES20_COMPRESSEDTEXIMAGE2D (ES20_COMPILESHADER + 1)
223 #define ES20_COMPRESSEDTEXSUBIMAGE2D (ES20_COMPRESSEDTEXIMAGE2D + 1)
224 #define ES20_COPYTEXIMAGE2D (ES20_COMPRESSEDTEXSUBIMAGE2D + 1)
225 #define ES20_COPYTEXSUBIMAGE2D (ES20_COPYTEXIMAGE2D + 1)
226 #define ES20_CREATEPROGRAM (ES20_COPYTEXSUBIMAGE2D + 1)
227 #define ES20_CREATESHADER (ES20_CREATEPROGRAM + 1)
228 #define ES20_CULLFACE (ES20_CREATESHADER + 1)
229 #define ES20_DELETEBUFFERS (ES20_CULLFACE + 1)
230 #define ES20_DELETEFRAMEBUFFERS (ES20_DELETEBUFFERS + 1)
231 #define ES20_DELETEPROGRAM (ES20_DELETEFRAMEBUFFERS + 1)
232 #define ES20_DELETERENDERBUFFERS (ES20_DELETEPROGRAM + 1)
233 #define ES20_DELETESHADER (ES20_DELETERENDERBUFFERS + 1)
234 #define ES20_DELETETEXTURES (ES20_DELETESHADER + 1)
235 #define ES20_DEPTHFUNC (ES20_DELETETEXTURES + 1)
236 #define ES20_DEPTHMASK (ES20_DEPTHFUNC + 1)
237 #define ES20_DEPTHRANGEF (ES20_DEPTHMASK + 1)
238 #define ES20_DETACHSHADER (ES20_DEPTHRANGEF + 1)
239 #define ES20_DISABLE (ES20_DETACHSHADER + 1)
240 #define ES20_DISABLEVERTEXATTRIBARRAY (ES20_DISABLE + 1)
241 #define ES20_DRAWARRAYS (ES20_DISABLEVERTEXATTRIBARRAY + 1)
242 #define ES20_DRAWELEMENTS (ES20_DRAWARRAYS + 1)
243 #define ES20_ENABLE (ES20_DRAWELEMENTS + 1)
244 #define ES20_ENABLEVERTEXATTRIBARRAY (ES20_ENABLE + 1)
245 #define ES20_FINISH (ES20_ENABLEVERTEXATTRIBARRAY + 1)
246 #define ES20_FLUSH (ES20_FINISH + 1)
247 #define ES20_FRAMEBUFFERRENDERBUFFER (ES20_FLUSH + 1)
248 #define ES20_FRAMEBUFFERTEXTURE2D (ES20_FRAMEBUFFERRENDERBUFFER + 1)
249 #define ES20_FRONTFACE (ES20_FRAMEBUFFERTEXTURE2D + 1)
250 #define ES20_GENBUFFERS (ES20_FRONTFACE + 1)
251 #define ES20_GENERATEMIPMAP (ES20_GENBUFFERS + 1)
252 #define ES20_GENFRAMEBUFFERS (ES20_GENERATEMIPMAP + 1)
253 #define ES20_GENRENDERBUFFERS (ES20_GENFRAMEBUFFERS + 1)
254 #define ES20_GENTEXTURES (ES20_GENRENDERBUFFERS + 1)
255 #define ES20_GETACTIVEATTRIB (ES20_GENTEXTURES + 1)
256 #define ES20_GETACTIVEUNIFORM (ES20_GETACTIVEATTRIB + 1)
257 #define ES20_GETATTACHEDSHADERS (ES20_GETACTIVEUNIFORM + 1)
258 #define ES20_GETATTRIBLOCATION (ES20_GETATTACHEDSHADERS + 1)
259 #define ES20_GETBOOLEANV (ES20_GETATTRIBLOCATION + 1)
260 #define ES20_GETBUFFERPARAMETERIV (ES20_GETBOOLEANV + 1)
261 #define ES20_GETERROR (ES20_GETBUFFERPARAMETERIV + 1)
262 #define ES20_GETFLOATV (ES20_GETERROR + 1)
263 #define ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV (ES20_GETFLOATV + 1)
264 #define ES20_GETINTEGERV (ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV + 1)
265 #define ES20_GETPROGRAMIV (ES20_GETINTEGERV + 1)
266 #define ES20_GETPROGRAMINFOLOG (ES20_GETPROGRAMIV + 1)
267 #define ES20_GETRENDERBUFFERPARAMETERIV (ES20_GETPROGRAMINFOLOG + 1)
268 #define ES20_GETSHADERIV (ES20_GETRENDERBUFFERPARAMETERIV + 1)
269 #define ES20_GETSHADERINFOLOG (ES20_GETSHADERIV + 1)
270 #define ES20_GETSHADERPRECISIONFORMAT (ES20_GETSHADERINFOLOG + 1)
271 #define ES20_GETSHADERSOURCE (ES20_GETSHADERPRECISIONFORMAT + 1)
272 #define ES20_GETSTRING (ES20_GETSHADERSOURCE + 1)
273 #define ES20_GETTEXPARAMETERFV (ES20_GETSTRING + 1)
274 #define ES20_GETTEXPARAMETERIV (ES20_GETTEXPARAMETERFV + 1)
275 #define ES20_GETUNIFORMFV (ES20_GETTEXPARAMETERIV + 1)
276 #define ES20_GETUNIFORMIV (ES20_GETUNIFORMFV + 1)
277 #define ES20_GETUNIFORMLOCATION (ES20_GETUNIFORMIV + 1)
278 #define ES20_GETVERTEXATTRIBFV (ES20_GETUNIFORMLOCATION + 1)
279 #define ES20_GETVERTEXATTRIBIV (ES20_GETVERTEXATTRIBFV + 1)
280 #define ES20_GETVERTEXATTRIBPOINTERV (ES20_GETVERTEXATTRIBIV + 1)
281 #define ES20_HINT (ES20_GETVERTEXATTRIBPOINTERV + 1)
282 #define ES20_ISBUFFER (ES20_HINT + 1)
283 #define ES20_ISENABLED (ES20_ISBUFFER + 1)
284 #define ES20_ISFRAMEBUFFER (ES20_ISENABLED + 1)
285 #define ES20_ISPROGRAM (ES20_ISFRAMEBUFFER + 1)
286 #define ES20_ISRENDERBUFFER (ES20_ISPROGRAM + 1)
287 #define ES20_ISSHADER (ES20_ISRENDERBUFFER + 1)
288 #define ES20_ISTEXTURE (ES20_ISSHADER + 1)
289 #define ES20_LINEWIDTH (ES20_ISTEXTURE + 1)
290 #define ES20_LINKPROGRAM (ES20_LINEWIDTH + 1)
291 #define ES20_PIXELSTOREI (ES20_LINKPROGRAM + 1)
292 #define ES20_POLYGONOFFSET (ES20_PIXELSTOREI + 1)
293 #define ES20_READPIXELS (ES20_POLYGONOFFSET + 1)
294 #define ES20_RELEASESHADERCOMPILER (ES20_READPIXELS + 1)
295 #define ES20_RENDERBUFFERSTORAGE (ES20_RELEASESHADERCOMPILER + 1)
296 #define ES20_SAMPLECOVERAGE (ES20_RENDERBUFFERSTORAGE + 1)
297 #define ES20_SCISSOR (ES20_SAMPLECOVERAGE + 1)
298 #define ES20_SHADERBINARY (ES20_SCISSOR + 1)
299 #define ES20_SHADERSOURCE (ES20_SHADERBINARY + 1)
300 #define ES20_STENCILFUNC (ES20_SHADERSOURCE + 1)
301 #define ES20_STENCILFUNCSEPARATE (ES20_STENCILFUNC + 1)
302 #define ES20_STENCILMASK (ES20_STENCILFUNCSEPARATE + 1)
303 #define ES20_STENCILMASKSEPARATE (ES20_STENCILMASK + 1)
304 #define ES20_STENCILOP (ES20_STENCILMASKSEPARATE + 1)
305 #define ES20_STENCILOPSEPARATE (ES20_STENCILOP + 1)
306 #define ES20_TEXIMAGE2D (ES20_STENCILOPSEPARATE + 1)
307 #define ES20_TEXPARAMETERF (ES20_TEXIMAGE2D + 1)
308 #define ES20_TEXPARAMETERFV (ES20_TEXPARAMETERF + 1)
309 #define ES20_TEXPARAMETERI (ES20_TEXPARAMETERFV + 1)
310 #define ES20_TEXPARAMETERIV (ES20_TEXPARAMETERI + 1)
311 #define ES20_TEXSUBIMAGE2D (ES20_TEXPARAMETERIV + 1)
312 #define ES20_UNIFORM1F (ES20_TEXSUBIMAGE2D + 1)
313 #define ES20_UNIFORM1FV (ES20_UNIFORM1F + 1)
314 #define ES20_UNIFORM1I (ES20_UNIFORM1FV + 1)
315 #define ES20_UNIFORM1IV (ES20_UNIFORM1I + 1)
316 #define ES20_UNIFORM2F (ES20_UNIFORM1IV + 1)
317 #define ES20_UNIFORM2FV (ES20_UNIFORM2F + 1)
318 #define ES20_UNIFORM2I (ES20_UNIFORM2FV + 1)
319 #define ES20_UNIFORM2IV (ES20_UNIFORM2I + 1)
320 #define ES20_UNIFORM3F (ES20_UNIFORM2IV + 1)
321 #define ES20_UNIFORM3FV (ES20_UNIFORM3F + 1)
322 #define ES20_UNIFORM3I (ES20_UNIFORM3FV + 1)
323 #define ES20_UNIFORM3IV (ES20_UNIFORM3I + 1)
324 #define ES20_UNIFORM4F (ES20_UNIFORM3IV + 1)
325 #define ES20_UNIFORM4FV (ES20_UNIFORM4F + 1)
326 #define ES20_UNIFORM4I (ES20_UNIFORM4FV + 1)
327 #define ES20_UNIFORM4IV (ES20_UNIFORM4I + 1)
328 #define ES20_UNIFORMMATRIX2FV (ES20_UNIFORM4IV + 1)
329 #define ES20_UNIFORMMATRIX3FV (ES20_UNIFORMMATRIX2FV + 1)
330 #define ES20_UNIFORMMATRIX4FV (ES20_UNIFORMMATRIX3FV + 1)
331 #define ES20_USEPROGRAM (ES20_UNIFORMMATRIX4FV + 1)
332 #define ES20_VALIDATEPROGRAM (ES20_USEPROGRAM + 1)
333 #define ES20_VERTEXATTRIB1F (ES20_VALIDATEPROGRAM + 1)
334 #define ES20_VERTEXATTRIB1FV (ES20_VERTEXATTRIB1F + 1)
335 #define ES20_VERTEXATTRIB2F (ES20_VERTEXATTRIB1FV + 1)
336 #define ES20_VERTEXATTRIB2FV (ES20_VERTEXATTRIB2F + 1)
337 #define ES20_VERTEXATTRIB3F (ES20_VERTEXATTRIB2FV + 1)
338 #define ES20_VERTEXATTRIB3FV (ES20_VERTEXATTRIB3F + 1)
339 #define ES20_VERTEXATTRIB4F (ES20_VERTEXATTRIB3FV + 1)
340 #define ES20_VERTEXATTRIB4FV (ES20_VERTEXATTRIB4F + 1)
341 #define ES20_VERTEXATTRIBPOINTER (ES20_VERTEXATTRIB4FV + 1)
342 #define ES20_VIEWPORT (ES20_VERTEXATTRIBPOINTER + 1)
343 #define ES20_CALLS (ES20_VIEWPORT + 1)
344 #define ES20_DRAWCALLS (ES20_CALLS + 1)
345 #define ES20_STATECHANGECALLS (ES20_DRAWCALLS + 1)
346 #define ES20_POINTCOUNT (ES20_STATECHANGECALLS + 1)
347 #define ES20_LINECOUNT (ES20_POINTCOUNT + 1)
348 #define ES20_TRIANGLECOUNT (ES20_LINECOUNT + 1)
350 /* OpenVG API IDs. */
351 #define VG11_APPENDPATH 1
352 #define VG11_APPENDPATHDATA (VG11_APPENDPATH + 1)
353 #define VG11_CHILDIMAGE (VG11_APPENDPATHDATA + 1)
354 #define VG11_CLEAR (VG11_CHILDIMAGE + 1)
355 #define VG11_CLEARGLYPH (VG11_CLEAR + 1)
356 #define VG11_CLEARIMAGE (VG11_CLEARGLYPH + 1)
357 #define VG11_CLEARPATH (VG11_CLEARIMAGE + 1)
358 #define VG11_COLORMATRIX (VG11_CLEARPATH + 1)
359 #define VG11_CONVOLVE (VG11_COLORMATRIX + 1)
360 #define VG11_COPYIMAGE (VG11_CONVOLVE + 1)
361 #define VG11_COPYMASK (VG11_COPYIMAGE + 1)
362 #define VG11_COPYPIXELS (VG11_COPYMASK + 1)
363 #define VG11_CREATEFONT (VG11_COPYPIXELS + 1)
364 #define VG11_CREATEIMAGE (VG11_CREATEFONT + 1)
365 #define VG11_CREATEMASKLAYER (VG11_CREATEIMAGE + 1)
366 #define VG11_CREATEPAINT (VG11_CREATEMASKLAYER + 1)
367 #define VG11_CREATEPATH (VG11_CREATEPAINT + 1)
368 #define VG11_DESTROYFONT (VG11_CREATEPATH + 1)
369 #define VG11_DESTROYIMAGE (VG11_DESTROYFONT + 1)
370 #define VG11_DESTROYMASKLAYER (VG11_DESTROYIMAGE + 1)
371 #define VG11_DESTROYPAINT (VG11_DESTROYMASKLAYER + 1)
372 #define VG11_DESTROYPATH (VG11_DESTROYPAINT + 1)
373 #define VG11_DRAWGLYPH (VG11_DESTROYPATH + 1)
374 #define VG11_DRAWGLYPHS (VG11_DRAWGLYPH + 1)
375 #define VG11_DRAWIMAGE (VG11_DRAWGLYPHS + 1)
376 #define VG11_DRAWPATH (VG11_DRAWIMAGE + 1)
377 #define VG11_FILLMASKLAYER (VG11_DRAWPATH + 1)
378 #define VG11_FINISH (VG11_FILLMASKLAYER + 1)
379 #define VG11_FLUSH (VG11_FINISH + 1)
380 #define VG11_GAUSSIANBLUR (VG11_FLUSH + 1)
381 #define VG11_GETCOLOR (VG11_GAUSSIANBLUR + 1)
382 #define VG11_GETERROR (VG11_GETCOLOR + 1)
383 #define VG11_GETF (VG11_GETERROR + 1)
384 #define VG11_GETFV (VG11_GETF + 1)
385 #define VG11_GETI (VG11_GETFV + 1)
386 #define VG11_GETIMAGESUBDATA (VG11_GETI + 1)
387 #define VG11_GETIV (VG11_GETIMAGESUBDATA + 1)
388 #define VG11_GETMATRIX (VG11_GETIV + 1)
389 #define VG11_GETPAINT (VG11_GETMATRIX + 1)
390 #define VG11_GETPARAMETERF (VG11_GETPAINT + 1)
391 #define VG11_GETPARAMETERFV (VG11_GETPARAMETERF + 1)
392 #define VG11_GETPARAMETERI (VG11_GETPARAMETERFV + 1)
393 #define VG11_GETPARAMETERIV (VG11_GETPARAMETERI + 1)
394 #define VG11_GETPARAMETERVECTORSIZE (VG11_GETPARAMETERIV + 1)
395 #define VG11_GETPARENT (VG11_GETPARAMETERVECTORSIZE + 1)
396 #define VG11_GETPATHCAPABILITIES (VG11_GETPARENT + 1)
397 #define VG11_GETPIXELS (VG11_GETPATHCAPABILITIES + 1)
398 #define VG11_GETSTRING (VG11_GETPIXELS + 1)
399 #define VG11_GETVECTORSIZE (VG11_GETSTRING + 1)
400 #define VG11_HARDWAREQUERY (VG11_GETVECTORSIZE + 1)
401 #define VG11_IMAGESUBDATA (VG11_HARDWAREQUERY + 1)
402 #define VG11_INTERPOLATEPATH (VG11_IMAGESUBDATA + 1)
403 #define VG11_LOADIDENTITY (VG11_INTERPOLATEPATH + 1)
404 #define VG11_LOADMATRIX (VG11_LOADIDENTITY + 1)
405 #define VG11_LOOKUP (VG11_LOADMATRIX + 1)
406 #define VG11_LOOKUPSINGLE (VG11_LOOKUP + 1)
407 #define VG11_MASK (VG11_LOOKUPSINGLE + 1)
408 #define VG11_MODIFYPATHCOORDS (VG11_MASK + 1)
409 #define VG11_MULTMATRIX (VG11_MODIFYPATHCOORDS + 1)
410 #define VG11_PAINTPATTERN (VG11_MULTMATRIX + 1)
411 #define VG11_PATHBOUNDS (VG11_PAINTPATTERN + 1)
412 #define VG11_PATHLENGTH (VG11_PATHBOUNDS + 1)
413 #define VG11_PATHTRANSFORMEDBOUNDS (VG11_PATHLENGTH + 1)
414 #define VG11_POINTALONGPATH (VG11_PATHTRANSFORMEDBOUNDS + 1)
415 #define VG11_READPIXELS (VG11_POINTALONGPATH + 1)
416 #define VG11_REMOVEPATHCAPABILITIES (VG11_READPIXELS + 1)
417 #define VG11_RENDERTOMASK (VG11_REMOVEPATHCAPABILITIES + 1)
418 #define VG11_ROTATE (VG11_RENDERTOMASK + 1)
419 #define VG11_SCALE (VG11_ROTATE + 1)
420 #define VG11_SEPARABLECONVOLVE (VG11_SCALE + 1)
421 #define VG11_SETCOLOR (VG11_SEPARABLECONVOLVE + 1)
422 #define VG11_SETF (VG11_SETCOLOR + 1)
423 #define VG11_SETFV (VG11_SETF + 1)
424 #define VG11_SETGLYPHTOIMAGE (VG11_SETFV + 1)
425 #define VG11_SETGLYPHTOPATH (VG11_SETGLYPHTOIMAGE + 1)
426 #define VG11_SETI (VG11_SETGLYPHTOPATH + 1)
427 #define VG11_SETIV (VG11_SETI + 1)
428 #define VG11_SETPAINT (VG11_SETIV + 1)
429 #define VG11_SETPARAMETERF (VG11_SETPAINT + 1)
430 #define VG11_SETPARAMETERFV (VG11_SETPARAMETERF + 1)
431 #define VG11_SETPARAMETERI (VG11_SETPARAMETERFV + 1)
432 #define VG11_SETPARAMETERIV (VG11_SETPARAMETERI + 1)
433 #define VG11_SETPIXELS (VG11_SETPARAMETERIV + 1)
434 #define VG11_SHEAR (VG11_SETPIXELS + 1)
435 #define VG11_TRANSFORMPATH (VG11_SHEAR + 1)
436 #define VG11_TRANSLATE (VG11_TRANSFORMPATH + 1)
437 #define VG11_WRITEPIXELS (VG11_TRANSLATE + 1)
438 /* End of Driver API ID Definitions. */
440 /* HAL & MISC IDs. */
441 #define HAL_VERTBUFNEWBYTEALLOC 1
442 #define HAL_VERTBUFTOTALBYTEALLOC (HAL_VERTBUFNEWBYTEALLOC + 1)
443 #define HAL_VERTBUFNEWOBJALLOC (HAL_VERTBUFTOTALBYTEALLOC + 1)
444 #define HAL_VERTBUFTOTALOBJALLOC (HAL_VERTBUFNEWOBJALLOC + 1)
445 #define HAL_INDBUFNEWBYTEALLOC (HAL_VERTBUFTOTALOBJALLOC + 1)
446 #define HAL_INDBUFTOTALBYTEALLOC (HAL_INDBUFNEWBYTEALLOC + 1)
447 #define HAL_INDBUFNEWOBJALLOC (HAL_INDBUFTOTALBYTEALLOC + 1)
448 #define HAL_INDBUFTOTALOBJALLOC (HAL_INDBUFNEWOBJALLOC + 1)
449 #define HAL_TEXBUFNEWBYTEALLOC (HAL_INDBUFTOTALOBJALLOC + 1)
450 #define HAL_TEXBUFTOTALBYTEALLOC (HAL_TEXBUFNEWBYTEALLOC + 1)
451 #define HAL_TEXBUFNEWOBJALLOC (HAL_TEXBUFTOTALBYTEALLOC + 1)
452 #define HAL_TEXBUFTOTALOBJALLOC (HAL_TEXBUFNEWOBJALLOC + 1)
454 #define GPU_CYCLES 1
455 #define GPU_READ64BYTE (GPU_CYCLES + 1)
456 #define GPU_WRITE64BYTE (GPU_READ64BYTE + 1)
458 #define VS_INSTCOUNT 1
459 #define VS_BRANCHINSTCOUNT (VS_INSTCOUNT + 1)
460 #define VS_TEXLDINSTCOUNT (VS_BRANCHINSTCOUNT + 1)
461 #define VS_RENDEREDVERTCOUNT (VS_TEXLDINSTCOUNT + 1)
463 #define PS_INSTCOUNT 1
464 #define PS_BRANCHINSTCOUNT (PS_INSTCOUNT + 1)
465 #define PS_TEXLDINSTCOUNT (PS_BRANCHINSTCOUNT + 1)
466 #define PS_RENDEREDPIXCOUNT (PS_TEXLDINSTCOUNT + 1)
468 #define PA_INVERTCOUNT 1
469 #define PA_INPRIMCOUNT (PA_INVERTCOUNT + 1)
470 #define PA_OUTPRIMCOUNT (PA_INPRIMCOUNT + 1)
471 #define PA_DEPTHCLIPCOUNT (PA_OUTPRIMCOUNT + 1)
472 #define PA_TRIVIALREJCOUNT (PA_DEPTHCLIPCOUNT + 1)
473 #define PA_CULLCOUNT (PA_TRIVIALREJCOUNT + 1)
475 #define SE_TRIANGLECOUNT 1
476 #define SE_LINECOUNT (SE_TRIANGLECOUNT + 1)
478 #define RA_VALIDPIXCOUNT 1
479 #define RA_TOTALQUADCOUNT (RA_VALIDPIXCOUNT + 1)
480 #define RA_VALIDQUADCOUNTEZ (RA_TOTALQUADCOUNT + 1)
481 #define RA_TOTALPRIMCOUNT (RA_VALIDQUADCOUNTEZ + 1)
482 #define RA_PIPECACHEMISSCOUNT (RA_TOTALPRIMCOUNT + 1)
483 #define RA_PREFCACHEMISSCOUNT (RA_PIPECACHEMISSCOUNT + 1)
484 #define RA_EEZCULLCOUNT (RA_PREFCACHEMISSCOUNT + 1)
486 #define TX_TOTBILINEARREQ 1
487 #define TX_TOTTRILINEARREQ (TX_TOTBILINEARREQ + 1)
488 #define TX_TOTDISCARDTEXREQ (TX_TOTTRILINEARREQ + 1)
489 #define TX_TOTTEXREQ (TX_TOTDISCARDTEXREQ + 1)
490 #define TX_MEMREADCOUNT (TX_TOTTEXREQ + 1)
491 #define TX_MEMREADIN8BCOUNT (TX_MEMREADCOUNT + 1)
492 #define TX_CACHEMISSCOUNT (TX_MEMREADIN8BCOUNT + 1)
493 #define TX_CACHEHITTEXELCOUNT (TX_CACHEMISSCOUNT + 1)
494 #define TX_CACHEMISSTEXELCOUNT (TX_CACHEHITTEXELCOUNT + 1)
496 #define PE_KILLEDBYCOLOR 1
497 #define PE_KILLEDBYDEPTH (PE_KILLEDBYCOLOR + 1)
498 #define PE_DRAWNBYCOLOR (PE_KILLEDBYDEPTH + 1)
499 #define PE_DRAWNBYDEPTH (PE_DRAWNBYCOLOR + 1)
501 #define MC_READREQ8BPIPE 1
502 #define MC_READREQ8BIP (MC_READREQ8BPIPE + 1)
503 #define MC_WRITEREQ8BPIPE (MC_READREQ8BIP + 1)
505 #define AXI_READREQSTALLED 1
506 #define AXI_WRITEREQSTALLED (AXI_READREQSTALLED + 1)
507 #define AXI_WRITEDATASTALLED (AXI_WRITEREQSTALLED + 1)
509 #define PVS_INSTRCOUNT 1
510 #define PVS_ALUINSTRCOUNT (PVS_INSTRCOUNT + 1)
511 #define PVS_TEXINSTRCOUNT (PVS_ALUINSTRCOUNT + 1)
512 #define PVS_ATTRIBCOUNT (PVS_TEXINSTRCOUNT + 1)
513 #define PVS_UNIFORMCOUNT (PVS_ATTRIBCOUNT + 1)
514 #define PVS_FUNCTIONCOUNT (PVS_UNIFORMCOUNT + 1)
516 #define PPS_INSTRCOUNT 1
517 #define PPS_ALUINSTRCOUNT (PPS_INSTRCOUNT + 1)
518 #define PPS_TEXINSTRCOUNT (PPS_ALUINSTRCOUNT + 1)
519 #define PPS_ATTRIBCOUNT (PPS_TEXINSTRCOUNT + 1)
520 #define PPS_UNIFORMCOUNT (PPS_ATTRIBCOUNT + 1)
521 #define PPS_FUNCTIONCOUNT (PPS_UNIFORMCOUNT + 1)
522 /* End of MISC Counter IDs. */
524 #ifdef gcdNEW_PROFILER_FILE
526 /* Category Constants. */
527 #define VPHEADER 0x010000
528 #define VPG_INFO 0x020000
529 #define VPG_TIME 0x030000
530 #define VPG_MEM 0x040000
531 #define VPG_ES11 0x050000
532 #define VPG_ES20 0x060000
533 #define VPG_VG11 0x070000
534 #define VPG_HAL 0x080000
535 #define VPG_HW 0x090000
536 #define VPG_GPU 0x0a0000
537 #define VPG_VS 0x0b0000
538 #define VPG_PS 0x0c0000
539 #define VPG_PA 0x0d0000
540 #define VPG_SETUP 0x0e0000
541 #define VPG_RA 0x0f0000
542 #define VPG_TX 0x100000
543 #define VPG_PE 0x110000
544 #define VPG_MC 0x120000
545 #define VPG_AXI 0x130000
546 #define VPG_PROG 0x140000
547 #define VPG_PVS 0x150000
548 #define VPG_PPS 0x160000
549 #define VPG_FRAME 0x170000
550 #define VPG_END 0xff0000
552 /* Info. */
553 #define VPC_INFOCOMPANY (VPG_INFO + 1)
554 #define VPC_INFOVERSION (VPC_INFOCOMPANY + 1)
555 #define VPC_INFORENDERER (VPC_INFOVERSION + 1)
556 #define VPC_INFOREVISION (VPC_INFORENDERER + 1)
557 #define VPC_INFODRIVER (VPC_INFOREVISION + 1)
558 #define VPC_INFODRIVERMODE (VPC_INFODRIVER + 1)
559 #define VPC_INFOSCREENSIZE (VPC_INFODRIVERMODE + 1)
561 /* Counter Constants. */
562 #define VPC_ELAPSETIME (VPG_TIME + 1)
563 #define VPC_CPUTIME (VPC_ELAPSETIME + 1)
565 #define VPC_MEMMAXRES (VPG_MEM + 1)
566 #define VPC_MEMSHARED (VPC_MEMMAXRES + 1)
567 #define VPC_MEMUNSHAREDDATA (VPC_MEMSHARED + 1)
568 #define VPC_MEMUNSHAREDSTACK (VPC_MEMUNSHAREDDATA + 1)
570 /* OpenGL ES11 Counters. */
571 #define VPC_ES11ACTIVETEXTURE (VPG_ES11 + ES11_ACTIVETEXTURE)
572 #define VPC_ES11ALPHAFUNC (VPG_ES11 + ES11_ALPHAFUNC)
573 #define VPC_ES11ALPHAFUNCX (VPG_ES11 + ES11_ALPHAFUNCX)
574 #define VPC_ES11BINDBUFFER (VPG_ES11 + ES11_BINDBUFFER)
575 #define VPC_ES11BINDTEXTURE (VPG_ES11 + ES11_BINDTEXTURE)
576 #define VPC_ES11BLENDFUNC (VPG_ES11 + ES11_BLENDFUNC)
577 #define VPC_ES11BUFFERDATA (VPG_ES11 + ES11_BUFFERDATA)
578 #define VPC_ES11BUFFERSUBDATA (VPG_ES11 + ES11_BUFFERSUBDATA)
579 #define VPC_ES11CLEAR (VPG_ES11 + ES11_CLEAR)
580 #define VPC_ES11CLEARCOLOR (VPG_ES11 + ES11_CLEARCOLOR)
581 #define VPC_ES11CLEARCOLORX (VPG_ES11 + ES11_CLEARCOLORX)
582 #define VPC_ES11CLEARDEPTHF (VPG_ES11 + ES11_CLEARDEPTHF)
583 #define VPC_ES11CLEARDEPTHX (VPG_ES11 + ES11_CLEARDEPTHX)
584 #define VPC_ES11CLEARSTENCIL (VPG_ES11 + ES11_CLEARSTENCIL)
585 #define VPC_ES11CLIENTACTIVETEXTURE (VPG_ES11 + ES11_CLIENTACTIVETEXTURE)
586 #define VPC_ES11CLIPPLANEF (VPG_ES11 + ES11_CLIPPLANEF)
587 #define VPC_ES11CLIPPLANEX (VPG_ES11 + ES11_CLIPPLANEX)
588 #define VPC_ES11COLOR4F (VPG_ES11 + ES11_COLOR4F)
589 #define VPC_ES11COLOR4UB (VPG_ES11 + ES11_COLOR4UB)
590 #define VPC_ES11COLOR4X (VPG_ES11 + ES11_COLOR4X)
591 #define VPC_ES11COLORMASK (VPG_ES11 + ES11_COLORMASK)
592 #define VPC_ES11COLORPOINTER (VPG_ES11 + ES11_COLORPOINTER)
593 #define VPC_ES11COMPRESSEDTEXIMAGE2D (VPG_ES11 + ES11_COMPRESSEDTEXIMAGE2D)
594 #define VPC_ES11COMPRESSEDTEXSUBIMAGE2D (VPG_ES11 + ES11_COMPRESSEDTEXSUBIMAGE2D)
595 #define VPC_ES11COPYTEXIMAGE2D (VPG_ES11 + ES11_COPYTEXIMAGE2D)
596 #define VPC_ES11COPYTEXSUBIMAGE2D (VPG_ES11 + ES11_COPYTEXSUBIMAGE2D)
597 #define VPC_ES11CULLFACE (VPG_ES11 + ES11_CULLFACE)
598 #define VPC_ES11DELETEBUFFERS (VPG_ES11 + ES11_DELETEBUFFERS)
599 #define VPC_ES11DELETETEXTURES (VPG_ES11 + ES11_DELETETEXTURES)
600 #define VPC_ES11DEPTHFUNC (VPG_ES11 + ES11_DEPTHFUNC)
601 #define VPC_ES11DEPTHMASK (VPG_ES11 + ES11_DEPTHMASK)
602 #define VPC_ES11DEPTHRANGEF (VPG_ES11 + ES11_DEPTHRANGEF)
603 #define VPC_ES11DEPTHRANGEX (VPG_ES11 + ES11_DEPTHRANGEX)
604 #define VPC_ES11DISABLE (VPG_ES11 + ES11_DISABLE)
605 #define VPC_ES11DISABLECLIENTSTATE (VPG_ES11 + ES11_DISABLECLIENTSTATE)
606 #define VPC_ES11DRAWARRAYS (VPG_ES11 + ES11_DRAWARRAYS)
607 #define VPC_ES11DRAWELEMENTS (VPG_ES11 + ES11_DRAWELEMENTS)
608 #define VPC_ES11ENABLE (VPG_ES11 + ES11_ENABLE)
609 #define VPC_ES11ENABLECLIENTSTATE (VPG_ES11 + ES11_ENABLECLIENTSTATE)
610 #define VPC_ES11FINISH (VPG_ES11 + ES11_FINISH)
611 #define VPC_ES11FLUSH (VPG_ES11 + ES11_FLUSH)
612 #define VPC_ES11FOGF (VPG_ES11 + ES11_FOGF)
613 #define VPC_ES11FOGFV (VPG_ES11 + ES11_FOGFV)
614 #define VPC_ES11FOGX (VPG_ES11 + ES11_FOGX)
615 #define VPC_ES11FOGXV (VPG_ES11 + ES11_FOGXV)
616 #define VPC_ES11FRONTFACE (VPG_ES11 + ES11_FRONTFACE)
617 #define VPC_ES11FRUSTUMF (VPG_ES11 + ES11_FRUSTUMF)
618 #define VPC_ES11FRUSTUMX (VPG_ES11 + ES11_FRUSTUMX)
619 #define VPC_ES11GENBUFFERS (VPG_ES11 + ES11_GENBUFFERS)
620 #define VPC_ES11GENTEXTURES (VPG_ES11 + ES11_GENTEXTURES)
621 #define VPC_ES11GETBOOLEANV (VPG_ES11 + ES11_GETBOOLEANV)
622 #define VPC_ES11GETBUFFERPARAMETERIV (VPG_ES11 + ES11_GETBUFFERPARAMETERIV)
623 #define VPC_ES11GETCLIPPLANEF (VPG_ES11 + ES11_GETCLIPPLANEF)
624 #define VPC_ES11GETCLIPPLANEX (VPG_ES11 + ES11_GETCLIPPLANEX)
625 #define VPC_ES11GETERROR (VPG_ES11 + ES11_GETERROR)
626 #define VPC_ES11GETFIXEDV (VPG_ES11 + ES11_GETFIXEDV)
627 #define VPC_ES11GETFLOATV (VPG_ES11 + ES11_GETFLOATV)
628 #define VPC_ES11GETINTEGERV (VPG_ES11 + ES11_GETINTEGERV)
629 #define VPC_ES11GETLIGHTFV (VPG_ES11 + ES11_GETLIGHTFV)
630 #define VPC_ES11GETLIGHTXV (VPG_ES11 + ES11_GETLIGHTXV)
631 #define VPC_ES11GETMATERIALFV (VPG_ES11 + ES11_GETMATERIALFV)
632 #define VPC_ES11GETMATERIALXV (VPG_ES11 + ES11_GETMATERIALXV)
633 #define VPC_ES11GETPOINTERV (VPG_ES11 + ES11_GETPOINTERV)
634 #define VPC_ES11GETSTRING (VPG_ES11 + ES11_GETSTRING)
635 #define VPC_ES11GETTEXENVFV (VPG_ES11 + ES11_GETTEXENVFV)
636 #define VPC_ES11GETTEXENVIV (VPG_ES11 + ES11_GETTEXENVIV)
637 #define VPC_ES11GETTEXENVXV (VPG_ES11 + ES11_GETTEXENVXV)
638 #define VPC_ES11GETTEXPARAMETERFV (VPG_ES11 + ES11_GETTEXPARAMETERFV)
639 #define VPC_ES11GETTEXPARAMETERIV (VPG_ES11 + ES11_GETTEXPARAMETERIV)
640 #define VPC_ES11GETTEXPARAMETERXV (VPG_ES11 + ES11_GETTEXPARAMETERXV)
641 #define VPC_ES11HINT (VPG_ES11 + ES11_HINT)
642 #define VPC_ES11ISBUFFER (VPG_ES11 + ES11_ISBUFFER)
643 #define VPC_ES11ISENABLED (VPG_ES11 + ES11_ISENABLED)
644 #define VPC_ES11ISTEXTURE (VPG_ES11 + ES11_ISTEXTURE)
645 #define VPC_ES11LIGHTF (VPG_ES11 + ES11_LIGHTF)
646 #define VPC_ES11LIGHTFV (VPG_ES11 + ES11_LIGHTFV)
647 #define VPC_ES11LIGHTMODELF (VPG_ES11 + ES11_LIGHTMODELF)
648 #define VPC_ES11LIGHTMODELFV (VPG_ES11 + ES11_LIGHTMODELFV)
649 #define VPC_ES11LIGHTMODELX (VPG_ES11 + ES11_LIGHTMODELX)
650 #define VPC_ES11LIGHTMODELXV (VPG_ES11 + ES11_LIGHTMODELXV)
651 #define VPC_ES11LIGHTX (VPG_ES11 + ES11_LIGHTX)
652 #define VPC_ES11LIGHTXV (VPG_ES11 + ES11_LIGHTXV)
653 #define VPC_ES11LINEWIDTH (VPG_ES11 + ES11_LINEWIDTH)
654 #define VPC_ES11LINEWIDTHX (VPG_ES11 + ES11_LINEWIDTHX)
655 #define VPC_ES11LOADIDENTITY (VPG_ES11 + ES11_LOADIDENTITY)
656 #define VPC_ES11LOADMATRIXF (VPG_ES11 + ES11_LOADMATRIXF)
657 #define VPC_ES11LOADMATRIXX (VPG_ES11 + ES11_LOADMATRIXX)
658 #define VPC_ES11LOGICOP (VPG_ES11 + ES11_LOGICOP)
659 #define VPC_ES11MATERIALF (VPG_ES11 + ES11_MATERIALF)
660 #define VPC_ES11MATERIALFV (VPG_ES11 + ES11_MATERIALFV)
661 #define VPC_ES11MATERIALX (VPG_ES11 + ES11_MATERIALX)
662 #define VPC_ES11MATERIALXV (VPG_ES11 + ES11_MATERIALXV)
663 #define VPC_ES11MATRIXMODE (VPG_ES11 + ES11_MATRIXMODE)
664 #define VPC_ES11MULTITEXCOORD4F (VPG_ES11 + ES11_MULTITEXCOORD4F)
665 #define VPC_ES11MULTITEXCOORD4X (VPG_ES11 + ES11_MULTITEXCOORD4X)
666 #define VPC_ES11MULTMATRIXF (VPG_ES11 + ES11_MULTMATRIXF)
667 #define VPC_ES11MULTMATRIXX (VPG_ES11 + ES11_MULTMATRIXX)
668 #define VPC_ES11NORMAL3F (VPG_ES11 + ES11_NORMAL3F)
669 #define VPC_ES11NORMAL3X (VPG_ES11 + ES11_NORMAL3X)
670 #define VPC_ES11NORMALPOINTER (VPG_ES11 + ES11_NORMALPOINTER)
671 #define VPC_ES11ORTHOF (VPG_ES11 + ES11_ORTHOF)
672 #define VPC_ES11ORTHOX (VPG_ES11 + ES11_ORTHOX)
673 #define VPC_ES11PIXELSTOREI (VPG_ES11 + ES11_PIXELSTOREI)
674 #define VPC_ES11POINTPARAMETERF (VPG_ES11 + ES11_POINTPARAMETERF)
675 #define VPC_ES11POINTPARAMETERFV (VPG_ES11 + ES11_POINTPARAMETERFV)
676 #define VPC_ES11POINTPARAMETERX (VPG_ES11 + ES11_POINTPARAMETERX)
677 #define VPC_ES11POINTPARAMETERXV (VPG_ES11 + ES11_POINTPARAMETERXV)
678 #define VPC_ES11POINTSIZE (VPG_ES11 + ES11_POINTSIZE)
679 #define VPC_ES11POINTSIZEX (VPG_ES11 + ES11_POINTSIZEX)
680 #define VPC_ES11POLYGONOFFSET (VPG_ES11 + ES11_POLYGONOFFSET)
681 #define VPC_ES11POLYGONOFFSETX (VPG_ES11 + ES11_POLYGONOFFSETX)
682 #define VPC_ES11POPMATRIX (VPG_ES11 + ES11_POPMATRIX)
683 #define VPC_ES11PUSHMATRIX (VPG_ES11 + ES11_PUSHMATRIX)
684 #define VPC_ES11READPIXELS (VPG_ES11 + ES11_READPIXELS)
685 #define VPC_ES11ROTATEF (VPG_ES11 + ES11_ROTATEF)
686 #define VPC_ES11ROTATEX (VPG_ES11 + ES11_ROTATEX)
687 #define VPC_ES11SAMPLECOVERAGE (VPG_ES11 + ES11_SAMPLECOVERAGE)
688 #define VPC_ES11SAMPLECOVERAGEX (VPG_ES11 + ES11_SAMPLECOVERAGEX)
689 #define VPC_ES11SCALEF (VPG_ES11 + ES11_SCALEF)
690 #define VPC_ES11SCALEX (VPG_ES11 + ES11_SCALEX)
691 #define VPC_ES11SCISSOR (VPG_ES11 + ES11_SCISSOR)
692 #define VPC_ES11SHADEMODEL (VPG_ES11 + ES11_SHADEMODEL)
693 #define VPC_ES11STENCILFUNC (VPG_ES11 + ES11_STENCILFUNC)
694 #define VPC_ES11STENCILMASK (VPG_ES11 + ES11_STENCILMASK)
695 #define VPC_ES11STENCILOP (VPG_ES11 + ES11_STENCILOP)
696 #define VPC_ES11TEXCOORDPOINTER (VPG_ES11 + ES11_TEXCOORDPOINTER)
697 #define VPC_ES11TEXENVF (VPG_ES11 + ES11_TEXENVF)
698 #define VPC_ES11TEXENVFV (VPG_ES11 + ES11_TEXENVFV)
699 #define VPC_ES11TEXENVI (VPG_ES11 + ES11_TEXENVI)
700 #define VPC_ES11TEXENVIV (VPG_ES11 + ES11_TEXENVIV)
701 #define VPC_ES11TEXENVX (VPG_ES11 + ES11_TEXENVX)
702 #define VPC_ES11TEXENVXV (VPG_ES11 + ES11_TEXENVXV)
703 #define VPC_ES11TEXIMAGE2D (VPG_ES11 + ES11_TEXIMAGE2D)
704 #define VPC_ES11TEXPARAMETERF (VPG_ES11 + ES11_TEXPARAMETERF)
705 #define VPC_ES11TEXPARAMETERFV (VPG_ES11 + ES11_TEXPARAMETERFV)
706 #define VPC_ES11TEXPARAMETERI (VPG_ES11 + ES11_TEXPARAMETERI)
707 #define VPC_ES11TEXPARAMETERIV (VPG_ES11 + ES11_TEXPARAMETERIV)
708 #define VPC_ES11TEXPARAMETERX (VPG_ES11 + ES11_TEXPARAMETERX)
709 #define VPC_ES11TEXPARAMETERXV (VPG_ES11 + ES11_TEXPARAMETERXV)
710 #define VPC_ES11TEXSUBIMAGE2D (VPG_ES11 + ES11_TEXSUBIMAGE2D)
711 #define VPC_ES11TRANSLATEF (VPG_ES11 + ES11_TRANSLATEF)
712 #define VPC_ES11TRANSLATEX (VPG_ES11 + ES11_TRANSLATEX)
713 #define VPC_ES11VERTEXPOINTER (VPG_ES11 + ES11_VERTEXPOINTER)
714 #define VPC_ES11VIEWPORT (VPG_ES11 + ES11_VIEWPORT)
715 /* OpenGL ES11 Statics Counter IDs. */
716 #define VPC_ES11CALLS (VPG_ES11 + ES11_CALLS)
717 #define VPC_ES11DRAWCALLS (VPG_ES11 + ES11_DRAWCALLS)
718 #define VPC_ES11STATECHANGECALLS (VPG_ES11 + ES11_STATECHANGECALLS)
719 #define VPC_ES11POINTCOUNT (VPG_ES11 + ES11_POINTCOUNT)
720 #define VPC_ES11LINECOUNT (VPG_ES11 + ES11_LINECOUNT)
721 #define VPC_ES11TRIANGLECOUNT (VPG_ES11 + ES11_TRIANGLECOUNT)
723 /* OpenGLES 2.x */
724 #define VPC_ES20ACTIVETEXTURE (VPG_ES20 + ES20_ACTIVETEXTURE)
725 #define VPC_ES20ATTACHSHADER (VPG_ES20 + ES20_ATTACHSHADER)
726 #define VPC_ES20BINDATTRIBLOCATION (VPG_ES20 + ES20_BINDATTRIBLOCATION)
727 #define VPC_ES20BINDBUFFER (VPG_ES20 + ES20_BINDBUFFER)
728 #define VPC_ES20BINDFRAMEBUFFER (VPG_ES20 + ES20_BINDFRAMEBUFFER)
729 #define VPC_ES20BINDRENDERBUFFER (VPG_ES20 + ES20_BINDRENDERBUFFER)
730 #define VPC_ES20BINDTEXTURE (VPG_ES20 + ES20_BINDTEXTURE)
731 #define VPC_ES20BLENDCOLOR (VPG_ES20 + ES20_BLENDCOLOR)
732 #define VPC_ES20BLENDEQUATION (VPG_ES20 + ES20_BLENDEQUATION)
733 #define VPC_ES20BLENDEQUATIONSEPARATE (VPG_ES20 + ES20_BLENDEQUATIONSEPARATE)
734 #define VPC_ES20BLENDFUNC (VPG_ES20 + ES20_BLENDFUNC)
735 #define VPC_ES20BLENDFUNCSEPARATE (VPG_ES20 + ES20_BLENDFUNCSEPARATE)
736 #define VPC_ES20BUFFERDATA (VPG_ES20 + ES20_BUFFERDATA)
737 #define VPC_ES20BUFFERSUBDATA (VPG_ES20 + ES20_BUFFERSUBDATA)
738 #define VPC_ES20CHECKFRAMEBUFFERSTATUS (VPG_ES20 + ES20_CHECKFRAMEBUFFERSTATUS)
739 #define VPC_ES20CLEAR (VPG_ES20 + ES20_CLEAR)
740 #define VPC_ES20CLEARCOLOR (VPG_ES20 + ES20_CLEARCOLOR)
741 #define VPC_ES20CLEARDEPTHF (VPG_ES20 + ES20_CLEARDEPTHF)
742 #define VPC_ES20CLEARSTENCIL (VPG_ES20 + ES20_CLEARSTENCIL)
743 #define VPC_ES20COLORMASK (VPG_ES20 + ES20_COLORMASK)
744 #define VPC_ES20COMPILESHADER (VPG_ES20 + ES20_COMPILESHADER)
745 #define VPC_ES20COMPRESSEDTEXIMAGE2D (VPG_ES20 + ES20_COMPRESSEDTEXIMAGE2D)
746 #define VPC_ES20COMPRESSEDTEXSUBIMAGE2D (VPG_ES20 + ES20_COMPRESSEDTEXSUBIMAGE2D)
747 #define VPC_ES20COPYTEXIMAGE2D (VPG_ES20 + ES20_COPYTEXIMAGE2D)
748 #define VPC_ES20COPYTEXSUBIMAGE2D (VPG_ES20 + ES20_COPYTEXSUBIMAGE2D)
749 #define VPC_ES20CREATEPROGRAM (VPG_ES20 + ES20_CREATEPROGRAM)
750 #define VPC_ES20CREATESHADER (VPG_ES20 + ES20_CREATESHADER)
751 #define VPC_ES20CULLFACE (VPG_ES20 + ES20_CULLFACE)
752 #define VPC_ES20DELETEBUFFERS (VPG_ES20 + ES20_DELETEBUFFERS)
753 #define VPC_ES20DELETEFRAMEBUFFERS (VPG_ES20 + ES20_DELETEFRAMEBUFFERS)
754 #define VPC_ES20DELETEPROGRAM (VPG_ES20 + ES20_DELETEPROGRAM)
755 #define VPC_ES20DELETERENDERBUFFERS (VPG_ES20 + ES20_DELETERENDERBUFFERS)
756 #define VPC_ES20DELETESHADER (VPG_ES20 + ES20_DELETESHADER)
757 #define VPC_ES20DELETETEXTURES (VPG_ES20 + ES20_DELETETEXTURES)
758 #define VPC_ES20DEPTHFUNC (VPG_ES20 + ES20_DEPTHFUNC)
759 #define VPC_ES20DEPTHMASK (VPG_ES20 + ES20_DEPTHMASK)
760 #define VPC_ES20DEPTHRANGEF (VPG_ES20 + ES20_DEPTHRANGEF)
761 #define VPC_ES20DETACHSHADER (VPG_ES20 + ES20_DETACHSHADER)
762 #define VPC_ES20DISABLE (VPG_ES20 + ES20_DISABLE)
763 #define VPC_ES20DISABLEVERTEXATTRIBARRAY (VPG_ES20 + ES20_DISABLEVERTEXATTRIBARRAY)
764 #define VPC_ES20DRAWARRAYS (VPG_ES20 + ES20_DRAWARRAYS)
765 #define VPC_ES20DRAWELEMENTS (VPG_ES20 + ES20_DRAWELEMENTS)
766 #define VPC_ES20ENABLE (VPG_ES20 + ES20_ENABLE)
767 #define VPC_ES20ENABLEVERTEXATTRIBARRAY (VPG_ES20 + ES20_ENABLEVERTEXATTRIBARRAY)
768 #define VPC_ES20FINISH (VPG_ES20 + ES20_FINISH)
769 #define VPC_ES20FLUSH (VPG_ES20 + ES20_FLUSH)
770 #define VPC_ES20FRAMEBUFFERRENDERBUFFER (VPG_ES20 + ES20_FRAMEBUFFERRENDERBUFFER)
771 #define VPC_ES20FRAMEBUFFERTEXTURE2D (VPG_ES20 + ES20_FRAMEBUFFERTEXTURE2D)
772 #define VPC_ES20FRONTFACE (VPG_ES20 + ES20_FRONTFACE)
773 #define VPC_ES20GENBUFFERS (VPG_ES20 + ES20_GENBUFFERS)
774 #define VPC_ES20GENERATEMIPMAP (VPG_ES20 + ES20_GENERATEMIPMAP)
775 #define VPC_ES20GENFRAMEBUFFERS (VPG_ES20 + ES20_GENFRAMEBUFFERS)
776 #define VPC_ES20GENRENDERBUFFERS (VPG_ES20 + ES20_GENRENDERBUFFERS)
777 #define VPC_ES20GENTEXTURES (VPG_ES20 + ES20_GENTEXTURES)
778 #define VPC_ES20GETACTIVEATTRIB (VPG_ES20 + ES20_GETACTIVEATTRIB)
779 #define VPC_ES20GETACTIVEUNIFORM (VPG_ES20 + ES20_GETACTIVEUNIFORM)
780 #define VPC_ES20GETATTACHEDSHADERS (VPG_ES20 + ES20_GETATTACHEDSHADERS)
781 #define VPC_ES20GETATTRIBLOCATION (VPG_ES20 + ES20_GETATTRIBLOCATION)
782 #define VPC_ES20GETBOOLEANV (VPG_ES20 + ES20_GETBOOLEANV)
783 #define VPC_ES20GETBUFFERPARAMETERIV (VPG_ES20 + ES20_GETBUFFERPARAMETERIV)
784 #define VPC_ES20GETERROR (VPG_ES20 + ES20_GETERROR)
785 #define VPC_ES20GETFLOATV (VPG_ES20 + ES20_GETFLOATV)
786 #define VPC_ES20GETFRAMEBUFFERATTACHMENTPARAMETERIV (VPG_ES20 + ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV)
787 #define VPC_ES20GETINTEGERV (VPG_ES20 + ES20_GETINTEGERV)
788 #define VPC_ES20GETPROGRAMIV (VPG_ES20 + ES20_GETPROGRAMIV)
789 #define VPC_ES20GETPROGRAMINFOLOG (VPG_ES20 + ES20_GETPROGRAMINFOLOG)
790 #define VPC_ES20GETRENDERBUFFERPARAMETERIV (VPG_ES20 + ES20_GETRENDERBUFFERPARAMETERIV)
791 #define VPC_ES20GETSHADERIV (VPG_ES20 + ES20_GETSHADERIV)
792 #define VPC_ES20GETSHADERINFOLOG (VPG_ES20 + ES20_GETSHADERINFOLOG)
793 #define VPC_ES20GETSHADERPRECISIONFORMAT (VPG_ES20 + ES20_GETSHADERPRECISIONFORMAT)
794 #define VPC_ES20GETSHADERSOURCE (VPG_ES20 + ES20_GETSHADERSOURCE)
795 #define VPC_ES20GETSTRING (VPG_ES20 + ES20_GETSTRING)
796 #define VPC_ES20GETTEXPARAMETERFV (VPG_ES20 + ES20_GETTEXPARAMETERFV)
797 #define VPC_ES20GETTEXPARAMETERIV (VPG_ES20 + ES20_GETTEXPARAMETERIV)
798 #define VPC_ES20GETUNIFORMFV (VPG_ES20 + ES20_GETUNIFORMFV)
799 #define VPC_ES20GETUNIFORMIV (VPG_ES20 + ES20_GETUNIFORMIV)
800 #define VPC_ES20GETUNIFORMLOCATION (VPG_ES20 + ES20_GETUNIFORMLOCATION)
801 #define VPC_ES20GETVERTEXATTRIBFV (VPG_ES20 + ES20_GETVERTEXATTRIBFV)
802 #define VPC_ES20GETVERTEXATTRIBIV (VPG_ES20 + ES20_GETVERTEXATTRIBIV)
803 #define VPC_ES20GETVERTEXATTRIBPOINTERV (VPG_ES20 + ES20_GETVERTEXATTRIBPOINTERV)
804 #define VPC_ES20HINT (VPG_ES20 + ES20_HINT)
805 #define VPC_ES20ISBUFFER (VPG_ES20 + ES20_ISBUFFER)
806 #define VPC_ES20ISENABLED (VPG_ES20 + ES20_ISENABLED)
807 #define VPC_ES20ISFRAMEBUFFER (VPG_ES20 + ES20_ISFRAMEBUFFER)
808 #define VPC_ES20ISPROGRAM (VPG_ES20 + ES20_ISPROGRAM)
809 #define VPC_ES20ISRENDERBUFFER (VPG_ES20 + ES20_ISRENDERBUFFER)
810 #define VPC_ES20ISSHADER (VPG_ES20 + ES20_ISSHADER)
811 #define VPC_ES20ISTEXTURE (VPG_ES20 + ES20_ISTEXTURE)
812 #define VPC_ES20LINEWIDTH (VPG_ES20 + ES20_LINEWIDTH)
813 #define VPC_ES20LINKPROGRAM (VPG_ES20 + ES20_LINKPROGRAM)
814 #define VPC_ES20PIXELSTOREI (VPG_ES20 + ES20_PIXELSTOREI)
815 #define VPC_ES20POLYGONOFFSET (VPG_ES20 + ES20_POLYGONOFFSET)
816 #define VPC_ES20READPIXELS (VPG_ES20 + ES20_READPIXELS)
817 #define VPC_ES20RELEASESHADERCOMPILER (VPG_ES20 + ES20_RELEASESHADERCOMPILER)
818 #define VPC_ES20RENDERBUFFERSTORAGE (VPG_ES20 + ES20_RENDERBUFFERSTORAGE)
819 #define VPC_ES20SAMPLECOVERAGE (VPG_ES20 + ES20_SAMPLECOVERAGE)
820 #define VPC_ES20SCISSOR (VPG_ES20 + ES20_SCISSOR)
821 #define VPC_ES20SHADERBINARY (VPG_ES20 + ES20_SHADERBINARY)
822 #define VPC_ES20SHADERSOURCE (VPG_ES20 + ES20_SHADERSOURCE)
823 #define VPC_ES20STENCILFUNC (VPG_ES20 + ES20_STENCILFUNC)
824 #define VPC_ES20STENCILFUNCSEPARATE (VPG_ES20 + ES20_STENCILFUNCSEPARATE)
825 #define VPC_ES20STENCILMASK (VPG_ES20 + ES20_STENCILMASK)
826 #define VPC_ES20STENCILMASKSEPARATE (VPG_ES20 + ES20_STENCILMASKSEPARATE)
827 #define VPC_ES20STENCILOP (VPG_ES20 + ES20_STENCILOP)
828 #define VPC_ES20STENCILOPSEPARATE (VPG_ES20 + ES20_STENCILOPSEPARATE)
829 #define VPC_ES20TEXIMAGE2D (VPG_ES20 + ES20_TEXIMAGE2D)
830 #define VPC_ES20TEXPARAMETERF (VPG_ES20 + ES20_TEXPARAMETERF)
831 #define VPC_ES20TEXPARAMETERFV (VPG_ES20 + ES20_TEXPARAMETERFV)
832 #define VPC_ES20TEXPARAMETERI (VPG_ES20 + ES20_TEXPARAMETERI)
833 #define VPC_ES20TEXPARAMETERIV (VPG_ES20 + ES20_TEXPARAMETERIV)
834 #define VPC_ES20TEXSUBIMAGE2D (VPG_ES20 + ES20_TEXSUBIMAGE2D)
835 #define VPC_ES20UNIFORM1F (VPG_ES20 + ES20_UNIFORM1F)
836 #define VPC_ES20UNIFORM1FV (VPG_ES20 + ES20_UNIFORM1FV)
837 #define VPC_ES20UNIFORM1I (VPG_ES20 + ES20_UNIFORM1I)
838 #define VPC_ES20UNIFORM1IV (VPG_ES20 + ES20_UNIFORM1IV)
839 #define VPC_ES20UNIFORM2F (VPG_ES20 + ES20_UNIFORM2F)
840 #define VPC_ES20UNIFORM2FV (VPG_ES20 + ES20_UNIFORM2FV)
841 #define VPC_ES20UNIFORM2I (VPG_ES20 + ES20_UNIFORM2I)
842 #define VPC_ES20UNIFORM2IV (VPG_ES20 + ES20_UNIFORM2IV)
843 #define VPC_ES20UNIFORM3F (VPG_ES20 + ES20_UNIFORM3F)
844 #define VPC_ES20UNIFORM3FV (VPG_ES20 + ES20_UNIFORM3FV)
845 #define VPC_ES20UNIFORM3I (VPG_ES20 + ES20_UNIFORM3I)
846 #define VPC_ES20UNIFORM3IV (VPG_ES20 + ES20_UNIFORM3IV)
847 #define VPC_ES20UNIFORM4F (VPG_ES20 + ES20_UNIFORM4F)
848 #define VPC_ES20UNIFORM4FV (VPG_ES20 + ES20_UNIFORM4FV)
849 #define VPC_ES20UNIFORM4I (VPG_ES20 + ES20_UNIFORM4I)
850 #define VPC_ES20UNIFORM4IV (VPG_ES20 + ES20_UNIFORM4IV)
851 #define VPC_ES20UNIFORMMATRIX2FV (VPG_ES20 + ES20_UNIFORMMATRIX2FV)
852 #define VPC_ES20UNIFORMMATRIX3FV (VPG_ES20 + ES20_UNIFORMMATRIX3FV)
853 #define VPC_ES20UNIFORMMATRIX4FV (VPG_ES20 + ES20_UNIFORMMATRIX4FV)
854 #define VPC_ES20USEPROGRAM (VPG_ES20 + ES20_USEPROGRAM)
855 #define VPC_ES20VALIDATEPROGRAM (VPG_ES20 + ES20_VALIDATEPROGRAM)
856 #define VPC_ES20VERTEXATTRIB1F (VPG_ES20 + ES20_VERTEXATTRIB1F)
857 #define VPC_ES20VERTEXATTRIB1FV (VPG_ES20 + ES20_VERTEXATTRIB1FV)
858 #define VPC_ES20VERTEXATTRIB2F (VPG_ES20 + ES20_VERTEXATTRIB2F)
859 #define VPC_ES20VERTEXATTRIB2FV (VPG_ES20 + ES20_VERTEXATTRIB2FV)
860 #define VPC_ES20VERTEXATTRIB3F (VPG_ES20 + ES20_VERTEXATTRIB3F)
861 #define VPC_ES20VERTEXATTRIB3FV (VPG_ES20 + ES20_VERTEXATTRIB3FV)
862 #define VPC_ES20VERTEXATTRIB4F (VPG_ES20 + ES20_VERTEXATTRIB4F)
863 #define VPC_ES20VERTEXATTRIB4FV (VPG_ES20 + ES20_VERTEXATTRIB4FV)
864 #define VPC_ES20VERTEXATTRIBPOINTER (VPG_ES20 + ES20_VERTEXATTRIBPOINTER)
865 #define VPC_ES20VIEWPORT (VPG_ES20 + ES20_VIEWPORT)
866 /* OpenGL ES20 Statistics Counter IDs. */
867 #define VPC_ES20CALLS (VPG_ES20 + ES20_CALLS)
868 #define VPC_ES20DRAWCALLS (VPG_ES20 + ES20_DRAWCALLS)
869 #define VPC_ES20STATECHANGECALLS (VPG_ES20 + ES20_STATECHANGECALLS)
870 #define VPC_ES20POINTCOUNT (VPG_ES20 + ES20_POINTCOUNT)
871 #define VPC_ES20LINECOUNT (VPG_ES20 + ES20_LINECOUNT)
872 #define VPC_ES20TRIANGLECOUNT (VPG_ES20 + ES20_TRIANGLECOUNT)
874 /* VG11 Counters. */
875 #define VPC_VG11APPENDPATH (VPG_VG11 + VG11_APPENDPATH)
876 #define VPC_VG11APPENDPATHDATA (VPG_VG11 + VG11_APPENDPATHDATA)
877 #define VPC_VG11CHILDIMAGE (VPG_VG11 + VG11_CHILDIMAGE)
878 #define VPC_VG11CLEAR (VPG_VG11 + VG11_CLEAR)
879 #define VPC_VG11CLEARGLYPH (VPG_VG11 + VG11_CLEARGLYPH)
880 #define VPC_VG11CLEARIMAGE (VPG_VG11 + VG11_CLEARIMAGE)
881 #define VPC_VG11CLEARPATH (VPG_VG11 + VG11_CLEARPATH)
882 #define VPC_VG11COLORMATRIX (VPG_VG11 + VG11_COLORMATRIX)
883 #define VPC_VG11CONVOLVE (VPG_VG11 + VG11_CONVOLVE)
884 #define VPC_VG11COPYIMAGE (VPG_VG11 + VG11_COPYIMAGE)
885 #define VPC_VG11COPYMASK (VPG_VG11 + VG11_COPYMASK)
886 #define VPC_VG11COPYPIXELS (VPG_VG11 + VG11_COPYPIXELS)
887 #define VPC_VG11CREATEFONT (VPG_VG11 + VG11_CREATEFONT)
888 #define VPC_VG11CREATEIMAGE (VPG_VG11 + VG11_CREATEIMAGE)
889 #define VPC_VG11CREATEMASKLAYER (VPG_VG11 + VG11_CREATEMASKLAYER)
890 #define VPC_VG11CREATEPAINT (VPG_VG11 + VG11_CREATEPAINT)
891 #define VPC_VG11CREATEPATH (VPG_VG11 + VG11_CREATEPATH)
892 #define VPC_VG11DESTROYFONT (VPG_VG11 + VG11_DESTROYFONT)
893 #define VPC_VG11DESTROYIMAGE (VPG_VG11 + VG11_DESTROYIMAGE)
894 #define VPC_VG11DESTROYMASKLAYER (VPG_VG11 + VG11_DESTROYMASKLAYER)
895 #define VPC_VG11DESTROYPAINT (VPG_VG11 + VG11_DESTROYPAINT)
896 #define VPC_VG11DESTROYPATH (VPG_VG11 + VG11_DESTROYPATH)
897 #define VPC_VG11DRAWGLYPH (VPG_VG11 + VG11_DRAWGLYPH)
898 #define VPC_VG11DRAWGLYPHS (VPG_VG11 + VG11_DRAWGLYPHS)
899 #define VPC_VG11DRAWIMAGE (VPG_VG11 + VG11_DRAWIMAGE)
900 #define VPC_VG11DRAWPATH (VPG_VG11 + VG11_DRAWPATH)
901 #define VPC_VG11FILLMASKLAYER (VPG_VG11 + VG11_FILLMASKLAYER)
902 #define VPC_VG11FINISH (VPG_VG11 + VG11_FINISH)
903 #define VPC_VG11FLUSH (VPG_VG11 + VG11_FLUSH)
904 #define VPC_VG11GAUSSIANBLUR (VPG_VG11 + VG11_GAUSSIANBLUR)
905 #define VPC_VG11GETCOLOR (VPG_VG11 + VG11_GETCOLOR)
906 #define VPC_VG11GETERROR (VPG_VG11 + VG11_GETERROR)
907 #define VPC_VG11GETF (VPG_VG11 + VG11_GETF)
908 #define VPC_VG11GETFV (VPG_VG11 + VG11_GETFV)
909 #define VPC_VG11GETI (VPG_VG11 + VG11_GETI)
910 #define VPC_VG11GETIMAGESUBDATA (VPG_VG11 + VG11_GETIMAGESUBDATA)
911 #define VPC_VG11GETIV (VPG_VG11 + VG11_GETIV)
912 #define VPC_VG11GETMATRIX (VPG_VG11 + VG11_GETMATRIX)
913 #define VPC_VG11GETPAINT (VPG_VG11 + VG11_GETPAINT)
914 #define VPC_VG11GETPARAMETERF (VPG_VG11 + VG11_GETPARAMETERF)
915 #define VPC_VG11GETPARAMETERFV (VPG_VG11 + VG11_GETPARAMETERFV)
916 #define VPC_VG11GETPARAMETERI (VPG_VG11 + VG11_GETPARAMETERI)
917 #define VPC_VG11GETPARAMETERIV (VPG_VG11 + VG11_GETPARAMETERIV)
918 #define VPC_VG11GETPARAMETERVECTORSIZE (VPG_VG11 + VG11_GETPARAMETERVECTORSIZE)
919 #define VPC_VG11GETPARENT (VPG_VG11 + VG11_GETPARENT)
920 #define VPC_VG11GETPATHCAPABILITIES (VPG_VG11 + VG11_GETPATHCAPABILITIES)
921 #define VPC_VG11GETPIXELS (VPG_VG11 + VG11_GETPIXELS)
922 #define VPC_VG11GETSTRING (VPG_VG11 + VG11_GETSTRING)
923 #define VPC_VG11GETVECTORSIZE (VPG_VG11 + VG11_GETVECTORSIZE)
924 #define VPC_VG11HARDWAREQUERY (VPG_VG11 + VG11_HARDWAREQUERY)
925 #define VPC_VG11IMAGESUBDATA (VPG_VG11 + VG11_IMAGESUBDATA)
926 #define VPC_VG11INTERPOLATEPATH (VPG_VG11 + VG11_INTERPOLATEPATH)
927 #define VPC_VG11LOADIDENTITY (VPG_VG11 + VG11_LOADIDENTITY)
928 #define VPC_VG11LOADMATRIX (VPG_VG11 + VG11_LOADMATRIX)
929 #define VPC_VG11LOOKUP (VPG_VG11 + VG11_LOOKUP)
930 #define VPC_VG11LOOKUPSINGLE (VPG_VG11 + VG11_LOOKUPSINGLE)
931 #define VPC_VG11MASK (VPG_VG11 + VG11_MASK)
932 #define VPC_VG11MODIFYPATHCOORDS (VPG_VG11 + VG11_MODIFYPATHCOORDS)
933 #define VPC_VG11MULTMATRIX (VPG_VG11 + VG11_MULTMATRIX)
934 #define VPC_VG11PAINTPATTERN (VPG_VG11 + VG11_PAINTPATTERN)
935 #define VPC_VG11PATHBOUNDS (VPG_VG11 + VG11_PATHBOUNDS)
936 #define VPC_VG11PATHLENGTH (VPG_VG11 + VG11_PATHLENGTH)
937 #define VPC_VG11PATHTRANSFORMEDBOUNDS (VPG_VG11 + VG11_PATHTRANSFORMEDBOUNDS)
938 #define VPC_VG11POINTALONGPATH (VPG_VG11 + VG11_POINTALONGPATH)
939 #define VPC_VG11READPIXELS (VPG_VG11 + VG11_READPIXELS)
940 #define VPC_VG11REMOVEPATHCAPABILITIES (VPG_VG11 + VG11_REMOVEPATHCAPABILITIES)
941 #define VPC_VG11RENDERTOMASK (VPG_VG11 + VG11_RENDERTOMASK)
942 #define VPC_VG11ROTATE (VPG_VG11 + VG11_ROTATE)
943 #define VPC_VG11SCALE (VPG_VG11 + VG11_SCALE)
944 #define VPC_VG11SEPARABLECONVOLVE (VPG_VG11 + VG11_SEPARABLECONVOLVE)
945 #define VPC_VG11SETCOLOR (VPG_VG11 + VG11_SETCOLOR)
946 #define VPC_VG11SETF (VPG_VG11 + VG11_SETF)
947 #define VPC_VG11SETFV (VPG_VG11 + VG11_SETFV)
948 #define VPC_VG11SETGLYPHTOIMAGE (VPG_VG11 + VG11_SETGLYPHTOIMAGE)
949 #define VPC_VG11SETGLYPHTOPATH (VPG_VG11 + VG11_SETGLYPHTOPATH)
950 #define VPC_VG11SETI (VPG_VG11 + VG11_SETI)
951 #define VPC_VG11SETIV (VPG_VG11 + VG11_SETIV)
952 #define VPC_VG11SETPAINT (VPG_VG11 + VG11_SETPAINT)
953 #define VPC_VG11SETPARAMETERF (VPG_VG11 + VG11_SETPARAMETERF)
954 #define VPC_VG11SETPARAMETERFV (VPG_VG11 + VG11_SETPARAMETERFV)
955 #define VPC_VG11SETPARAMETERI (VPG_VG11 + VG11_SETPARAMETERI)
956 #define VPC_VG11SETPARAMETERIV (VPG_VG11 + VG11_SETPARAMETERIV)
957 #define VPC_VG11SETPIXELS (VPG_VG11 + VG11_SETPIXELS)
958 #define VPC_VG11SHEAR (VPG_VG11 + VG11_SHEAR)
959 #define VPC_VG11TRANSFORMPATH (VPG_VG11 + VG11_TRANSFORMPATH)
960 #define VPC_VG11TRANSLATE (VPG_VG11 + VG11_TRANSLATE)
961 #define VPC_VG11WRITEPIXELS (VPG_VG11 + VG11_WRITEPIXELS)
962 /* OpenVG Statistics Counter IDs. */
963 #define VPC_VG11CALLS (VPG_VG11 + VG11_CALLS)
964 #define VPC_VG11DRAWCALLS (VPG_VG11 + VG11_DRAWCALLS)
965 #define VPC_VG11STATECHANGECALLS (VPG_VG11 + VG11_STATECHANGECALLS)
966 #define VPC_VG11FILLCOUNT (VPG_VG11 + VG11_FILLCOUNT)
967 #define VPC_VG11STROKECOUNT (VPG_VG11 + VG11_STROKECOUNT)
969 /* HAL Counters. */
970 #define VPC_HALVERTBUFNEWBYTEALLOC (VPG_HAL + HAL_VERTBUFNEWBYTEALLOC)
971 #define VPC_HALVERTBUFTOTALBYTEALLOC (VPG_HAL + HAL_VERTBUFTOTALBYTEALLOC)
972 #define VPC_HALVERTBUFNEWOBJALLOC (VPG_HAL + HAL_VERTBUFNEWOBJALLOC)
973 #define VPC_HALVERTBUFTOTALOBJALLOC (VPG_HAL + HAL_VERTBUFTOTALOBJALLOC)
974 #define VPC_HALINDBUFNEWBYTEALLOC (VPG_HAL + HAL_INDBUFNEWBYTEALLOC)
975 #define VPC_HALINDBUFTOTALBYTEALLOC (VPG_HAL + HAL_INDBUFTOTALBYTEALLOC)
976 #define VPC_HALINDBUFNEWOBJALLOC (VPG_HAL + HAL_INDBUFNEWOBJALLOC)
977 #define VPC_HALINDBUFTOTALOBJALLOC (VPG_HAL + HAL_INDBUFTOTALOBJALLOC)
978 #define VPC_HALTEXBUFNEWBYTEALLOC (VPG_HAL + HAL_TEXBUFNEWBYTEALLOC)
979 #define VPC_HALTEXBUFTOTALBYTEALLOC (VPG_HAL + HAL_TEXBUFTOTALBYTEALLOC)
980 #define VPC_HALTEXBUFNEWOBJALLOC (VPG_HAL + HAL_TEXBUFNEWOBJALLOC)
981 #define VPC_HALTEXBUFTOTALOBJALLOC (VPG_HAL + HAL_TEXBUFTOTALOBJALLOC)
983 /* HW: GPU Counters. */
984 #define VPC_GPUCYCLES (VPG_GPU + GPU_CYCLES)
985 #define VPC_GPUREAD64BYTE (VPG_GPU + GPU_READ64BYTE)
986 #define VPC_GPUWRITE64BYTE (VPG_GPU + GPU_WRITE64BYTE)
988 /* HW: Shader Counters. */
989 #define VPC_VSINSTCOUNT (VPG_VS + VS_INSTCOUNT)
990 #define VPC_VSBRANCHINSTCOUNT (VPG_VS + VS_BRANCHINSTCOUNT)
991 #define VPC_VSTEXLDINSTCOUNT (VPG_VS + VS_TEXLDINSTCOUNT)
992 #define VPC_VSRENDEREDVERTCOUNT (VPG_VS + VS_RENDEREDVERTCOUNT)
993 /* HW: PS Count. */
994 #define VPC_PSINSTCOUNT (VPG_PS + PS_INSTCOUNT)
995 #define VPC_PSBRANCHINSTCOUNT (VPG_PS + PS_BRANCHINSTCOUNT)
996 #define VPC_PSTEXLDINSTCOUNT (VPG_PS + PS_TEXLDINSTCOUNT)
997 #define VPC_PSRENDEREDPIXCOUNT (VPG_PS + PS_RENDEREDPIXCOUNT)
1000 /* HW: PA Counters. */
1001 #define VPC_PAINVERTCOUNT (VPG_PA + PA_INVERTCOUNT)
1002 #define VPC_PAINPRIMCOUNT (VPG_PA + PA_INPRIMCOUNT)
1003 #define VPC_PAOUTPRIMCOUNT (VPG_PA + PA_OUTPRIMCOUNT)
1004 #define VPC_PADEPTHCLIPCOUNT (VPG_PA + PA_DEPTHCLIPCOUNT)
1005 #define VPC_PATRIVIALREJCOUNT (VPG_PA + PA_TRIVIALREJCOUNT)
1006 #define VPC_PACULLCOUNT (VPG_PA + PA_CULLCOUNT)
1008 /* HW: Setup Counters. */
1009 #define VPC_SETRIANGLECOUNT (VPG_SETUP + SE_TRIANGLECOUNT)
1010 #define VPC_SELINECOUNT (VPG_SETUP + SE_LINECOUNT)
1012 /* HW: RA Counters. */
1013 #define VPC_RAVALIDPIXCOUNT (VPG_RA + RA_VALIDPIXCOUNT)
1014 #define VPC_RATOTALQUADCOUNT (VPG_RA + RA_TOTALQUADCOUNT)
1015 #define VPC_RAVALIDQUADCOUNTEZ (VPG_RA + RA_VALIDQUADCOUNTEZ)
1016 #define VPC_RATOTALPRIMCOUNT (VPG_RA + RA_TOTALPRIMCOUNT)
1017 #define VPC_RAPIPECACHEMISSCOUNT (VPG_RA + RA_PIPECACHEMISSCOUNT)
1018 #define VPC_RAPREFCACHEMISSCOUNT (VPG_RA + RA_PREFCACHEMISSCOUNT)
1019 #define VPC_RAEEZCULLCOUNT (VPG_RA + RA_EEZCULLCOUNT)
1021 /* HW: TEX Counters. */
1022 #define VPC_TXTOTBILINEARREQ (VPG_TX + TX_TOTBILINEARREQ)
1023 #define VPC_TXTOTTRILINEARREQ (VPG_TX + TX_TOTTRILINEARREQ)
1024 #define VPC_TXTOTDISCARDTEXREQ (VPG_TX + TX_TOTDISCARDTEXREQ)
1025 #define VPC_TXTOTTEXREQ (VPG_TX + TX_TOTTEXREQ)
1026 #define VPC_TXMEMREADCOUNT (VPG_TX + TX_MEMREADCOUNT)
1027 #define VPC_TXMEMREADIN8BCOUNT (VPG_TX + TX_MEMREADIN8BCOUNT)
1028 #define VPC_TXCACHEMISSCOUNT (VPG_TX + TX_CACHEMISSCOUNT)
1029 #define VPC_TXCACHEHITTEXELCOUNT (VPG_TX + TX_CACHEHITTEXELCOUNT)
1030 #define VPC_TXCACHEMISSTEXELCOUNT (VPG_TX + TX_CACHEMISSTEXELCOUNT)
1032 /* HW: PE Counters. */
1033 #define VPC_PEKILLEDBYCOLOR (VPG_PE + PE_KILLEDBYCOLOR)
1034 #define VPC_PEKILLEDBYDEPTH (VPG_PE + PE_KILLEDBYDEPTH)
1035 #define VPC_PEDRAWNBYCOLOR (VPG_PE + PE_DRAWNBYCOLOR)
1036 #define VPC_PEDRAWNBYDEPTH (VPG_PE + PE_DRAWNBYDEPTH)
1038 /* HW: MC Counters. */
1039 #define VPC_MCREADREQ8BPIPE (VPG_MC + MC_READREQ8BPIPE)
1040 #define VPC_MCREADREQ8BIP (VPG_MC + MC_READREQ8BIP)
1041 #define VPC_MCWRITEREQ8BPIPE (VPG_MC + MC_WRITEREQ8BPIPE)
1043 /* HW: AXI Counters. */
1044 #define VPC_AXIREADREQSTALLED (VPG_AXI + AXI_READREQSTALLED)
1045 #define VPC_AXIWRITEREQSTALLED (VPG_AXI + AXI_WRITEREQSTALLED)
1046 #define VPC_AXIWRITEDATASTALLED (VPG_AXI + AXI_WRITEDATASTALLED)
1048 /* PROGRAM: Shader program counters. */
1049 #define VPC_PVSINSTRCOUNT (VPG_PVS + PVS_INSTRCOUNT)
1050 #define VPC_PVSALUINSTRCOUNT (VPG_PVS + PVS_ALUINSTRCOUNT)
1051 #define VPC_PVSTEXINSTRCOUNT (VPG_PVS + PVS_TEXINSTRCOUNT)
1052 #define VPC_PVSATTRIBCOUNT (VPG_PVS + PVS_ATTRIBCOUNT)
1053 #define VPC_PVSUNIFORMCOUNT (VPG_PVS + PVS_UNIFORMCOUNT)
1054 #define VPC_PVSFUNCTIONCOUNT (VPG_PVS + PVS_FUNCTIONCOUNT)
1056 #define VPC_PPSINSTRCOUNT (VPG_PPS + PPS_INSTRCOUNT)
1057 #define VPC_PPSALUINSTRCOUNT (VPG_PPS + PPS_ALUINSTRCOUNT)
1058 #define VPC_PPSTEXINSTRCOUNT (VPG_PPS + PPS_TEXINSTRCOUNT)
1059 #define VPC_PPSATTRIBCOUNT (VPG_PPS + PPS_ATTRIBCOUNT)
1060 #define VPC_PPSUNIFORMCOUNT (VPG_PPS + PPS_UNIFORMCOUNT)
1061 #define VPC_PPSFUNCTIONCOUNT (VPG_PPS + PPS_FUNCTIONCOUNT)
1063 #endif
1066 /* HW profile information. */
1067 typedef struct _gcsPROFILER_COUNTERS
1069 /* HW static counters. */
1070 gctUINT32 gpuClock;
1071 gctUINT32 axiClock;
1072 gctUINT32 shaderClock;
1074 /* HW vairable counters. */
1075 gctUINT32 gpuClockStart;
1076 gctUINT32 gpuClockEnd;
1078 /* HW vairable counters. */
1079 gctUINT32 gpuCyclesCounter;
1080 gctUINT32 gpuTotalRead64BytesPerFrame;
1081 gctUINT32 gpuTotalWrite64BytesPerFrame;
1083 /* PE */
1084 gctUINT32 pe_pixel_count_killed_by_color_pipe;
1085 gctUINT32 pe_pixel_count_killed_by_depth_pipe;
1086 gctUINT32 pe_pixel_count_drawn_by_color_pipe;
1087 gctUINT32 pe_pixel_count_drawn_by_depth_pipe;
1089 /* SH */
1090 gctUINT32 ps_inst_counter;
1091 gctUINT32 rendered_pixel_counter;
1092 gctUINT32 vs_inst_counter;
1093 gctUINT32 rendered_vertice_counter;
1094 gctUINT32 vtx_branch_inst_counter;
1095 gctUINT32 vtx_texld_inst_counter;
1096 gctUINT32 pxl_branch_inst_counter;
1097 gctUINT32 pxl_texld_inst_counter;
1099 /* PA */
1100 gctUINT32 pa_input_vtx_counter;
1101 gctUINT32 pa_input_prim_counter;
1102 gctUINT32 pa_output_prim_counter;
1103 gctUINT32 pa_depth_clipped_counter;
1104 gctUINT32 pa_trivial_rejected_counter;
1105 gctUINT32 pa_culled_counter;
1107 /* SE */
1108 gctUINT32 se_culled_triangle_count;
1109 gctUINT32 se_culled_lines_count;
1111 /* RA */
1112 gctUINT32 ra_valid_pixel_count;
1113 gctUINT32 ra_total_quad_count;
1114 gctUINT32 ra_valid_quad_count_after_early_z;
1115 gctUINT32 ra_total_primitive_count;
1116 gctUINT32 ra_pipe_cache_miss_counter;
1117 gctUINT32 ra_prefetch_cache_miss_counter;
1118 gctUINT32 ra_eez_culled_counter;
1120 /* TX */
1121 gctUINT32 tx_total_bilinear_requests;
1122 gctUINT32 tx_total_trilinear_requests;
1123 gctUINT32 tx_total_discarded_texture_requests;
1124 gctUINT32 tx_total_texture_requests;
1125 gctUINT32 tx_mem_read_count;
1126 gctUINT32 tx_mem_read_in_8B_count;
1127 gctUINT32 tx_cache_miss_count;
1128 gctUINT32 tx_cache_hit_texel_count;
1129 gctUINT32 tx_cache_miss_texel_count;
1131 /* MC */
1132 gctUINT32 mc_total_read_req_8B_from_pipeline;
1133 gctUINT32 mc_total_read_req_8B_from_IP;
1134 gctUINT32 mc_total_write_req_8B_from_pipeline;
1136 /* HI */
1137 gctUINT32 hi_axi_cycles_read_request_stalled;
1138 gctUINT32 hi_axi_cycles_write_request_stalled;
1139 gctUINT32 hi_axi_cycles_write_data_stalled;
1141 gcsPROFILER_COUNTERS;
1143 /* HAL profile information. */
1144 typedef struct _gcsPROFILER
1146 gctUINT32 enable;
1147 gctBOOL enableHal;
1148 gctBOOL enableHW;
1149 gctBOOL enableSH;
1151 gctBOOL useSocket;
1152 gctINT sockFd;
1154 gctFILE file;
1156 /* Aggregate Information */
1158 /* Clock Info */
1159 gctUINT64 frameStart;
1160 gctUINT64 frameEnd;
1162 /* Current frame information */
1163 gctUINT32 frameNumber;
1164 gctUINT64 frameStartTimeusec;
1165 gctUINT64 frameEndTimeusec;
1166 gctUINT64 frameStartCPUTimeusec;
1167 gctUINT64 frameEndCPUTimeusec;
1169 #if PROFILE_HAL_COUNTERS
1170 gctUINT32 vertexBufferTotalBytesAlloc;
1171 gctUINT32 vertexBufferNewBytesAlloc;
1172 int vertexBufferTotalObjectsAlloc;
1173 int vertexBufferNewObjectsAlloc;
1175 gctUINT32 indexBufferTotalBytesAlloc;
1176 gctUINT32 indexBufferNewBytesAlloc;
1177 int indexBufferTotalObjectsAlloc;
1178 int indexBufferNewObjectsAlloc;
1180 gctUINT32 textureBufferTotalBytesAlloc;
1181 gctUINT32 textureBufferNewBytesAlloc;
1182 int textureBufferTotalObjectsAlloc;
1183 int textureBufferNewObjectsAlloc;
1185 gctUINT32 numCommits;
1186 gctUINT32 drawPointCount;
1187 gctUINT32 drawLineCount;
1188 gctUINT32 drawTriangleCount;
1189 gctUINT32 drawVertexCount;
1190 gctUINT32 redundantStateChangeCalls;
1191 #endif
1193 gcsPROFILER;
1195 /* Memory profile information. */
1196 struct _gcsMemProfile
1198 /* Memory Usage */
1199 gctUINT32 videoMemUsed;
1200 gctUINT32 systemMemUsed;
1201 gctUINT32 commitBufferSize;
1202 gctUINT32 contextBufferCopyBytes;
1205 /* Shader profile information. */
1206 struct _gcsSHADER_PROFILER
1208 gctUINT32 shaderLength;
1209 gctUINT32 shaderALUCycles;
1210 gctUINT32 shaderTexLoadCycles;
1211 gctUINT32 shaderTempRegCount;
1212 gctUINT32 shaderSamplerRegCount;
1213 gctUINT32 shaderInputRegCount;
1214 gctUINT32 shaderOutputRegCount;
1217 /* Initialize the gcsProfiler. */
1218 gceSTATUS
1219 gcoPROFILER_Initialize(
1220 IN gcoHAL Hal
1223 /* Destroy the gcProfiler. */
1224 gceSTATUS
1225 gcoPROFILER_Destroy(
1226 IN gcoHAL Hal
1229 /* Write data to profiler. */
1230 gceSTATUS
1231 gcoPROFILER_Write(
1232 IN gcoHAL Hal,
1233 IN gctSIZE_T ByteCount,
1234 IN gctCONST_POINTER Data
1237 /* Flush data out. */
1238 gceSTATUS
1239 gcoPROFILER_Flush(
1240 IN gcoHAL Hal
1243 /* Call to signal end of frame. */
1244 gceSTATUS
1245 gcoPROFILER_EndFrame(
1246 IN gcoHAL Hal
1249 /* Increase profile counter Enum by Value. */
1250 gceSTATUS
1251 gcoPROFILER_Count(
1252 IN gcoHAL Hal,
1253 IN gctUINT32 Enum,
1254 IN gctINT Value
1257 /* Profile input vertex shader. */
1258 gceSTATUS
1259 gcoPROFILER_ShaderVS(
1260 IN gcoHAL Hal,
1261 IN gctPOINTER Vs
1264 /* Profile input fragment shader. */
1265 gceSTATUS
1266 gcoPROFILER_ShaderFS(
1267 IN gcoHAL Hal,
1268 IN gctPOINTER Fs
1271 #ifdef __cplusplus
1273 #endif
1275 #endif /* __gc_hal_profiler_h_ */