diff options
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h')
-rw-r--r-- | drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h | 1275 |
1 files changed, 1275 insertions, 0 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h new file mode 100644 index 000000000000..bcfb2d412f69 --- /dev/null +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h @@ -0,0 +1,1275 @@ +/**************************************************************************** +* +* Copyright (C) 2005 - 2011 by Vivante Corp. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the license, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +* +*****************************************************************************/ + + +#ifndef __gc_hal_profiler_h_ +#define __gc_hal_profiler_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define GLVERTEX_OBJECT 10 +#define GLVERTEX_OBJECT_BYTES 11 + +#define GLINDEX_OBJECT 20 +#define GLINDEX_OBJECT_BYTES 21 + +#define GLTEXTURE_OBJECT 30 +#define GLTEXTURE_OBJECT_BYTES 31 + +#if VIVANTE_PROFILER +#define gcmPROFILE_GC(Enum, Value) gcoPROFILER_Count(gcvNULL, Enum, Value) +#else +#define gcmPROFILE_GC(Enum, Value) do { } while (gcvFALSE) +#endif + +#ifndef gcdNEW_PROFILER_FILE +#define gcdNEW_PROFILER_FILE 1 +#endif + +/* OpenGL ES11 API IDs. */ +#define ES11_ACTIVETEXTURE 1 +#define ES11_ALPHAFUNC (ES11_ACTIVETEXTURE + 1) +#define ES11_ALPHAFUNCX (ES11_ALPHAFUNC + 1) +#define ES11_BINDBUFFER (ES11_ALPHAFUNCX + 1) +#define ES11_BINDTEXTURE (ES11_BINDBUFFER + 1) +#define ES11_BLENDFUNC (ES11_BINDTEXTURE + 1) +#define ES11_BUFFERDATA (ES11_BLENDFUNC + 1) +#define ES11_BUFFERSUBDATA (ES11_BUFFERDATA + 1) +#define ES11_CLEAR (ES11_BUFFERSUBDATA + 1) +#define ES11_CLEARCOLOR (ES11_CLEAR + 1) +#define ES11_CLEARCOLORX (ES11_CLEARCOLOR + 1) +#define ES11_CLEARDEPTHF (ES11_CLEARCOLORX + 1) +#define ES11_CLEARDEPTHX (ES11_CLEARDEPTHF + 1) +#define ES11_CLEARSTENCIL (ES11_CLEARDEPTHX + 1) +#define ES11_CLIENTACTIVETEXTURE (ES11_CLEARSTENCIL + 1) +#define ES11_CLIPPLANEF (ES11_CLIENTACTIVETEXTURE + 1) +#define ES11_CLIPPLANEX (ES11_CLIPPLANEF + 1) +#define ES11_COLOR4F (ES11_CLIPPLANEX + 1) +#define ES11_COLOR4UB (ES11_COLOR4F + 1) +#define ES11_COLOR4X (ES11_COLOR4UB + 1) +#define ES11_COLORMASK (ES11_COLOR4X + 1) +#define ES11_COLORPOINTER (ES11_COLORMASK + 1) +#define ES11_COMPRESSEDTEXIMAGE2D (ES11_COLORPOINTER + 1) +#define ES11_COMPRESSEDTEXSUBIMAGE2D (ES11_COMPRESSEDTEXIMAGE2D + 1) +#define ES11_COPYTEXIMAGE2D (ES11_COMPRESSEDTEXSUBIMAGE2D + 1) +#define ES11_COPYTEXSUBIMAGE2D (ES11_COPYTEXIMAGE2D + 1) +#define ES11_CULLFACE (ES11_COPYTEXSUBIMAGE2D + 1) +#define ES11_DELETEBUFFERS (ES11_CULLFACE + 1) +#define ES11_DELETETEXTURES (ES11_DELETEBUFFERS + 1) +#define ES11_DEPTHFUNC (ES11_DELETETEXTURES + 1) +#define ES11_DEPTHMASK (ES11_DEPTHFUNC + 1) +#define ES11_DEPTHRANGEF (ES11_DEPTHMASK + 1) +#define ES11_DEPTHRANGEX (ES11_DEPTHRANGEF + 1) +#define ES11_DISABLE (ES11_DEPTHRANGEX + 1) +#define ES11_DISABLECLIENTSTATE (ES11_DISABLE + 1) +#define ES11_DRAWARRAYS (ES11_DISABLECLIENTSTATE + 1) +#define ES11_DRAWELEMENTS (ES11_DRAWARRAYS + 1) +#define ES11_ENABLE (ES11_DRAWELEMENTS + 1) +#define ES11_ENABLECLIENTSTATE (ES11_ENABLE + 1) +#define ES11_FINISH (ES11_ENABLECLIENTSTATE + 1) +#define ES11_FLUSH (ES11_FINISH + 1) +#define ES11_FOGF (ES11_FLUSH + 1) +#define ES11_FOGFV (ES11_FOGF + 1) +#define ES11_FOGX (ES11_FOGFV + 1) +#define ES11_FOGXV (ES11_FOGX + 1) +#define ES11_FRONTFACE (ES11_FOGXV + 1) +#define ES11_FRUSTUMF (ES11_FRONTFACE + 1) +#define ES11_FRUSTUMX (ES11_FRUSTUMF + 1) +#define ES11_GENBUFFERS (ES11_FRUSTUMX + 1) +#define ES11_GENTEXTURES (ES11_GENBUFFERS + 1) +#define ES11_GETBOOLEANV (ES11_GENTEXTURES + 1) +#define ES11_GETBUFFERPARAMETERIV (ES11_GETBOOLEANV + 1) +#define ES11_GETCLIPPLANEF (ES11_GETBUFFERPARAMETERIV + 1) +#define ES11_GETCLIPPLANEX (ES11_GETCLIPPLANEF + 1) +#define ES11_GETERROR (ES11_GETCLIPPLANEX + 1) +#define ES11_GETFIXEDV (ES11_GETERROR + 1) +#define ES11_GETFLOATV (ES11_GETFIXEDV + 1) +#define ES11_GETINTEGERV (ES11_GETFLOATV + 1) +#define ES11_GETLIGHTFV (ES11_GETINTEGERV + 1) +#define ES11_GETLIGHTXV (ES11_GETLIGHTFV + 1) +#define ES11_GETMATERIALFV (ES11_GETLIGHTXV + 1) +#define ES11_GETMATERIALXV (ES11_GETMATERIALFV + 1) +#define ES11_GETPOINTERV (ES11_GETMATERIALXV + 1) +#define ES11_GETSTRING (ES11_GETPOINTERV + 1) +#define ES11_GETTEXENVFV (ES11_GETSTRING + 1) +#define ES11_GETTEXENVIV (ES11_GETTEXENVFV + 1) +#define ES11_GETTEXENVXV (ES11_GETTEXENVIV + 1) +#define ES11_GETTEXPARAMETERFV (ES11_GETTEXENVXV + 1) +#define ES11_GETTEXPARAMETERIV (ES11_GETTEXPARAMETERFV + 1) +#define ES11_GETTEXPARAMETERXV (ES11_GETTEXPARAMETERIV + 1) +#define ES11_HINT (ES11_GETTEXPARAMETERXV + 1) +#define ES11_ISBUFFER (ES11_HINT + 1) +#define ES11_ISENABLED (ES11_ISBUFFER + 1) +#define ES11_ISTEXTURE (ES11_ISENABLED + 1) +#define ES11_LIGHTF (ES11_ISTEXTURE + 1) +#define ES11_LIGHTFV (ES11_LIGHTF + 1) +#define ES11_LIGHTMODELF (ES11_LIGHTFV + 1) +#define ES11_LIGHTMODELFV (ES11_LIGHTMODELF + 1) +#define ES11_LIGHTMODELX (ES11_LIGHTMODELFV + 1) +#define ES11_LIGHTMODELXV (ES11_LIGHTMODELX + 1) +#define ES11_LIGHTX (ES11_LIGHTMODELXV + 1) +#define ES11_LIGHTXV (ES11_LIGHTX + 1) +#define ES11_LINEWIDTH (ES11_LIGHTXV + 1) +#define ES11_LINEWIDTHX (ES11_LINEWIDTH + 1) +#define ES11_LOADIDENTITY (ES11_LINEWIDTHX + 1) +#define ES11_LOADMATRIXF (ES11_LOADIDENTITY + 1) +#define ES11_LOADMATRIXX (ES11_LOADMATRIXF + 1) +#define ES11_LOGICOP (ES11_LOADMATRIXX + 1) +#define ES11_MATERIALF (ES11_LOGICOP + 1) +#define ES11_MATERIALFV (ES11_MATERIALF + 1) +#define ES11_MATERIALX (ES11_MATERIALFV + 1) +#define ES11_MATERIALXV (ES11_MATERIALX + 1) +#define ES11_MATRIXMODE (ES11_MATERIALXV + 1) +#define ES11_MULTITEXCOORD4F (ES11_MATRIXMODE + 1) +#define ES11_MULTITEXCOORD4X (ES11_MULTITEXCOORD4F + 1) +#define ES11_MULTMATRIXF (ES11_MULTITEXCOORD4X + 1) +#define ES11_MULTMATRIXX (ES11_MULTMATRIXF + 1) +#define ES11_NORMAL3F (ES11_MULTMATRIXX + 1) +#define ES11_NORMAL3X (ES11_NORMAL3F + 1) +#define ES11_NORMALPOINTER (ES11_NORMAL3X + 1) +#define ES11_ORTHOF (ES11_NORMALPOINTER + 1) +#define ES11_ORTHOX (ES11_ORTHOF + 1) +#define ES11_PIXELSTOREI (ES11_ORTHOX + 1) +#define ES11_POINTPARAMETERF (ES11_PIXELSTOREI + 1) +#define ES11_POINTPARAMETERFV (ES11_POINTPARAMETERF + 1) +#define ES11_POINTPARAMETERX (ES11_POINTPARAMETERFV + 1) +#define ES11_POINTPARAMETERXV (ES11_POINTPARAMETERX + 1) +#define ES11_POINTSIZE (ES11_POINTPARAMETERXV + 1) +#define ES11_POINTSIZEX (ES11_POINTSIZE + 1) +#define ES11_POLYGONOFFSET (ES11_POINTSIZEX + 1) +#define ES11_POLYGONOFFSETX (ES11_POLYGONOFFSET + 1) +#define ES11_POPMATRIX (ES11_POLYGONOFFSETX + 1) +#define ES11_PUSHMATRIX (ES11_POPMATRIX + 1) +#define ES11_READPIXELS (ES11_PUSHMATRIX + 1) +#define ES11_ROTATEF (ES11_READPIXELS + 1) +#define ES11_ROTATEX (ES11_ROTATEF + 1) +#define ES11_SAMPLECOVERAGE (ES11_ROTATEX + 1) +#define ES11_SAMPLECOVERAGEX (ES11_SAMPLECOVERAGE + 1) +#define ES11_SCALEF (ES11_SAMPLECOVERAGEX + 1) +#define ES11_SCALEX (ES11_SCALEF + 1) +#define ES11_SCISSOR (ES11_SCALEX + 1) +#define ES11_SHADEMODEL (ES11_SCISSOR + 1) +#define ES11_STENCILFUNC (ES11_SHADEMODEL + 1) +#define ES11_STENCILMASK (ES11_STENCILFUNC + 1) +#define ES11_STENCILOP (ES11_STENCILMASK + 1) +#define ES11_TEXCOORDPOINTER (ES11_STENCILOP + 1) +#define ES11_TEXENVF (ES11_TEXCOORDPOINTER + 1) +#define ES11_TEXENVFV (ES11_TEXENVF + 1) +#define ES11_TEXENVI (ES11_TEXENVFV + 1) +#define ES11_TEXENVIV (ES11_TEXENVI + 1) +#define ES11_TEXENVX (ES11_TEXENVIV + 1) +#define ES11_TEXENVXV (ES11_TEXENVX + 1) +#define ES11_TEXIMAGE2D (ES11_TEXENVXV + 1) +#define ES11_TEXPARAMETERF (ES11_TEXIMAGE2D + 1) +#define ES11_TEXPARAMETERFV (ES11_TEXPARAMETERF + 1) +#define ES11_TEXPARAMETERI (ES11_TEXPARAMETERFV + 1) +#define ES11_TEXPARAMETERIV (ES11_TEXPARAMETERI + 1) +#define ES11_TEXPARAMETERX (ES11_TEXPARAMETERIV + 1) +#define ES11_TEXPARAMETERXV (ES11_TEXPARAMETERX + 1) +#define ES11_TEXSUBIMAGE2D (ES11_TEXPARAMETERXV + 1) +#define ES11_TRANSLATEF (ES11_TEXSUBIMAGE2D + 1) +#define ES11_TRANSLATEX (ES11_TRANSLATEF + 1) +#define ES11_VERTEXPOINTER (ES11_TRANSLATEX + 1) +#define ES11_VIEWPORT (ES11_VERTEXPOINTER + 1) +#define ES11_CALLS (ES11_VIEWPORT + 1) +#define ES11_DRAWCALLS (ES11_CALLS + 1) +#define ES11_STATECHANGECALLS (ES11_DRAWCALLS + 1) +#define ES11_POINTCOUNT (ES11_STATECHANGECALLS + 1) +#define ES11_LINECOUNT (ES11_POINTCOUNT + 1) +#define ES11_TRIANGLECOUNT (ES11_LINECOUNT + 1) + +/* OpenGL ES2X API IDs. */ +#define ES20_ACTIVETEXTURE 1 +#define ES20_ATTACHSHADER (ES20_ACTIVETEXTURE + 1) +#define ES20_BINDATTRIBLOCATION (ES20_ATTACHSHADER + 1) +#define ES20_BINDBUFFER (ES20_BINDATTRIBLOCATION + 1) +#define ES20_BINDFRAMEBUFFER (ES20_BINDBUFFER + 1) +#define ES20_BINDRENDERBUFFER (ES20_BINDFRAMEBUFFER + 1) +#define ES20_BINDTEXTURE (ES20_BINDRENDERBUFFER + 1) +#define ES20_BLENDCOLOR (ES20_BINDTEXTURE + 1) +#define ES20_BLENDEQUATION (ES20_BLENDCOLOR + 1) +#define ES20_BLENDEQUATIONSEPARATE (ES20_BLENDEQUATION + 1) +#define ES20_BLENDFUNC (ES20_BLENDEQUATIONSEPARATE + 1) +#define ES20_BLENDFUNCSEPARATE (ES20_BLENDFUNC + 1) +#define ES20_BUFFERDATA (ES20_BLENDFUNCSEPARATE + 1) +#define ES20_BUFFERSUBDATA (ES20_BUFFERDATA + 1) +#define ES20_CHECKFRAMEBUFFERSTATUS (ES20_BUFFERSUBDATA + 1) +#define ES20_CLEAR (ES20_CHECKFRAMEBUFFERSTATUS + 1) +#define ES20_CLEARCOLOR (ES20_CLEAR + 1) +#define ES20_CLEARDEPTHF (ES20_CLEARCOLOR + 1) +#define ES20_CLEARSTENCIL (ES20_CLEARDEPTHF + 1) +#define ES20_COLORMASK (ES20_CLEARSTENCIL + 1) +#define ES20_COMPILESHADER (ES20_COLORMASK + 1) +#define ES20_COMPRESSEDTEXIMAGE2D (ES20_COMPILESHADER + 1) +#define ES20_COMPRESSEDTEXSUBIMAGE2D (ES20_COMPRESSEDTEXIMAGE2D + 1) +#define ES20_COPYTEXIMAGE2D (ES20_COMPRESSEDTEXSUBIMAGE2D + 1) +#define ES20_COPYTEXSUBIMAGE2D (ES20_COPYTEXIMAGE2D + 1) +#define ES20_CREATEPROGRAM (ES20_COPYTEXSUBIMAGE2D + 1) +#define ES20_CREATESHADER (ES20_CREATEPROGRAM + 1) +#define ES20_CULLFACE (ES20_CREATESHADER + 1) +#define ES20_DELETEBUFFERS (ES20_CULLFACE + 1) +#define ES20_DELETEFRAMEBUFFERS (ES20_DELETEBUFFERS + 1) +#define ES20_DELETEPROGRAM (ES20_DELETEFRAMEBUFFERS + 1) +#define ES20_DELETERENDERBUFFERS (ES20_DELETEPROGRAM + 1) +#define ES20_DELETESHADER (ES20_DELETERENDERBUFFERS + 1) +#define ES20_DELETETEXTURES (ES20_DELETESHADER + 1) +#define ES20_DEPTHFUNC (ES20_DELETETEXTURES + 1) +#define ES20_DEPTHMASK (ES20_DEPTHFUNC + 1) +#define ES20_DEPTHRANGEF (ES20_DEPTHMASK + 1) +#define ES20_DETACHSHADER (ES20_DEPTHRANGEF + 1) +#define ES20_DISABLE (ES20_DETACHSHADER + 1) +#define ES20_DISABLEVERTEXATTRIBARRAY (ES20_DISABLE + 1) +#define ES20_DRAWARRAYS (ES20_DISABLEVERTEXATTRIBARRAY + 1) +#define ES20_DRAWELEMENTS (ES20_DRAWARRAYS + 1) +#define ES20_ENABLE (ES20_DRAWELEMENTS + 1) +#define ES20_ENABLEVERTEXATTRIBARRAY (ES20_ENABLE + 1) +#define ES20_FINISH (ES20_ENABLEVERTEXATTRIBARRAY + 1) +#define ES20_FLUSH (ES20_FINISH + 1) +#define ES20_FRAMEBUFFERRENDERBUFFER (ES20_FLUSH + 1) +#define ES20_FRAMEBUFFERTEXTURE2D (ES20_FRAMEBUFFERRENDERBUFFER + 1) +#define ES20_FRONTFACE (ES20_FRAMEBUFFERTEXTURE2D + 1) +#define ES20_GENBUFFERS (ES20_FRONTFACE + 1) +#define ES20_GENERATEMIPMAP (ES20_GENBUFFERS + 1) +#define ES20_GENFRAMEBUFFERS (ES20_GENERATEMIPMAP + 1) +#define ES20_GENRENDERBUFFERS (ES20_GENFRAMEBUFFERS + 1) +#define ES20_GENTEXTURES (ES20_GENRENDERBUFFERS + 1) +#define ES20_GETACTIVEATTRIB (ES20_GENTEXTURES + 1) +#define ES20_GETACTIVEUNIFORM (ES20_GETACTIVEATTRIB + 1) +#define ES20_GETATTACHEDSHADERS (ES20_GETACTIVEUNIFORM + 1) +#define ES20_GETATTRIBLOCATION (ES20_GETATTACHEDSHADERS + 1) +#define ES20_GETBOOLEANV (ES20_GETATTRIBLOCATION + 1) +#define ES20_GETBUFFERPARAMETERIV (ES20_GETBOOLEANV + 1) +#define ES20_GETERROR (ES20_GETBUFFERPARAMETERIV + 1) +#define ES20_GETFLOATV (ES20_GETERROR + 1) +#define ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV (ES20_GETFLOATV + 1) +#define ES20_GETINTEGERV (ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV + 1) +#define ES20_GETPROGRAMIV (ES20_GETINTEGERV + 1) +#define ES20_GETPROGRAMINFOLOG (ES20_GETPROGRAMIV + 1) +#define ES20_GETRENDERBUFFERPARAMETERIV (ES20_GETPROGRAMINFOLOG + 1) +#define ES20_GETSHADERIV (ES20_GETRENDERBUFFERPARAMETERIV + 1) +#define ES20_GETSHADERINFOLOG (ES20_GETSHADERIV + 1) +#define ES20_GETSHADERPRECISIONFORMAT (ES20_GETSHADERINFOLOG + 1) +#define ES20_GETSHADERSOURCE (ES20_GETSHADERPRECISIONFORMAT + 1) +#define ES20_GETSTRING (ES20_GETSHADERSOURCE + 1) +#define ES20_GETTEXPARAMETERFV (ES20_GETSTRING + 1) +#define ES20_GETTEXPARAMETERIV (ES20_GETTEXPARAMETERFV + 1) +#define ES20_GETUNIFORMFV (ES20_GETTEXPARAMETERIV + 1) +#define ES20_GETUNIFORMIV (ES20_GETUNIFORMFV + 1) +#define ES20_GETUNIFORMLOCATION (ES20_GETUNIFORMIV + 1) +#define ES20_GETVERTEXATTRIBFV (ES20_GETUNIFORMLOCATION + 1) +#define ES20_GETVERTEXATTRIBIV (ES20_GETVERTEXATTRIBFV + 1) +#define ES20_GETVERTEXATTRIBPOINTERV (ES20_GETVERTEXATTRIBIV + 1) +#define ES20_HINT (ES20_GETVERTEXATTRIBPOINTERV + 1) +#define ES20_ISBUFFER (ES20_HINT + 1) +#define ES20_ISENABLED (ES20_ISBUFFER + 1) +#define ES20_ISFRAMEBUFFER (ES20_ISENABLED + 1) +#define ES20_ISPROGRAM (ES20_ISFRAMEBUFFER + 1) +#define ES20_ISRENDERBUFFER (ES20_ISPROGRAM + 1) +#define ES20_ISSHADER (ES20_ISRENDERBUFFER + 1) +#define ES20_ISTEXTURE (ES20_ISSHADER + 1) +#define ES20_LINEWIDTH (ES20_ISTEXTURE + 1) +#define ES20_LINKPROGRAM (ES20_LINEWIDTH + 1) +#define ES20_PIXELSTOREI (ES20_LINKPROGRAM + 1) +#define ES20_POLYGONOFFSET (ES20_PIXELSTOREI + 1) +#define ES20_READPIXELS (ES20_POLYGONOFFSET + 1) +#define ES20_RELEASESHADERCOMPILER (ES20_READPIXELS + 1) +#define ES20_RENDERBUFFERSTORAGE (ES20_RELEASESHADERCOMPILER + 1) +#define ES20_SAMPLECOVERAGE (ES20_RENDERBUFFERSTORAGE + 1) +#define ES20_SCISSOR (ES20_SAMPLECOVERAGE + 1) +#define ES20_SHADERBINARY (ES20_SCISSOR + 1) +#define ES20_SHADERSOURCE (ES20_SHADERBINARY + 1) +#define ES20_STENCILFUNC (ES20_SHADERSOURCE + 1) +#define ES20_STENCILFUNCSEPARATE (ES20_STENCILFUNC + 1) +#define ES20_STENCILMASK (ES20_STENCILFUNCSEPARATE + 1) +#define ES20_STENCILMASKSEPARATE (ES20_STENCILMASK + 1) +#define ES20_STENCILOP (ES20_STENCILMASKSEPARATE + 1) +#define ES20_STENCILOPSEPARATE (ES20_STENCILOP + 1) +#define ES20_TEXIMAGE2D (ES20_STENCILOPSEPARATE + 1) +#define ES20_TEXPARAMETERF (ES20_TEXIMAGE2D + 1) +#define ES20_TEXPARAMETERFV (ES20_TEXPARAMETERF + 1) +#define ES20_TEXPARAMETERI (ES20_TEXPARAMETERFV + 1) +#define ES20_TEXPARAMETERIV (ES20_TEXPARAMETERI + 1) +#define ES20_TEXSUBIMAGE2D (ES20_TEXPARAMETERIV + 1) +#define ES20_UNIFORM1F (ES20_TEXSUBIMAGE2D + 1) +#define ES20_UNIFORM1FV (ES20_UNIFORM1F + 1) +#define ES20_UNIFORM1I (ES20_UNIFORM1FV + 1) +#define ES20_UNIFORM1IV (ES20_UNIFORM1I + 1) +#define ES20_UNIFORM2F (ES20_UNIFORM1IV + 1) +#define ES20_UNIFORM2FV (ES20_UNIFORM2F + 1) +#define ES20_UNIFORM2I (ES20_UNIFORM2FV + 1) +#define ES20_UNIFORM2IV (ES20_UNIFORM2I + 1) +#define ES20_UNIFORM3F (ES20_UNIFORM2IV + 1) +#define ES20_UNIFORM3FV (ES20_UNIFORM3F + 1) +#define ES20_UNIFORM3I (ES20_UNIFORM3FV + 1) +#define ES20_UNIFORM3IV (ES20_UNIFORM3I + 1) +#define ES20_UNIFORM4F (ES20_UNIFORM3IV + 1) +#define ES20_UNIFORM4FV (ES20_UNIFORM4F + 1) +#define ES20_UNIFORM4I (ES20_UNIFORM4FV + 1) +#define ES20_UNIFORM4IV (ES20_UNIFORM4I + 1) +#define ES20_UNIFORMMATRIX2FV (ES20_UNIFORM4IV + 1) +#define ES20_UNIFORMMATRIX3FV (ES20_UNIFORMMATRIX2FV + 1) +#define ES20_UNIFORMMATRIX4FV (ES20_UNIFORMMATRIX3FV + 1) +#define ES20_USEPROGRAM (ES20_UNIFORMMATRIX4FV + 1) +#define ES20_VALIDATEPROGRAM (ES20_USEPROGRAM + 1) +#define ES20_VERTEXATTRIB1F (ES20_VALIDATEPROGRAM + 1) +#define ES20_VERTEXATTRIB1FV (ES20_VERTEXATTRIB1F + 1) +#define ES20_VERTEXATTRIB2F (ES20_VERTEXATTRIB1FV + 1) +#define ES20_VERTEXATTRIB2FV (ES20_VERTEXATTRIB2F + 1) +#define ES20_VERTEXATTRIB3F (ES20_VERTEXATTRIB2FV + 1) +#define ES20_VERTEXATTRIB3FV (ES20_VERTEXATTRIB3F + 1) +#define ES20_VERTEXATTRIB4F (ES20_VERTEXATTRIB3FV + 1) +#define ES20_VERTEXATTRIB4FV (ES20_VERTEXATTRIB4F + 1) +#define ES20_VERTEXATTRIBPOINTER (ES20_VERTEXATTRIB4FV + 1) +#define ES20_VIEWPORT (ES20_VERTEXATTRIBPOINTER + 1) +#define ES20_CALLS (ES20_VIEWPORT + 1) +#define ES20_DRAWCALLS (ES20_CALLS + 1) +#define ES20_STATECHANGECALLS (ES20_DRAWCALLS + 1) +#define ES20_POINTCOUNT (ES20_STATECHANGECALLS + 1) +#define ES20_LINECOUNT (ES20_POINTCOUNT + 1) +#define ES20_TRIANGLECOUNT (ES20_LINECOUNT + 1) + +/* OpenVG API IDs. */ +#define VG11_APPENDPATH 1 +#define VG11_APPENDPATHDATA (VG11_APPENDPATH + 1) +#define VG11_CHILDIMAGE (VG11_APPENDPATHDATA + 1) +#define VG11_CLEAR (VG11_CHILDIMAGE + 1) +#define VG11_CLEARGLYPH (VG11_CLEAR + 1) +#define VG11_CLEARIMAGE (VG11_CLEARGLYPH + 1) +#define VG11_CLEARPATH (VG11_CLEARIMAGE + 1) +#define VG11_COLORMATRIX (VG11_CLEARPATH + 1) +#define VG11_CONVOLVE (VG11_COLORMATRIX + 1) +#define VG11_COPYIMAGE (VG11_CONVOLVE + 1) +#define VG11_COPYMASK (VG11_COPYIMAGE + 1) +#define VG11_COPYPIXELS (VG11_COPYMASK + 1) +#define VG11_CREATEFONT (VG11_COPYPIXELS + 1) +#define VG11_CREATEIMAGE (VG11_CREATEFONT + 1) +#define VG11_CREATEMASKLAYER (VG11_CREATEIMAGE + 1) +#define VG11_CREATEPAINT (VG11_CREATEMASKLAYER + 1) +#define VG11_CREATEPATH (VG11_CREATEPAINT + 1) +#define VG11_DESTROYFONT (VG11_CREATEPATH + 1) +#define VG11_DESTROYIMAGE (VG11_DESTROYFONT + 1) +#define VG11_DESTROYMASKLAYER (VG11_DESTROYIMAGE + 1) +#define VG11_DESTROYPAINT (VG11_DESTROYMASKLAYER + 1) +#define VG11_DESTROYPATH (VG11_DESTROYPAINT + 1) +#define VG11_DRAWGLYPH (VG11_DESTROYPATH + 1) +#define VG11_DRAWGLYPHS (VG11_DRAWGLYPH + 1) +#define VG11_DRAWIMAGE (VG11_DRAWGLYPHS + 1) +#define VG11_DRAWPATH (VG11_DRAWIMAGE + 1) +#define VG11_FILLMASKLAYER (VG11_DRAWPATH + 1) +#define VG11_FINISH (VG11_FILLMASKLAYER + 1) +#define VG11_FLUSH (VG11_FINISH + 1) +#define VG11_GAUSSIANBLUR (VG11_FLUSH + 1) +#define VG11_GETCOLOR (VG11_GAUSSIANBLUR + 1) +#define VG11_GETERROR (VG11_GETCOLOR + 1) +#define VG11_GETF (VG11_GETERROR + 1) +#define VG11_GETFV (VG11_GETF + 1) +#define VG11_GETI (VG11_GETFV + 1) +#define VG11_GETIMAGESUBDATA (VG11_GETI + 1) +#define VG11_GETIV (VG11_GETIMAGESUBDATA + 1) +#define VG11_GETMATRIX (VG11_GETIV + 1) +#define VG11_GETPAINT (VG11_GETMATRIX + 1) +#define VG11_GETPARAMETERF (VG11_GETPAINT + 1) +#define VG11_GETPARAMETERFV (VG11_GETPARAMETERF + 1) +#define VG11_GETPARAMETERI (VG11_GETPARAMETERFV + 1) +#define VG11_GETPARAMETERIV (VG11_GETPARAMETERI + 1) +#define VG11_GETPARAMETERVECTORSIZE (VG11_GETPARAMETERIV + 1) +#define VG11_GETPARENT (VG11_GETPARAMETERVECTORSIZE + 1) +#define VG11_GETPATHCAPABILITIES (VG11_GETPARENT + 1) +#define VG11_GETPIXELS (VG11_GETPATHCAPABILITIES + 1) +#define VG11_GETSTRING (VG11_GETPIXELS + 1) +#define VG11_GETVECTORSIZE (VG11_GETSTRING + 1) +#define VG11_HARDWAREQUERY (VG11_GETVECTORSIZE + 1) +#define VG11_IMAGESUBDATA (VG11_HARDWAREQUERY + 1) +#define VG11_INTERPOLATEPATH (VG11_IMAGESUBDATA + 1) +#define VG11_LOADIDENTITY (VG11_INTERPOLATEPATH + 1) +#define VG11_LOADMATRIX (VG11_LOADIDENTITY + 1) +#define VG11_LOOKUP (VG11_LOADMATRIX + 1) +#define VG11_LOOKUPSINGLE (VG11_LOOKUP + 1) +#define VG11_MASK (VG11_LOOKUPSINGLE + 1) +#define VG11_MODIFYPATHCOORDS (VG11_MASK + 1) +#define VG11_MULTMATRIX (VG11_MODIFYPATHCOORDS + 1) +#define VG11_PAINTPATTERN (VG11_MULTMATRIX + 1) +#define VG11_PATHBOUNDS (VG11_PAINTPATTERN + 1) +#define VG11_PATHLENGTH (VG11_PATHBOUNDS + 1) +#define VG11_PATHTRANSFORMEDBOUNDS (VG11_PATHLENGTH + 1) +#define VG11_POINTALONGPATH (VG11_PATHTRANSFORMEDBOUNDS + 1) +#define VG11_READPIXELS (VG11_POINTALONGPATH + 1) +#define VG11_REMOVEPATHCAPABILITIES (VG11_READPIXELS + 1) +#define VG11_RENDERTOMASK (VG11_REMOVEPATHCAPABILITIES + 1) +#define VG11_ROTATE (VG11_RENDERTOMASK + 1) +#define VG11_SCALE (VG11_ROTATE + 1) +#define VG11_SEPARABLECONVOLVE (VG11_SCALE + 1) +#define VG11_SETCOLOR (VG11_SEPARABLECONVOLVE + 1) +#define VG11_SETF (VG11_SETCOLOR + 1) +#define VG11_SETFV (VG11_SETF + 1) +#define VG11_SETGLYPHTOIMAGE (VG11_SETFV + 1) +#define VG11_SETGLYPHTOPATH (VG11_SETGLYPHTOIMAGE + 1) +#define VG11_SETI (VG11_SETGLYPHTOPATH + 1) +#define VG11_SETIV (VG11_SETI + 1) +#define VG11_SETPAINT (VG11_SETIV + 1) +#define VG11_SETPARAMETERF (VG11_SETPAINT + 1) +#define VG11_SETPARAMETERFV (VG11_SETPARAMETERF + 1) +#define VG11_SETPARAMETERI (VG11_SETPARAMETERFV + 1) +#define VG11_SETPARAMETERIV (VG11_SETPARAMETERI + 1) +#define VG11_SETPIXELS (VG11_SETPARAMETERIV + 1) +#define VG11_SHEAR (VG11_SETPIXELS + 1) +#define VG11_TRANSFORMPATH (VG11_SHEAR + 1) +#define VG11_TRANSLATE (VG11_TRANSFORMPATH + 1) +#define VG11_WRITEPIXELS (VG11_TRANSLATE + 1) +/* End of Driver API ID Definitions. */ + +/* HAL & MISC IDs. */ +#define HAL_VERTBUFNEWBYTEALLOC 1 +#define HAL_VERTBUFTOTALBYTEALLOC (HAL_VERTBUFNEWBYTEALLOC + 1) +#define HAL_VERTBUFNEWOBJALLOC (HAL_VERTBUFTOTALBYTEALLOC + 1) +#define HAL_VERTBUFTOTALOBJALLOC (HAL_VERTBUFNEWOBJALLOC + 1) +#define HAL_INDBUFNEWBYTEALLOC (HAL_VERTBUFTOTALOBJALLOC + 1) +#define HAL_INDBUFTOTALBYTEALLOC (HAL_INDBUFNEWBYTEALLOC + 1) +#define HAL_INDBUFNEWOBJALLOC (HAL_INDBUFTOTALBYTEALLOC + 1) +#define HAL_INDBUFTOTALOBJALLOC (HAL_INDBUFNEWOBJALLOC + 1) +#define HAL_TEXBUFNEWBYTEALLOC (HAL_INDBUFTOTALOBJALLOC + 1) +#define HAL_TEXBUFTOTALBYTEALLOC (HAL_TEXBUFNEWBYTEALLOC + 1) +#define HAL_TEXBUFNEWOBJALLOC (HAL_TEXBUFTOTALBYTEALLOC + 1) +#define HAL_TEXBUFTOTALOBJALLOC (HAL_TEXBUFNEWOBJALLOC + 1) + +#define GPU_CYCLES 1 +#define GPU_READ64BYTE (GPU_CYCLES + 1) +#define GPU_WRITE64BYTE (GPU_READ64BYTE + 1) + +#define VS_INSTCOUNT 1 +#define VS_BRANCHINSTCOUNT (VS_INSTCOUNT + 1) +#define VS_TEXLDINSTCOUNT (VS_BRANCHINSTCOUNT + 1) +#define VS_RENDEREDVERTCOUNT (VS_TEXLDINSTCOUNT + 1) + +#define PS_INSTCOUNT 1 +#define PS_BRANCHINSTCOUNT (PS_INSTCOUNT + 1) +#define PS_TEXLDINSTCOUNT (PS_BRANCHINSTCOUNT + 1) +#define PS_RENDEREDPIXCOUNT (PS_TEXLDINSTCOUNT + 1) + +#define PA_INVERTCOUNT 1 +#define PA_INPRIMCOUNT (PA_INVERTCOUNT + 1) +#define PA_OUTPRIMCOUNT (PA_INPRIMCOUNT + 1) +#define PA_DEPTHCLIPCOUNT (PA_OUTPRIMCOUNT + 1) +#define PA_TRIVIALREJCOUNT (PA_DEPTHCLIPCOUNT + 1) +#define PA_CULLCOUNT (PA_TRIVIALREJCOUNT + 1) + +#define SE_TRIANGLECOUNT 1 +#define SE_LINECOUNT (SE_TRIANGLECOUNT + 1) + +#define RA_VALIDPIXCOUNT 1 +#define RA_TOTALQUADCOUNT (RA_VALIDPIXCOUNT + 1) +#define RA_VALIDQUADCOUNTEZ (RA_TOTALQUADCOUNT + 1) +#define RA_TOTALPRIMCOUNT (RA_VALIDQUADCOUNTEZ + 1) +#define RA_PIPECACHEMISSCOUNT (RA_TOTALPRIMCOUNT + 1) +#define RA_PREFCACHEMISSCOUNT (RA_PIPECACHEMISSCOUNT + 1) +#define RA_EEZCULLCOUNT (RA_PREFCACHEMISSCOUNT + 1) + +#define TX_TOTBILINEARREQ 1 +#define TX_TOTTRILINEARREQ (TX_TOTBILINEARREQ + 1) +#define TX_TOTDISCARDTEXREQ (TX_TOTTRILINEARREQ + 1) +#define TX_TOTTEXREQ (TX_TOTDISCARDTEXREQ + 1) +#define TX_MEMREADCOUNT (TX_TOTTEXREQ + 1) +#define TX_MEMREADIN8BCOUNT (TX_MEMREADCOUNT + 1) +#define TX_CACHEMISSCOUNT (TX_MEMREADIN8BCOUNT + 1) +#define TX_CACHEHITTEXELCOUNT (TX_CACHEMISSCOUNT + 1) +#define TX_CACHEMISSTEXELCOUNT (TX_CACHEHITTEXELCOUNT + 1) + +#define PE_KILLEDBYCOLOR 1 +#define PE_KILLEDBYDEPTH (PE_KILLEDBYCOLOR + 1) +#define PE_DRAWNBYCOLOR (PE_KILLEDBYDEPTH + 1) +#define PE_DRAWNBYDEPTH (PE_DRAWNBYCOLOR + 1) + +#define MC_READREQ8BPIPE 1 +#define MC_READREQ8BIP (MC_READREQ8BPIPE + 1) +#define MC_WRITEREQ8BPIPE (MC_READREQ8BIP + 1) + +#define AXI_READREQSTALLED 1 +#define AXI_WRITEREQSTALLED (AXI_READREQSTALLED + 1) +#define AXI_WRITEDATASTALLED (AXI_WRITEREQSTALLED + 1) + +#define PVS_INSTRCOUNT 1 +#define PVS_ALUINSTRCOUNT (PVS_INSTRCOUNT + 1) +#define PVS_TEXINSTRCOUNT (PVS_ALUINSTRCOUNT + 1) +#define PVS_ATTRIBCOUNT (PVS_TEXINSTRCOUNT + 1) +#define PVS_UNIFORMCOUNT (PVS_ATTRIBCOUNT + 1) +#define PVS_FUNCTIONCOUNT (PVS_UNIFORMCOUNT + 1) + +#define PPS_INSTRCOUNT 1 +#define PPS_ALUINSTRCOUNT (PPS_INSTRCOUNT + 1) +#define PPS_TEXINSTRCOUNT (PPS_ALUINSTRCOUNT + 1) +#define PPS_ATTRIBCOUNT (PPS_TEXINSTRCOUNT + 1) +#define PPS_UNIFORMCOUNT (PPS_ATTRIBCOUNT + 1) +#define PPS_FUNCTIONCOUNT (PPS_UNIFORMCOUNT + 1) +/* End of MISC Counter IDs. */ + +#ifdef gcdNEW_PROFILER_FILE + +/* Category Constants. */ +#define VPHEADER 0x010000 +#define VPG_INFO 0x020000 +#define VPG_TIME 0x030000 +#define VPG_MEM 0x040000 +#define VPG_ES11 0x050000 +#define VPG_ES20 0x060000 +#define VPG_VG11 0x070000 +#define VPG_HAL 0x080000 +#define VPG_HW 0x090000 +#define VPG_GPU 0x0a0000 +#define VPG_VS 0x0b0000 +#define VPG_PS 0x0c0000 +#define VPG_PA 0x0d0000 +#define VPG_SETUP 0x0e0000 +#define VPG_RA 0x0f0000 +#define VPG_TX 0x100000 +#define VPG_PE 0x110000 +#define VPG_MC 0x120000 +#define VPG_AXI 0x130000 +#define VPG_PROG 0x140000 +#define VPG_PVS 0x150000 +#define VPG_PPS 0x160000 +#define VPG_FRAME 0x170000 +#define VPG_END 0xff0000 + +/* Info. */ +#define VPC_INFOCOMPANY (VPG_INFO + 1) +#define VPC_INFOVERSION (VPC_INFOCOMPANY + 1) +#define VPC_INFORENDERER (VPC_INFOVERSION + 1) +#define VPC_INFOREVISION (VPC_INFORENDERER + 1) +#define VPC_INFODRIVER (VPC_INFOREVISION + 1) +#define VPC_INFODRIVERMODE (VPC_INFODRIVER + 1) +#define VPC_INFOSCREENSIZE (VPC_INFODRIVERMODE + 1) + +/* Counter Constants. */ +#define VPC_ELAPSETIME (VPG_TIME + 1) +#define VPC_CPUTIME (VPC_ELAPSETIME + 1) + +#define VPC_MEMMAXRES (VPG_MEM + 1) +#define VPC_MEMSHARED (VPC_MEMMAXRES + 1) +#define VPC_MEMUNSHAREDDATA (VPC_MEMSHARED + 1) +#define VPC_MEMUNSHAREDSTACK (VPC_MEMUNSHAREDDATA + 1) + +/* OpenGL ES11 Counters. */ +#define VPC_ES11ACTIVETEXTURE (VPG_ES11 + ES11_ACTIVETEXTURE) +#define VPC_ES11ALPHAFUNC (VPG_ES11 + ES11_ALPHAFUNC) +#define VPC_ES11ALPHAFUNCX (VPG_ES11 + ES11_ALPHAFUNCX) +#define VPC_ES11BINDBUFFER (VPG_ES11 + ES11_BINDBUFFER) +#define VPC_ES11BINDTEXTURE (VPG_ES11 + ES11_BINDTEXTURE) +#define VPC_ES11BLENDFUNC (VPG_ES11 + ES11_BLENDFUNC) +#define VPC_ES11BUFFERDATA (VPG_ES11 + ES11_BUFFERDATA) +#define VPC_ES11BUFFERSUBDATA (VPG_ES11 + ES11_BUFFERSUBDATA) +#define VPC_ES11CLEAR (VPG_ES11 + ES11_CLEAR) +#define VPC_ES11CLEARCOLOR (VPG_ES11 + ES11_CLEARCOLOR) +#define VPC_ES11CLEARCOLORX (VPG_ES11 + ES11_CLEARCOLORX) +#define VPC_ES11CLEARDEPTHF (VPG_ES11 + ES11_CLEARDEPTHF) +#define VPC_ES11CLEARDEPTHX (VPG_ES11 + ES11_CLEARDEPTHX) +#define VPC_ES11CLEARSTENCIL (VPG_ES11 + ES11_CLEARSTENCIL) +#define VPC_ES11CLIENTACTIVETEXTURE (VPG_ES11 + ES11_CLIENTACTIVETEXTURE) +#define VPC_ES11CLIPPLANEF (VPG_ES11 + ES11_CLIPPLANEF) +#define VPC_ES11CLIPPLANEX (VPG_ES11 + ES11_CLIPPLANEX) +#define VPC_ES11COLOR4F (VPG_ES11 + ES11_COLOR4F) +#define VPC_ES11COLOR4UB (VPG_ES11 + ES11_COLOR4UB) +#define VPC_ES11COLOR4X (VPG_ES11 + ES11_COLOR4X) +#define VPC_ES11COLORMASK (VPG_ES11 + ES11_COLORMASK) +#define VPC_ES11COLORPOINTER (VPG_ES11 + ES11_COLORPOINTER) +#define VPC_ES11COMPRESSEDTEXIMAGE2D (VPG_ES11 + ES11_COMPRESSEDTEXIMAGE2D) +#define VPC_ES11COMPRESSEDTEXSUBIMAGE2D (VPG_ES11 + ES11_COMPRESSEDTEXSUBIMAGE2D) +#define VPC_ES11COPYTEXIMAGE2D (VPG_ES11 + ES11_COPYTEXIMAGE2D) +#define VPC_ES11COPYTEXSUBIMAGE2D (VPG_ES11 + ES11_COPYTEXSUBIMAGE2D) +#define VPC_ES11CULLFACE (VPG_ES11 + ES11_CULLFACE) +#define VPC_ES11DELETEBUFFERS (VPG_ES11 + ES11_DELETEBUFFERS) +#define VPC_ES11DELETETEXTURES (VPG_ES11 + ES11_DELETETEXTURES) +#define VPC_ES11DEPTHFUNC (VPG_ES11 + ES11_DEPTHFUNC) +#define VPC_ES11DEPTHMASK (VPG_ES11 + ES11_DEPTHMASK) +#define VPC_ES11DEPTHRANGEF (VPG_ES11 + ES11_DEPTHRANGEF) +#define VPC_ES11DEPTHRANGEX (VPG_ES11 + ES11_DEPTHRANGEX) +#define VPC_ES11DISABLE (VPG_ES11 + ES11_DISABLE) +#define VPC_ES11DISABLECLIENTSTATE (VPG_ES11 + ES11_DISABLECLIENTSTATE) +#define VPC_ES11DRAWARRAYS (VPG_ES11 + ES11_DRAWARRAYS) +#define VPC_ES11DRAWELEMENTS (VPG_ES11 + ES11_DRAWELEMENTS) +#define VPC_ES11ENABLE (VPG_ES11 + ES11_ENABLE) +#define VPC_ES11ENABLECLIENTSTATE (VPG_ES11 + ES11_ENABLECLIENTSTATE) +#define VPC_ES11FINISH (VPG_ES11 + ES11_FINISH) +#define VPC_ES11FLUSH (VPG_ES11 + ES11_FLUSH) +#define VPC_ES11FOGF (VPG_ES11 + ES11_FOGF) +#define VPC_ES11FOGFV (VPG_ES11 + ES11_FOGFV) +#define VPC_ES11FOGX (VPG_ES11 + ES11_FOGX) +#define VPC_ES11FOGXV (VPG_ES11 + ES11_FOGXV) +#define VPC_ES11FRONTFACE (VPG_ES11 + ES11_FRONTFACE) +#define VPC_ES11FRUSTUMF (VPG_ES11 + ES11_FRUSTUMF) +#define VPC_ES11FRUSTUMX (VPG_ES11 + ES11_FRUSTUMX) +#define VPC_ES11GENBUFFERS (VPG_ES11 + ES11_GENBUFFERS) +#define VPC_ES11GENTEXTURES (VPG_ES11 + ES11_GENTEXTURES) +#define VPC_ES11GETBOOLEANV (VPG_ES11 + ES11_GETBOOLEANV) +#define VPC_ES11GETBUFFERPARAMETERIV (VPG_ES11 + ES11_GETBUFFERPARAMETERIV) +#define VPC_ES11GETCLIPPLANEF (VPG_ES11 + ES11_GETCLIPPLANEF) +#define VPC_ES11GETCLIPPLANEX (VPG_ES11 + ES11_GETCLIPPLANEX) +#define VPC_ES11GETERROR (VPG_ES11 + ES11_GETERROR) +#define VPC_ES11GETFIXEDV (VPG_ES11 + ES11_GETFIXEDV) +#define VPC_ES11GETFLOATV (VPG_ES11 + ES11_GETFLOATV) +#define VPC_ES11GETINTEGERV (VPG_ES11 + ES11_GETINTEGERV) +#define VPC_ES11GETLIGHTFV (VPG_ES11 + ES11_GETLIGHTFV) +#define VPC_ES11GETLIGHTXV (VPG_ES11 + ES11_GETLIGHTXV) +#define VPC_ES11GETMATERIALFV (VPG_ES11 + ES11_GETMATERIALFV) +#define VPC_ES11GETMATERIALXV (VPG_ES11 + ES11_GETMATERIALXV) +#define VPC_ES11GETPOINTERV (VPG_ES11 + ES11_GETPOINTERV) +#define VPC_ES11GETSTRING (VPG_ES11 + ES11_GETSTRING) +#define VPC_ES11GETTEXENVFV (VPG_ES11 + ES11_GETTEXENVFV) +#define VPC_ES11GETTEXENVIV (VPG_ES11 + ES11_GETTEXENVIV) +#define VPC_ES11GETTEXENVXV (VPG_ES11 + ES11_GETTEXENVXV) +#define VPC_ES11GETTEXPARAMETERFV (VPG_ES11 + ES11_GETTEXPARAMETERFV) +#define VPC_ES11GETTEXPARAMETERIV (VPG_ES11 + ES11_GETTEXPARAMETERIV) +#define VPC_ES11GETTEXPARAMETERXV (VPG_ES11 + ES11_GETTEXPARAMETERXV) +#define VPC_ES11HINT (VPG_ES11 + ES11_HINT) +#define VPC_ES11ISBUFFER (VPG_ES11 + ES11_ISBUFFER) +#define VPC_ES11ISENABLED (VPG_ES11 + ES11_ISENABLED) +#define VPC_ES11ISTEXTURE (VPG_ES11 + ES11_ISTEXTURE) +#define VPC_ES11LIGHTF (VPG_ES11 + ES11_LIGHTF) +#define VPC_ES11LIGHTFV (VPG_ES11 + ES11_LIGHTFV) +#define VPC_ES11LIGHTMODELF (VPG_ES11 + ES11_LIGHTMODELF) +#define VPC_ES11LIGHTMODELFV (VPG_ES11 + ES11_LIGHTMODELFV) +#define VPC_ES11LIGHTMODELX (VPG_ES11 + ES11_LIGHTMODELX) +#define VPC_ES11LIGHTMODELXV (VPG_ES11 + ES11_LIGHTMODELXV) +#define VPC_ES11LIGHTX (VPG_ES11 + ES11_LIGHTX) +#define VPC_ES11LIGHTXV (VPG_ES11 + ES11_LIGHTXV) +#define VPC_ES11LINEWIDTH (VPG_ES11 + ES11_LINEWIDTH) +#define VPC_ES11LINEWIDTHX (VPG_ES11 + ES11_LINEWIDTHX) +#define VPC_ES11LOADIDENTITY (VPG_ES11 + ES11_LOADIDENTITY) +#define VPC_ES11LOADMATRIXF (VPG_ES11 + ES11_LOADMATRIXF) +#define VPC_ES11LOADMATRIXX (VPG_ES11 + ES11_LOADMATRIXX) +#define VPC_ES11LOGICOP (VPG_ES11 + ES11_LOGICOP) +#define VPC_ES11MATERIALF (VPG_ES11 + ES11_MATERIALF) +#define VPC_ES11MATERIALFV (VPG_ES11 + ES11_MATERIALFV) +#define VPC_ES11MATERIALX (VPG_ES11 + ES11_MATERIALX) +#define VPC_ES11MATERIALXV (VPG_ES11 + ES11_MATERIALXV) +#define VPC_ES11MATRIXMODE (VPG_ES11 + ES11_MATRIXMODE) +#define VPC_ES11MULTITEXCOORD4F (VPG_ES11 + ES11_MULTITEXCOORD4F) +#define VPC_ES11MULTITEXCOORD4X (VPG_ES11 + ES11_MULTITEXCOORD4X) +#define VPC_ES11MULTMATRIXF (VPG_ES11 + ES11_MULTMATRIXF) +#define VPC_ES11MULTMATRIXX (VPG_ES11 + ES11_MULTMATRIXX) +#define VPC_ES11NORMAL3F (VPG_ES11 + ES11_NORMAL3F) +#define VPC_ES11NORMAL3X (VPG_ES11 + ES11_NORMAL3X) +#define VPC_ES11NORMALPOINTER (VPG_ES11 + ES11_NORMALPOINTER) +#define VPC_ES11ORTHOF (VPG_ES11 + ES11_ORTHOF) +#define VPC_ES11ORTHOX (VPG_ES11 + ES11_ORTHOX) +#define VPC_ES11PIXELSTOREI (VPG_ES11 + ES11_PIXELSTOREI) +#define VPC_ES11POINTPARAMETERF (VPG_ES11 + ES11_POINTPARAMETERF) +#define VPC_ES11POINTPARAMETERFV (VPG_ES11 + ES11_POINTPARAMETERFV) +#define VPC_ES11POINTPARAMETERX (VPG_ES11 + ES11_POINTPARAMETERX) +#define VPC_ES11POINTPARAMETERXV (VPG_ES11 + ES11_POINTPARAMETERXV) +#define VPC_ES11POINTSIZE (VPG_ES11 + ES11_POINTSIZE) +#define VPC_ES11POINTSIZEX (VPG_ES11 + ES11_POINTSIZEX) +#define VPC_ES11POLYGONOFFSET (VPG_ES11 + ES11_POLYGONOFFSET) +#define VPC_ES11POLYGONOFFSETX (VPG_ES11 + ES11_POLYGONOFFSETX) +#define VPC_ES11POPMATRIX (VPG_ES11 + ES11_POPMATRIX) +#define VPC_ES11PUSHMATRIX (VPG_ES11 + ES11_PUSHMATRIX) +#define VPC_ES11READPIXELS (VPG_ES11 + ES11_READPIXELS) +#define VPC_ES11ROTATEF (VPG_ES11 + ES11_ROTATEF) +#define VPC_ES11ROTATEX (VPG_ES11 + ES11_ROTATEX) +#define VPC_ES11SAMPLECOVERAGE (VPG_ES11 + ES11_SAMPLECOVERAGE) +#define VPC_ES11SAMPLECOVERAGEX (VPG_ES11 + ES11_SAMPLECOVERAGEX) +#define VPC_ES11SCALEF (VPG_ES11 + ES11_SCALEF) +#define VPC_ES11SCALEX (VPG_ES11 + ES11_SCALEX) +#define VPC_ES11SCISSOR (VPG_ES11 + ES11_SCISSOR) +#define VPC_ES11SHADEMODEL (VPG_ES11 + ES11_SHADEMODEL) +#define VPC_ES11STENCILFUNC (VPG_ES11 + ES11_STENCILFUNC) +#define VPC_ES11STENCILMASK (VPG_ES11 + ES11_STENCILMASK) +#define VPC_ES11STENCILOP (VPG_ES11 + ES11_STENCILOP) +#define VPC_ES11TEXCOORDPOINTER (VPG_ES11 + ES11_TEXCOORDPOINTER) +#define VPC_ES11TEXENVF (VPG_ES11 + ES11_TEXENVF) +#define VPC_ES11TEXENVFV (VPG_ES11 + ES11_TEXENVFV) +#define VPC_ES11TEXENVI (VPG_ES11 + ES11_TEXENVI) +#define VPC_ES11TEXENVIV (VPG_ES11 + ES11_TEXENVIV) +#define VPC_ES11TEXENVX (VPG_ES11 + ES11_TEXENVX) +#define VPC_ES11TEXENVXV (VPG_ES11 + ES11_TEXENVXV) +#define VPC_ES11TEXIMAGE2D (VPG_ES11 + ES11_TEXIMAGE2D) +#define VPC_ES11TEXPARAMETERF (VPG_ES11 + ES11_TEXPARAMETERF) +#define VPC_ES11TEXPARAMETERFV (VPG_ES11 + ES11_TEXPARAMETERFV) +#define VPC_ES11TEXPARAMETERI (VPG_ES11 + ES11_TEXPARAMETERI) +#define VPC_ES11TEXPARAMETERIV (VPG_ES11 + ES11_TEXPARAMETERIV) +#define VPC_ES11TEXPARAMETERX (VPG_ES11 + ES11_TEXPARAMETERX) +#define VPC_ES11TEXPARAMETERXV (VPG_ES11 + ES11_TEXPARAMETERXV) +#define VPC_ES11TEXSUBIMAGE2D (VPG_ES11 + ES11_TEXSUBIMAGE2D) +#define VPC_ES11TRANSLATEF (VPG_ES11 + ES11_TRANSLATEF) +#define VPC_ES11TRANSLATEX (VPG_ES11 + ES11_TRANSLATEX) +#define VPC_ES11VERTEXPOINTER (VPG_ES11 + ES11_VERTEXPOINTER) +#define VPC_ES11VIEWPORT (VPG_ES11 + ES11_VIEWPORT) +/* OpenGL ES11 Statics Counter IDs. */ +#define VPC_ES11CALLS (VPG_ES11 + ES11_CALLS) +#define VPC_ES11DRAWCALLS (VPG_ES11 + ES11_DRAWCALLS) +#define VPC_ES11STATECHANGECALLS (VPG_ES11 + ES11_STATECHANGECALLS) +#define VPC_ES11POINTCOUNT (VPG_ES11 + ES11_POINTCOUNT) +#define VPC_ES11LINECOUNT (VPG_ES11 + ES11_LINECOUNT) +#define VPC_ES11TRIANGLECOUNT (VPG_ES11 + ES11_TRIANGLECOUNT) + +/* OpenGLES 2.x */ +#define VPC_ES20ACTIVETEXTURE (VPG_ES20 + ES20_ACTIVETEXTURE) +#define VPC_ES20ATTACHSHADER (VPG_ES20 + ES20_ATTACHSHADER) +#define VPC_ES20BINDATTRIBLOCATION (VPG_ES20 + ES20_BINDATTRIBLOCATION) +#define VPC_ES20BINDBUFFER (VPG_ES20 + ES20_BINDBUFFER) +#define VPC_ES20BINDFRAMEBUFFER (VPG_ES20 + ES20_BINDFRAMEBUFFER) +#define VPC_ES20BINDRENDERBUFFER (VPG_ES20 + ES20_BINDRENDERBUFFER) +#define VPC_ES20BINDTEXTURE (VPG_ES20 + ES20_BINDTEXTURE) +#define VPC_ES20BLENDCOLOR (VPG_ES20 + ES20_BLENDCOLOR) +#define VPC_ES20BLENDEQUATION (VPG_ES20 + ES20_BLENDEQUATION) +#define VPC_ES20BLENDEQUATIONSEPARATE (VPG_ES20 + ES20_BLENDEQUATIONSEPARATE) +#define VPC_ES20BLENDFUNC (VPG_ES20 + ES20_BLENDFUNC) +#define VPC_ES20BLENDFUNCSEPARATE (VPG_ES20 + ES20_BLENDFUNCSEPARATE) +#define VPC_ES20BUFFERDATA (VPG_ES20 + ES20_BUFFERDATA) +#define VPC_ES20BUFFERSUBDATA (VPG_ES20 + ES20_BUFFERSUBDATA) +#define VPC_ES20CHECKFRAMEBUFFERSTATUS (VPG_ES20 + ES20_CHECKFRAMEBUFFERSTATUS) +#define VPC_ES20CLEAR (VPG_ES20 + ES20_CLEAR) +#define VPC_ES20CLEARCOLOR (VPG_ES20 + ES20_CLEARCOLOR) +#define VPC_ES20CLEARDEPTHF (VPG_ES20 + ES20_CLEARDEPTHF) +#define VPC_ES20CLEARSTENCIL (VPG_ES20 + ES20_CLEARSTENCIL) +#define VPC_ES20COLORMASK (VPG_ES20 + ES20_COLORMASK) +#define VPC_ES20COMPILESHADER (VPG_ES20 + ES20_COMPILESHADER) +#define VPC_ES20COMPRESSEDTEXIMAGE2D (VPG_ES20 + ES20_COMPRESSEDTEXIMAGE2D) +#define VPC_ES20COMPRESSEDTEXSUBIMAGE2D (VPG_ES20 + ES20_COMPRESSEDTEXSUBIMAGE2D) +#define VPC_ES20COPYTEXIMAGE2D (VPG_ES20 + ES20_COPYTEXIMAGE2D) +#define VPC_ES20COPYTEXSUBIMAGE2D (VPG_ES20 + ES20_COPYTEXSUBIMAGE2D) +#define VPC_ES20CREATEPROGRAM (VPG_ES20 + ES20_CREATEPROGRAM) +#define VPC_ES20CREATESHADER (VPG_ES20 + ES20_CREATESHADER) +#define VPC_ES20CULLFACE (VPG_ES20 + ES20_CULLFACE) +#define VPC_ES20DELETEBUFFERS (VPG_ES20 + ES20_DELETEBUFFERS) +#define VPC_ES20DELETEFRAMEBUFFERS (VPG_ES20 + ES20_DELETEFRAMEBUFFERS) +#define VPC_ES20DELETEPROGRAM (VPG_ES20 + ES20_DELETEPROGRAM) +#define VPC_ES20DELETERENDERBUFFERS (VPG_ES20 + ES20_DELETERENDERBUFFERS) +#define VPC_ES20DELETESHADER (VPG_ES20 + ES20_DELETESHADER) +#define VPC_ES20DELETETEXTURES (VPG_ES20 + ES20_DELETETEXTURES) +#define VPC_ES20DEPTHFUNC (VPG_ES20 + ES20_DEPTHFUNC) +#define VPC_ES20DEPTHMASK (VPG_ES20 + ES20_DEPTHMASK) +#define VPC_ES20DEPTHRANGEF (VPG_ES20 + ES20_DEPTHRANGEF) +#define VPC_ES20DETACHSHADER (VPG_ES20 + ES20_DETACHSHADER) +#define VPC_ES20DISABLE (VPG_ES20 + ES20_DISABLE) +#define VPC_ES20DISABLEVERTEXATTRIBARRAY (VPG_ES20 + ES20_DISABLEVERTEXATTRIBARRAY) +#define VPC_ES20DRAWARRAYS (VPG_ES20 + ES20_DRAWARRAYS) +#define VPC_ES20DRAWELEMENTS (VPG_ES20 + ES20_DRAWELEMENTS) +#define VPC_ES20ENABLE (VPG_ES20 + ES20_ENABLE) +#define VPC_ES20ENABLEVERTEXATTRIBARRAY (VPG_ES20 + ES20_ENABLEVERTEXATTRIBARRAY) +#define VPC_ES20FINISH (VPG_ES20 + ES20_FINISH) +#define VPC_ES20FLUSH (VPG_ES20 + ES20_FLUSH) +#define VPC_ES20FRAMEBUFFERRENDERBUFFER (VPG_ES20 + ES20_FRAMEBUFFERRENDERBUFFER) +#define VPC_ES20FRAMEBUFFERTEXTURE2D (VPG_ES20 + ES20_FRAMEBUFFERTEXTURE2D) +#define VPC_ES20FRONTFACE (VPG_ES20 + ES20_FRONTFACE) +#define VPC_ES20GENBUFFERS (VPG_ES20 + ES20_GENBUFFERS) +#define VPC_ES20GENERATEMIPMAP (VPG_ES20 + ES20_GENERATEMIPMAP) +#define VPC_ES20GENFRAMEBUFFERS (VPG_ES20 + ES20_GENFRAMEBUFFERS) +#define VPC_ES20GENRENDERBUFFERS (VPG_ES20 + ES20_GENRENDERBUFFERS) +#define VPC_ES20GENTEXTURES (VPG_ES20 + ES20_GENTEXTURES) +#define VPC_ES20GETACTIVEATTRIB (VPG_ES20 + ES20_GETACTIVEATTRIB) +#define VPC_ES20GETACTIVEUNIFORM (VPG_ES20 + ES20_GETACTIVEUNIFORM) +#define VPC_ES20GETATTACHEDSHADERS (VPG_ES20 + ES20_GETATTACHEDSHADERS) +#define VPC_ES20GETATTRIBLOCATION (VPG_ES20 + ES20_GETATTRIBLOCATION) +#define VPC_ES20GETBOOLEANV (VPG_ES20 + ES20_GETBOOLEANV) +#define VPC_ES20GETBUFFERPARAMETERIV (VPG_ES20 + ES20_GETBUFFERPARAMETERIV) +#define VPC_ES20GETERROR (VPG_ES20 + ES20_GETERROR) +#define VPC_ES20GETFLOATV (VPG_ES20 + ES20_GETFLOATV) +#define VPC_ES20GETFRAMEBUFFERATTACHMENTPARAMETERIV (VPG_ES20 + ES20_GETFRAMEBUFFERATTACHMENTPARAMETERIV) +#define VPC_ES20GETINTEGERV (VPG_ES20 + ES20_GETINTEGERV) +#define VPC_ES20GETPROGRAMIV (VPG_ES20 + ES20_GETPROGRAMIV) +#define VPC_ES20GETPROGRAMINFOLOG (VPG_ES20 + ES20_GETPROGRAMINFOLOG) +#define VPC_ES20GETRENDERBUFFERPARAMETERIV (VPG_ES20 + ES20_GETRENDERBUFFERPARAMETERIV) +#define VPC_ES20GETSHADERIV (VPG_ES20 + ES20_GETSHADERIV) +#define VPC_ES20GETSHADERINFOLOG (VPG_ES20 + ES20_GETSHADERINFOLOG) +#define VPC_ES20GETSHADERPRECISIONFORMAT (VPG_ES20 + ES20_GETSHADERPRECISIONFORMAT) +#define VPC_ES20GETSHADERSOURCE (VPG_ES20 + ES20_GETSHADERSOURCE) +#define VPC_ES20GETSTRING (VPG_ES20 + ES20_GETSTRING) +#define VPC_ES20GETTEXPARAMETERFV (VPG_ES20 + ES20_GETTEXPARAMETERFV) +#define VPC_ES20GETTEXPARAMETERIV (VPG_ES20 + ES20_GETTEXPARAMETERIV) +#define VPC_ES20GETUNIFORMFV (VPG_ES20 + ES20_GETUNIFORMFV) +#define VPC_ES20GETUNIFORMIV (VPG_ES20 + ES20_GETUNIFORMIV) +#define VPC_ES20GETUNIFORMLOCATION (VPG_ES20 + ES20_GETUNIFORMLOCATION) +#define VPC_ES20GETVERTEXATTRIBFV (VPG_ES20 + ES20_GETVERTEXATTRIBFV) +#define VPC_ES20GETVERTEXATTRIBIV (VPG_ES20 + ES20_GETVERTEXATTRIBIV) +#define VPC_ES20GETVERTEXATTRIBPOINTERV (VPG_ES20 + ES20_GETVERTEXATTRIBPOINTERV) +#define VPC_ES20HINT (VPG_ES20 + ES20_HINT) +#define VPC_ES20ISBUFFER (VPG_ES20 + ES20_ISBUFFER) +#define VPC_ES20ISENABLED (VPG_ES20 + ES20_ISENABLED) +#define VPC_ES20ISFRAMEBUFFER (VPG_ES20 + ES20_ISFRAMEBUFFER) +#define VPC_ES20ISPROGRAM (VPG_ES20 + ES20_ISPROGRAM) +#define VPC_ES20ISRENDERBUFFER (VPG_ES20 + ES20_ISRENDERBUFFER) +#define VPC_ES20ISSHADER (VPG_ES20 + ES20_ISSHADER) +#define VPC_ES20ISTEXTURE (VPG_ES20 + ES20_ISTEXTURE) +#define VPC_ES20LINEWIDTH (VPG_ES20 + ES20_LINEWIDTH) +#define VPC_ES20LINKPROGRAM (VPG_ES20 + ES20_LINKPROGRAM) +#define VPC_ES20PIXELSTOREI (VPG_ES20 + ES20_PIXELSTOREI) +#define VPC_ES20POLYGONOFFSET (VPG_ES20 + ES20_POLYGONOFFSET) +#define VPC_ES20READPIXELS (VPG_ES20 + ES20_READPIXELS) +#define VPC_ES20RELEASESHADERCOMPILER (VPG_ES20 + ES20_RELEASESHADERCOMPILER) +#define VPC_ES20RENDERBUFFERSTORAGE (VPG_ES20 + ES20_RENDERBUFFERSTORAGE) +#define VPC_ES20SAMPLECOVERAGE (VPG_ES20 + ES20_SAMPLECOVERAGE) +#define VPC_ES20SCISSOR (VPG_ES20 + ES20_SCISSOR) +#define VPC_ES20SHADERBINARY (VPG_ES20 + ES20_SHADERBINARY) +#define VPC_ES20SHADERSOURCE (VPG_ES20 + ES20_SHADERSOURCE) +#define VPC_ES20STENCILFUNC (VPG_ES20 + ES20_STENCILFUNC) +#define VPC_ES20STENCILFUNCSEPARATE (VPG_ES20 + ES20_STENCILFUNCSEPARATE) +#define VPC_ES20STENCILMASK (VPG_ES20 + ES20_STENCILMASK) +#define VPC_ES20STENCILMASKSEPARATE (VPG_ES20 + ES20_STENCILMASKSEPARATE) +#define VPC_ES20STENCILOP (VPG_ES20 + ES20_STENCILOP) +#define VPC_ES20STENCILOPSEPARATE (VPG_ES20 + ES20_STENCILOPSEPARATE) +#define VPC_ES20TEXIMAGE2D (VPG_ES20 + ES20_TEXIMAGE2D) +#define VPC_ES20TEXPARAMETERF (VPG_ES20 + ES20_TEXPARAMETERF) +#define VPC_ES20TEXPARAMETERFV (VPG_ES20 + ES20_TEXPARAMETERFV) +#define VPC_ES20TEXPARAMETERI (VPG_ES20 + ES20_TEXPARAMETERI) +#define VPC_ES20TEXPARAMETERIV (VPG_ES20 + ES20_TEXPARAMETERIV) +#define VPC_ES20TEXSUBIMAGE2D (VPG_ES20 + ES20_TEXSUBIMAGE2D) +#define VPC_ES20UNIFORM1F (VPG_ES20 + ES20_UNIFORM1F) +#define VPC_ES20UNIFORM1FV (VPG_ES20 + ES20_UNIFORM1FV) +#define VPC_ES20UNIFORM1I (VPG_ES20 + ES20_UNIFORM1I) +#define VPC_ES20UNIFORM1IV (VPG_ES20 + ES20_UNIFORM1IV) +#define VPC_ES20UNIFORM2F (VPG_ES20 + ES20_UNIFORM2F) +#define VPC_ES20UNIFORM2FV (VPG_ES20 + ES20_UNIFORM2FV) +#define VPC_ES20UNIFORM2I (VPG_ES20 + ES20_UNIFORM2I) +#define VPC_ES20UNIFORM2IV (VPG_ES20 + ES20_UNIFORM2IV) +#define VPC_ES20UNIFORM3F (VPG_ES20 + ES20_UNIFORM3F) +#define VPC_ES20UNIFORM3FV (VPG_ES20 + ES20_UNIFORM3FV) +#define VPC_ES20UNIFORM3I (VPG_ES20 + ES20_UNIFORM3I) +#define VPC_ES20UNIFORM3IV (VPG_ES20 + ES20_UNIFORM3IV) +#define VPC_ES20UNIFORM4F (VPG_ES20 + ES20_UNIFORM4F) +#define VPC_ES20UNIFORM4FV (VPG_ES20 + ES20_UNIFORM4FV) +#define VPC_ES20UNIFORM4I (VPG_ES20 + ES20_UNIFORM4I) +#define VPC_ES20UNIFORM4IV (VPG_ES20 + ES20_UNIFORM4IV) +#define VPC_ES20UNIFORMMATRIX2FV (VPG_ES20 + ES20_UNIFORMMATRIX2FV) +#define VPC_ES20UNIFORMMATRIX3FV (VPG_ES20 + ES20_UNIFORMMATRIX3FV) +#define VPC_ES20UNIFORMMATRIX4FV (VPG_ES20 + ES20_UNIFORMMATRIX4FV) +#define VPC_ES20USEPROGRAM (VPG_ES20 + ES20_USEPROGRAM) +#define VPC_ES20VALIDATEPROGRAM (VPG_ES20 + ES20_VALIDATEPROGRAM) +#define VPC_ES20VERTEXATTRIB1F (VPG_ES20 + ES20_VERTEXATTRIB1F) +#define VPC_ES20VERTEXATTRIB1FV (VPG_ES20 + ES20_VERTEXATTRIB1FV) +#define VPC_ES20VERTEXATTRIB2F (VPG_ES20 + ES20_VERTEXATTRIB2F) +#define VPC_ES20VERTEXATTRIB2FV (VPG_ES20 + ES20_VERTEXATTRIB2FV) +#define VPC_ES20VERTEXATTRIB3F (VPG_ES20 + ES20_VERTEXATTRIB3F) +#define VPC_ES20VERTEXATTRIB3FV (VPG_ES20 + ES20_VERTEXATTRIB3FV) +#define VPC_ES20VERTEXATTRIB4F (VPG_ES20 + ES20_VERTEXATTRIB4F) +#define VPC_ES20VERTEXATTRIB4FV (VPG_ES20 + ES20_VERTEXATTRIB4FV) +#define VPC_ES20VERTEXATTRIBPOINTER (VPG_ES20 + ES20_VERTEXATTRIBPOINTER) +#define VPC_ES20VIEWPORT (VPG_ES20 + ES20_VIEWPORT) +/* OpenGL ES20 Statistics Counter IDs. */ +#define VPC_ES20CALLS (VPG_ES20 + ES20_CALLS) +#define VPC_ES20DRAWCALLS (VPG_ES20 + ES20_DRAWCALLS) +#define VPC_ES20STATECHANGECALLS (VPG_ES20 + ES20_STATECHANGECALLS) +#define VPC_ES20POINTCOUNT (VPG_ES20 + ES20_POINTCOUNT) +#define VPC_ES20LINECOUNT (VPG_ES20 + ES20_LINECOUNT) +#define VPC_ES20TRIANGLECOUNT (VPG_ES20 + ES20_TRIANGLECOUNT) + +/* VG11 Counters. */ +#define VPC_VG11APPENDPATH (VPG_VG11 + VG11_APPENDPATH) +#define VPC_VG11APPENDPATHDATA (VPG_VG11 + VG11_APPENDPATHDATA) +#define VPC_VG11CHILDIMAGE (VPG_VG11 + VG11_CHILDIMAGE) +#define VPC_VG11CLEAR (VPG_VG11 + VG11_CLEAR) +#define VPC_VG11CLEARGLYPH (VPG_VG11 + VG11_CLEARGLYPH) +#define VPC_VG11CLEARIMAGE (VPG_VG11 + VG11_CLEARIMAGE) +#define VPC_VG11CLEARPATH (VPG_VG11 + VG11_CLEARPATH) +#define VPC_VG11COLORMATRIX (VPG_VG11 + VG11_COLORMATRIX) +#define VPC_VG11CONVOLVE (VPG_VG11 + VG11_CONVOLVE) +#define VPC_VG11COPYIMAGE (VPG_VG11 + VG11_COPYIMAGE) +#define VPC_VG11COPYMASK (VPG_VG11 + VG11_COPYMASK) +#define VPC_VG11COPYPIXELS (VPG_VG11 + VG11_COPYPIXELS) +#define VPC_VG11CREATEFONT (VPG_VG11 + VG11_CREATEFONT) +#define VPC_VG11CREATEIMAGE (VPG_VG11 + VG11_CREATEIMAGE) +#define VPC_VG11CREATEMASKLAYER (VPG_VG11 + VG11_CREATEMASKLAYER) +#define VPC_VG11CREATEPAINT (VPG_VG11 + VG11_CREATEPAINT) +#define VPC_VG11CREATEPATH (VPG_VG11 + VG11_CREATEPATH) +#define VPC_VG11DESTROYFONT (VPG_VG11 + VG11_DESTROYFONT) +#define VPC_VG11DESTROYIMAGE (VPG_VG11 + VG11_DESTROYIMAGE) +#define VPC_VG11DESTROYMASKLAYER (VPG_VG11 + VG11_DESTROYMASKLAYER) +#define VPC_VG11DESTROYPAINT (VPG_VG11 + VG11_DESTROYPAINT) +#define VPC_VG11DESTROYPATH (VPG_VG11 + VG11_DESTROYPATH) +#define VPC_VG11DRAWGLYPH (VPG_VG11 + VG11_DRAWGLYPH) +#define VPC_VG11DRAWGLYPHS (VPG_VG11 + VG11_DRAWGLYPHS) +#define VPC_VG11DRAWIMAGE (VPG_VG11 + VG11_DRAWIMAGE) +#define VPC_VG11DRAWPATH (VPG_VG11 + VG11_DRAWPATH) +#define VPC_VG11FILLMASKLAYER (VPG_VG11 + VG11_FILLMASKLAYER) +#define VPC_VG11FINISH (VPG_VG11 + VG11_FINISH) +#define VPC_VG11FLUSH (VPG_VG11 + VG11_FLUSH) +#define VPC_VG11GAUSSIANBLUR (VPG_VG11 + VG11_GAUSSIANBLUR) +#define VPC_VG11GETCOLOR (VPG_VG11 + VG11_GETCOLOR) +#define VPC_VG11GETERROR (VPG_VG11 + VG11_GETERROR) +#define VPC_VG11GETF (VPG_VG11 + VG11_GETF) +#define VPC_VG11GETFV (VPG_VG11 + VG11_GETFV) +#define VPC_VG11GETI (VPG_VG11 + VG11_GETI) +#define VPC_VG11GETIMAGESUBDATA (VPG_VG11 + VG11_GETIMAGESUBDATA) +#define VPC_VG11GETIV (VPG_VG11 + VG11_GETIV) +#define VPC_VG11GETMATRIX (VPG_VG11 + VG11_GETMATRIX) +#define VPC_VG11GETPAINT (VPG_VG11 + VG11_GETPAINT) +#define VPC_VG11GETPARAMETERF (VPG_VG11 + VG11_GETPARAMETERF) +#define VPC_VG11GETPARAMETERFV (VPG_VG11 + VG11_GETPARAMETERFV) +#define VPC_VG11GETPARAMETERI (VPG_VG11 + VG11_GETPARAMETERI) +#define VPC_VG11GETPARAMETERIV (VPG_VG11 + VG11_GETPARAMETERIV) +#define VPC_VG11GETPARAMETERVECTORSIZE (VPG_VG11 + VG11_GETPARAMETERVECTORSIZE) +#define VPC_VG11GETPARENT (VPG_VG11 + VG11_GETPARENT) +#define VPC_VG11GETPATHCAPABILITIES (VPG_VG11 + VG11_GETPATHCAPABILITIES) +#define VPC_VG11GETPIXELS (VPG_VG11 + VG11_GETPIXELS) +#define VPC_VG11GETSTRING (VPG_VG11 + VG11_GETSTRING) +#define VPC_VG11GETVECTORSIZE (VPG_VG11 + VG11_GETVECTORSIZE) +#define VPC_VG11HARDWAREQUERY (VPG_VG11 + VG11_HARDWAREQUERY) +#define VPC_VG11IMAGESUBDATA (VPG_VG11 + VG11_IMAGESUBDATA) +#define VPC_VG11INTERPOLATEPATH (VPG_VG11 + VG11_INTERPOLATEPATH) +#define VPC_VG11LOADIDENTITY (VPG_VG11 + VG11_LOADIDENTITY) +#define VPC_VG11LOADMATRIX (VPG_VG11 + VG11_LOADMATRIX) +#define VPC_VG11LOOKUP (VPG_VG11 + VG11_LOOKUP) +#define VPC_VG11LOOKUPSINGLE (VPG_VG11 + VG11_LOOKUPSINGLE) +#define VPC_VG11MASK (VPG_VG11 + VG11_MASK) +#define VPC_VG11MODIFYPATHCOORDS (VPG_VG11 + VG11_MODIFYPATHCOORDS) +#define VPC_VG11MULTMATRIX (VPG_VG11 + VG11_MULTMATRIX) +#define VPC_VG11PAINTPATTERN (VPG_VG11 + VG11_PAINTPATTERN) +#define VPC_VG11PATHBOUNDS (VPG_VG11 + VG11_PATHBOUNDS) +#define VPC_VG11PATHLENGTH (VPG_VG11 + VG11_PATHLENGTH) +#define VPC_VG11PATHTRANSFORMEDBOUNDS (VPG_VG11 + VG11_PATHTRANSFORMEDBOUNDS) +#define VPC_VG11POINTALONGPATH (VPG_VG11 + VG11_POINTALONGPATH) +#define VPC_VG11READPIXELS (VPG_VG11 + VG11_READPIXELS) +#define VPC_VG11REMOVEPATHCAPABILITIES (VPG_VG11 + VG11_REMOVEPATHCAPABILITIES) +#define VPC_VG11RENDERTOMASK (VPG_VG11 + VG11_RENDERTOMASK) +#define VPC_VG11ROTATE (VPG_VG11 + VG11_ROTATE) +#define VPC_VG11SCALE (VPG_VG11 + VG11_SCALE) +#define VPC_VG11SEPARABLECONVOLVE (VPG_VG11 + VG11_SEPARABLECONVOLVE) +#define VPC_VG11SETCOLOR (VPG_VG11 + VG11_SETCOLOR) +#define VPC_VG11SETF (VPG_VG11 + VG11_SETF) +#define VPC_VG11SETFV (VPG_VG11 + VG11_SETFV) +#define VPC_VG11SETGLYPHTOIMAGE (VPG_VG11 + VG11_SETGLYPHTOIMAGE) +#define VPC_VG11SETGLYPHTOPATH (VPG_VG11 + VG11_SETGLYPHTOPATH) +#define VPC_VG11SETI (VPG_VG11 + VG11_SETI) +#define VPC_VG11SETIV (VPG_VG11 + VG11_SETIV) +#define VPC_VG11SETPAINT (VPG_VG11 + VG11_SETPAINT) +#define VPC_VG11SETPARAMETERF (VPG_VG11 + VG11_SETPARAMETERF) +#define VPC_VG11SETPARAMETERFV (VPG_VG11 + VG11_SETPARAMETERFV) +#define VPC_VG11SETPARAMETERI (VPG_VG11 + VG11_SETPARAMETERI) +#define VPC_VG11SETPARAMETERIV (VPG_VG11 + VG11_SETPARAMETERIV) +#define VPC_VG11SETPIXELS (VPG_VG11 + VG11_SETPIXELS) +#define VPC_VG11SHEAR (VPG_VG11 + VG11_SHEAR) +#define VPC_VG11TRANSFORMPATH (VPG_VG11 + VG11_TRANSFORMPATH) +#define VPC_VG11TRANSLATE (VPG_VG11 + VG11_TRANSLATE) +#define VPC_VG11WRITEPIXELS (VPG_VG11 + VG11_WRITEPIXELS) +/* OpenVG Statistics Counter IDs. */ +#define VPC_VG11CALLS (VPG_VG11 + VG11_CALLS) +#define VPC_VG11DRAWCALLS (VPG_VG11 + VG11_DRAWCALLS) +#define VPC_VG11STATECHANGECALLS (VPG_VG11 + VG11_STATECHANGECALLS) +#define VPC_VG11FILLCOUNT (VPG_VG11 + VG11_FILLCOUNT) +#define VPC_VG11STROKECOUNT (VPG_VG11 + VG11_STROKECOUNT) + +/* HAL Counters. */ +#define VPC_HALVERTBUFNEWBYTEALLOC (VPG_HAL + HAL_VERTBUFNEWBYTEALLOC) +#define VPC_HALVERTBUFTOTALBYTEALLOC (VPG_HAL + HAL_VERTBUFTOTALBYTEALLOC) +#define VPC_HALVERTBUFNEWOBJALLOC (VPG_HAL + HAL_VERTBUFNEWOBJALLOC) +#define VPC_HALVERTBUFTOTALOBJALLOC (VPG_HAL + HAL_VERTBUFTOTALOBJALLOC) +#define VPC_HALINDBUFNEWBYTEALLOC (VPG_HAL + HAL_INDBUFNEWBYTEALLOC) +#define VPC_HALINDBUFTOTALBYTEALLOC (VPG_HAL + HAL_INDBUFTOTALBYTEALLOC) +#define VPC_HALINDBUFNEWOBJALLOC (VPG_HAL + HAL_INDBUFNEWOBJALLOC) +#define VPC_HALINDBUFTOTALOBJALLOC (VPG_HAL + HAL_INDBUFTOTALOBJALLOC) +#define VPC_HALTEXBUFNEWBYTEALLOC (VPG_HAL + HAL_TEXBUFNEWBYTEALLOC) +#define VPC_HALTEXBUFTOTALBYTEALLOC (VPG_HAL + HAL_TEXBUFTOTALBYTEALLOC) +#define VPC_HALTEXBUFNEWOBJALLOC (VPG_HAL + HAL_TEXBUFNEWOBJALLOC) +#define VPC_HALTEXBUFTOTALOBJALLOC (VPG_HAL + HAL_TEXBUFTOTALOBJALLOC) + +/* HW: GPU Counters. */ +#define VPC_GPUCYCLES (VPG_GPU + GPU_CYCLES) +#define VPC_GPUREAD64BYTE (VPG_GPU + GPU_READ64BYTE) +#define VPC_GPUWRITE64BYTE (VPG_GPU + GPU_WRITE64BYTE) + +/* HW: Shader Counters. */ +#define VPC_VSINSTCOUNT (VPG_VS + VS_INSTCOUNT) +#define VPC_VSBRANCHINSTCOUNT (VPG_VS + VS_BRANCHINSTCOUNT) +#define VPC_VSTEXLDINSTCOUNT (VPG_VS + VS_TEXLDINSTCOUNT) +#define VPC_VSRENDEREDVERTCOUNT (VPG_VS + VS_RENDEREDVERTCOUNT) +/* HW: PS Count. */ +#define VPC_PSINSTCOUNT (VPG_PS + PS_INSTCOUNT) +#define VPC_PSBRANCHINSTCOUNT (VPG_PS + PS_BRANCHINSTCOUNT) +#define VPC_PSTEXLDINSTCOUNT (VPG_PS + PS_TEXLDINSTCOUNT) +#define VPC_PSRENDEREDPIXCOUNT (VPG_PS + PS_RENDEREDPIXCOUNT) + + +/* HW: PA Counters. */ +#define VPC_PAINVERTCOUNT (VPG_PA + PA_INVERTCOUNT) +#define VPC_PAINPRIMCOUNT (VPG_PA + PA_INPRIMCOUNT) +#define VPC_PAOUTPRIMCOUNT (VPG_PA + PA_OUTPRIMCOUNT) +#define VPC_PADEPTHCLIPCOUNT (VPG_PA + PA_DEPTHCLIPCOUNT) +#define VPC_PATRIVIALREJCOUNT (VPG_PA + PA_TRIVIALREJCOUNT) +#define VPC_PACULLCOUNT (VPG_PA + PA_CULLCOUNT) + +/* HW: Setup Counters. */ +#define VPC_SETRIANGLECOUNT (VPG_SETUP + SE_TRIANGLECOUNT) +#define VPC_SELINECOUNT (VPG_SETUP + SE_LINECOUNT) + +/* HW: RA Counters. */ +#define VPC_RAVALIDPIXCOUNT (VPG_RA + RA_VALIDPIXCOUNT) +#define VPC_RATOTALQUADCOUNT (VPG_RA + RA_TOTALQUADCOUNT) +#define VPC_RAVALIDQUADCOUNTEZ (VPG_RA + RA_VALIDQUADCOUNTEZ) +#define VPC_RATOTALPRIMCOUNT (VPG_RA + RA_TOTALPRIMCOUNT) +#define VPC_RAPIPECACHEMISSCOUNT (VPG_RA + RA_PIPECACHEMISSCOUNT) +#define VPC_RAPREFCACHEMISSCOUNT (VPG_RA + RA_PREFCACHEMISSCOUNT) +#define VPC_RAEEZCULLCOUNT (VPG_RA + RA_EEZCULLCOUNT) + +/* HW: TEX Counters. */ +#define VPC_TXTOTBILINEARREQ (VPG_TX + TX_TOTBILINEARREQ) +#define VPC_TXTOTTRILINEARREQ (VPG_TX + TX_TOTTRILINEARREQ) +#define VPC_TXTOTDISCARDTEXREQ (VPG_TX + TX_TOTDISCARDTEXREQ) +#define VPC_TXTOTTEXREQ (VPG_TX + TX_TOTTEXREQ) +#define VPC_TXMEMREADCOUNT (VPG_TX + TX_MEMREADCOUNT) +#define VPC_TXMEMREADIN8BCOUNT (VPG_TX + TX_MEMREADIN8BCOUNT) +#define VPC_TXCACHEMISSCOUNT (VPG_TX + TX_CACHEMISSCOUNT) +#define VPC_TXCACHEHITTEXELCOUNT (VPG_TX + TX_CACHEHITTEXELCOUNT) +#define VPC_TXCACHEMISSTEXELCOUNT (VPG_TX + TX_CACHEMISSTEXELCOUNT) + +/* HW: PE Counters. */ +#define VPC_PEKILLEDBYCOLOR (VPG_PE + PE_KILLEDBYCOLOR) +#define VPC_PEKILLEDBYDEPTH (VPG_PE + PE_KILLEDBYDEPTH) +#define VPC_PEDRAWNBYCOLOR (VPG_PE + PE_DRAWNBYCOLOR) +#define VPC_PEDRAWNBYDEPTH (VPG_PE + PE_DRAWNBYDEPTH) + +/* HW: MC Counters. */ +#define VPC_MCREADREQ8BPIPE (VPG_MC + MC_READREQ8BPIPE) +#define VPC_MCREADREQ8BIP (VPG_MC + MC_READREQ8BIP) +#define VPC_MCWRITEREQ8BPIPE (VPG_MC + MC_WRITEREQ8BPIPE) + +/* HW: AXI Counters. */ +#define VPC_AXIREADREQSTALLED (VPG_AXI + AXI_READREQSTALLED) +#define VPC_AXIWRITEREQSTALLED (VPG_AXI + AXI_WRITEREQSTALLED) +#define VPC_AXIWRITEDATASTALLED (VPG_AXI + AXI_WRITEDATASTALLED) + +/* PROGRAM: Shader program counters. */ +#define VPC_PVSINSTRCOUNT (VPG_PVS + PVS_INSTRCOUNT) +#define VPC_PVSALUINSTRCOUNT (VPG_PVS + PVS_ALUINSTRCOUNT) +#define VPC_PVSTEXINSTRCOUNT (VPG_PVS + PVS_TEXINSTRCOUNT) +#define VPC_PVSATTRIBCOUNT (VPG_PVS + PVS_ATTRIBCOUNT) +#define VPC_PVSUNIFORMCOUNT (VPG_PVS + PVS_UNIFORMCOUNT) +#define VPC_PVSFUNCTIONCOUNT (VPG_PVS + PVS_FUNCTIONCOUNT) + +#define VPC_PPSINSTRCOUNT (VPG_PPS + PPS_INSTRCOUNT) +#define VPC_PPSALUINSTRCOUNT (VPG_PPS + PPS_ALUINSTRCOUNT) +#define VPC_PPSTEXINSTRCOUNT (VPG_PPS + PPS_TEXINSTRCOUNT) +#define VPC_PPSATTRIBCOUNT (VPG_PPS + PPS_ATTRIBCOUNT) +#define VPC_PPSUNIFORMCOUNT (VPG_PPS + PPS_UNIFORMCOUNT) +#define VPC_PPSFUNCTIONCOUNT (VPG_PPS + PPS_FUNCTIONCOUNT) + +#endif + + +/* HW profile information. */ +typedef struct _gcsPROFILER_COUNTERS +{ + /* HW static counters. */ + gctUINT32 gpuClock; + gctUINT32 axiClock; + gctUINT32 shaderClock; + + /* HW vairable counters. */ + gctUINT32 gpuClockStart; + gctUINT32 gpuClockEnd; + + /* HW vairable counters. */ + gctUINT32 gpuCyclesCounter; + gctUINT32 gpuTotalRead64BytesPerFrame; + gctUINT32 gpuTotalWrite64BytesPerFrame; + + /* PE */ + gctUINT32 pe_pixel_count_killed_by_color_pipe; + gctUINT32 pe_pixel_count_killed_by_depth_pipe; + gctUINT32 pe_pixel_count_drawn_by_color_pipe; + gctUINT32 pe_pixel_count_drawn_by_depth_pipe; + + /* SH */ + gctUINT32 ps_inst_counter; + gctUINT32 rendered_pixel_counter; + gctUINT32 vs_inst_counter; + gctUINT32 rendered_vertice_counter; + gctUINT32 vtx_branch_inst_counter; + gctUINT32 vtx_texld_inst_counter; + gctUINT32 pxl_branch_inst_counter; + gctUINT32 pxl_texld_inst_counter; + + /* PA */ + gctUINT32 pa_input_vtx_counter; + gctUINT32 pa_input_prim_counter; + gctUINT32 pa_output_prim_counter; + gctUINT32 pa_depth_clipped_counter; + gctUINT32 pa_trivial_rejected_counter; + gctUINT32 pa_culled_counter; + + /* SE */ + gctUINT32 se_culled_triangle_count; + gctUINT32 se_culled_lines_count; + + /* RA */ + gctUINT32 ra_valid_pixel_count; + gctUINT32 ra_total_quad_count; + gctUINT32 ra_valid_quad_count_after_early_z; + gctUINT32 ra_total_primitive_count; + gctUINT32 ra_pipe_cache_miss_counter; + gctUINT32 ra_prefetch_cache_miss_counter; + gctUINT32 ra_eez_culled_counter; + + /* TX */ + gctUINT32 tx_total_bilinear_requests; + gctUINT32 tx_total_trilinear_requests; + gctUINT32 tx_total_discarded_texture_requests; + gctUINT32 tx_total_texture_requests; + gctUINT32 tx_mem_read_count; + gctUINT32 tx_mem_read_in_8B_count; + gctUINT32 tx_cache_miss_count; + gctUINT32 tx_cache_hit_texel_count; + gctUINT32 tx_cache_miss_texel_count; + + /* MC */ + gctUINT32 mc_total_read_req_8B_from_pipeline; + gctUINT32 mc_total_read_req_8B_from_IP; + gctUINT32 mc_total_write_req_8B_from_pipeline; + + /* HI */ + gctUINT32 hi_axi_cycles_read_request_stalled; + gctUINT32 hi_axi_cycles_write_request_stalled; + gctUINT32 hi_axi_cycles_write_data_stalled; +} +gcsPROFILER_COUNTERS; + +/* HAL profile information. */ +typedef struct _gcsPROFILER +{ + gctUINT32 enable; + gctBOOL enableHal; + gctBOOL enableHW; + gctBOOL enableSH; + + gctBOOL useSocket; + gctINT sockFd; + + gctFILE file; + + /* Aggregate Information */ + + /* Clock Info */ + gctUINT64 frameStart; + gctUINT64 frameEnd; + + /* Current frame information */ + gctUINT32 frameNumber; + gctUINT64 frameStartTimeusec; + gctUINT64 frameEndTimeusec; + gctUINT64 frameStartCPUTimeusec; + gctUINT64 frameEndCPUTimeusec; + +#if PROFILE_HAL_COUNTERS + gctUINT32 vertexBufferTotalBytesAlloc; + gctUINT32 vertexBufferNewBytesAlloc; + int vertexBufferTotalObjectsAlloc; + int vertexBufferNewObjectsAlloc; + + gctUINT32 indexBufferTotalBytesAlloc; + gctUINT32 indexBufferNewBytesAlloc; + int indexBufferTotalObjectsAlloc; + int indexBufferNewObjectsAlloc; + + gctUINT32 textureBufferTotalBytesAlloc; + gctUINT32 textureBufferNewBytesAlloc; + int textureBufferTotalObjectsAlloc; + int textureBufferNewObjectsAlloc; + + gctUINT32 numCommits; + gctUINT32 drawPointCount; + gctUINT32 drawLineCount; + gctUINT32 drawTriangleCount; + gctUINT32 drawVertexCount; + gctUINT32 redundantStateChangeCalls; +#endif +} +gcsPROFILER; + +/* Memory profile information. */ +struct _gcsMemProfile +{ + /* Memory Usage */ + gctUINT32 videoMemUsed; + gctUINT32 systemMemUsed; + gctUINT32 commitBufferSize; + gctUINT32 contextBufferCopyBytes; +}; + +/* Shader profile information. */ +struct _gcsSHADER_PROFILER +{ + gctUINT32 shaderLength; + gctUINT32 shaderALUCycles; + gctUINT32 shaderTexLoadCycles; + gctUINT32 shaderTempRegCount; + gctUINT32 shaderSamplerRegCount; + gctUINT32 shaderInputRegCount; + gctUINT32 shaderOutputRegCount; +}; + +/* Initialize the gcsProfiler. */ +gceSTATUS +gcoPROFILER_Initialize( + IN gcoHAL Hal + ); + +/* Destroy the gcProfiler. */ +gceSTATUS +gcoPROFILER_Destroy( + IN gcoHAL Hal + ); + +/* Write data to profiler. */ +gceSTATUS +gcoPROFILER_Write( + IN gcoHAL Hal, + IN gctSIZE_T ByteCount, + IN gctCONST_POINTER Data + ); + +/* Flush data out. */ +gceSTATUS +gcoPROFILER_Flush( + IN gcoHAL Hal + ); + +/* Call to signal end of frame. */ +gceSTATUS +gcoPROFILER_EndFrame( + IN gcoHAL Hal + ); + +/* Increase profile counter Enum by Value. */ +gceSTATUS +gcoPROFILER_Count( + IN gcoHAL Hal, + IN gctUINT32 Enum, + IN gctINT Value + ); + +/* Profile input vertex shader. */ +gceSTATUS +gcoPROFILER_ShaderVS( + IN gcoHAL Hal, + IN gctPOINTER Vs + ); + +/* Profile input fragment shader. */ +gceSTATUS +gcoPROFILER_ShaderFS( + IN gcoHAL Hal, + IN gctPOINTER Fs + ); + +#ifdef __cplusplus +} +#endif + +#endif /* __gc_hal_profiler_h_ */ |