summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2013-02-14 18:09:14 -0800
committerCarl Worth <cworth@cworth.org>2013-04-12 14:02:57 -0700
commit896811606399ebc083ff6304b7f629a93830ba0d (patch)
tree7dc9c248a3edc6e0cd2f503ecff20a9cb77fb62f /common
parent6ad9d816975cf8ee94da166e95082b757ff78d49 (diff)
trim: Greatly expand the list of calls considered to have no side effects
The list of calls added here with the NO_SIDE_EFFECTS flag was obtained from the existing specs/glapi.py file, (most[*] calls with "sideeffects=False"). It's a bit unfortunate that we have this duplication of information in the source tree, (two different lists of calls with no side effects). But that duplication was already present before this commit. This commit merely brings this list into sync with the other. [*] The following calls are not added here in spite of having sideeffects=False in glapi.py: glGetTextureImageEXT glGetnCompressedTexImageARB glGetnColorTableARB José reports that the above calls can have side effects when PBOs are on, (and he plans to update glapi.py). Then, while the following calls may not affect traditional "GL state" they do have side effects that can be observed by the user. And these are debugging side effects that can be very important when replaying/analyzing a trace. For example, debug message or string markers are used to decorate different portions of the graphics command stream with user-supplied data that exists nowhere else. So these calls are not considered as having no side effects: glDebugMessageControl glDebugMessageControlARB glDebugMessageEnableAMD glDebugMessageInsert glDebugMessageInsertAMD glDebugMessageInsertARB glPopDebugGroup glPushDebugGroup glStringMarkerGREMEDY
Diffstat (limited to 'common')
-rw-r--r--common/trace_parser_flags.cpp319
1 files changed, 319 insertions, 0 deletions
diff --git a/common/trace_parser_flags.cpp b/common/trace_parser_flags.cpp
index df989741..cf379cc1 100644
--- a/common/trace_parser_flags.cpp
+++ b/common/trace_parser_flags.cpp
@@ -128,14 +128,24 @@ callFlagTable[] = {
{ "eglGetProcAddress", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "eglQueryString", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "eglSwapBuffers", CALL_FLAG_SWAPBUFFERS },
+ { "glAreProgramsResidentNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glAreTexturesResident", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glAreTexturesResidentEXT", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glBindFramebuffer", CALL_FLAG_SWAP_RENDERTARGET },
{ "glBindFramebufferEXT", CALL_FLAG_SWAP_RENDERTARGET },
{ "glBindFramebufferOES", CALL_FLAG_SWAP_RENDERTARGET },
{ "glBlitFramebuffer", CALL_FLAG_RENDER },
{ "glBlitFramebufferEXT", CALL_FLAG_RENDER },
+ { "glBufferRegionEnabled", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glCallList", CALL_FLAG_RENDER },
{ "glCallLists", CALL_FLAG_RENDER },
{ "glClear", CALL_FLAG_RENDER },
+ { "glDebugMessageControl", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glDebugMessageControlARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glDebugMessageEnableAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glDebugMessageInsert", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glDebugMessageInsertAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glDebugMessageInsertARB", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glDrawArrays", CALL_FLAG_RENDER },
{ "glDrawArraysEXT", CALL_FLAG_RENDER },
{ "glDrawArraysIndirect", CALL_FLAG_RENDER },
@@ -159,9 +169,316 @@ callFlagTable[] = {
{ "glDrawRangeElementsEXT", CALL_FLAG_RENDER },
{ "glEnd", CALL_FLAG_RENDER },
{ "glFrameTerminatorGREMEDY", CALL_FLAG_END_FRAME },
+ { "glGetActiveAtomicCounterBufferiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveAttrib", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveAttribARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveSubroutineName", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveSubroutineUniformName", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveSubroutineUniformiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniform", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniformARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniformBlockName", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniformBlockiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniformName", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveUniformsiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetActiveVaryingNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetArrayObjectfvATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetArrayObjectivATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetAttachedObjectsARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetAttachedShaders", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBooleanIndexedvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBooleani_v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBooleanv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferParameteri64v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferParameterivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferParameterui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferPointerv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferPointervARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferSubData", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetBufferSubDataARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetClipPlane", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTable", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameterfvSGI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableParameterivSGI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetColorTableSGI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCombinerInputParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCombinerInputParameterivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCombinerOutputParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCombinerOutputParameterivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCombinerStageParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCompressedMultiTexImageEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCompressedTexImageARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetCompressedTextureImageEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetConvolutionFilterEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetConvolutionParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetConvolutionParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetConvolutionParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetConvolutionParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetDetailTexFuncSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetDoubleIndexedvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetDoublei_v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetDoublev", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glGetError", CALL_FLAG_NO_SIDE_EFFECTS }, // verbose will be set later for GL_NO_ERROR
+ { "glGetFenceivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFinalCombinerInputParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFinalCombinerInputParameterivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFloatIndexedvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFloati_v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFloatv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFogFuncSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFragDataIndex", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFragmentLightfvSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFragmentLightivSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFragmentMaterialfvSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFragmentMaterialivSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFramebufferAttachmentParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFramebufferAttachmentParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFramebufferParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetFramebufferParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetGraphicsResetStatusARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHandleARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHistogramEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHistogramParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHistogramParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHistogramParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetHistogramParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetImageTransformParameterfvHP", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetImageTransformParameterivHP", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInfoLogARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInstrumentsSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInteger64i_v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInteger64v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetIntegerIndexedvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetIntegeri_v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetIntegerui64i_vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetIntegerui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetIntegerv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInternalformati64v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInternalformativ", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInvariantBooleanvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInvariantFloatvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetInvariantIntegervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetLightfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetLightiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetListParameterfvSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetListParameterivSGIX", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetLocalConstantBooleanvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetLocalConstantFloatvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetLocalConstantIntegervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapAttribParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapAttribParameterivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapControlPointsNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapParameterivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapdv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMapiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMaterialfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMaterialiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMinmaxEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMinmaxParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMinmaxParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMinmaxParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMinmaxParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexEnvfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexEnvivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexGendvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexGenfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexGenivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexImageEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexLevelParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexLevelParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexParameterIivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexParameterIuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultiTexParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultisamplefv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetMultisamplefvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedBufferParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedBufferParameterui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedBufferPointervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedBufferSubDataEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedFramebufferAttachmentParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedFramebufferParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramLocalParameterIivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramLocalParameterIuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramLocalParameterdvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramLocalParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramStringEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedProgramivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedRenderbufferParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedStringARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetNamedStringivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectBufferfvATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectBufferivATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectLabel", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectParameterfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectParameterivAPPLE", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectParameterivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetObjectPtrLabel", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glPopDebugGroup", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glPushDebugGroup", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glStringMarkerGREMEDY", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetOcclusionQueryivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetOcclusionQueryuivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorCounterDataAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorCounterInfoAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorCounterStringAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorCountersAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorGroupStringAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPerfMonitorGroupsAMD", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPixelTexGenParameterfvSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPixelTexGenParameterivSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPointerIndexedvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPointerv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetPointervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramBinary", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramEnvParameterIivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramEnvParameterIuivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramEnvParameterdvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramEnvParameterfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramInfoLog", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramInterfaceiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramLocalParameterIivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramLocalParameterIuivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramLocalParameterdvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramLocalParameterfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramNamedParameterdvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramNamedParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramParameterdvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramParameterfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramPipelineInfoLog", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramPipelineiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramResourceIndex", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramResourceLocation", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramResourceLocationIndex", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramResourceName", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramResourceiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramStageiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramStringARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramStringNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramSubroutineParameteruivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetProgramivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryIndexediv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjecti64v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjecti64vEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectui64v", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectui64vEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryObjectuivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetQueryivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetRenderbufferParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetRenderbufferParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSamplerParameterIiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSamplerParameterIuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSamplerParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSamplerParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSeparableFilterEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetShaderInfoLog", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetShaderPrecisionFormat", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetShaderSource", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetShaderSourceARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetShaderiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetSharpenTexFuncSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glGetString", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "glGetStringi", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
+ { "glGetSynciv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexBumpParameterfvATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexBumpParameterivATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexEnvfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexEnviv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexFilterFuncSGIS", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexGendv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexGenfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexGeniv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexLevelParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexLevelParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterIiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterIivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterIuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterIuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterPointervAPPLE", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameterfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTexParameteriv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureLevelParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureLevelParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureParameterIivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureParameterIuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureParameterfvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTextureParameterivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTrackMatrixivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTransformFeedbackVarying", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTransformFeedbackVaryingEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetTransformFeedbackVaryingNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformIndices", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformSubroutineuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformdv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformi64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetUniformuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantArrayObjectfvATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantArrayObjectivATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantBooleanvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantFloatvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantIntegervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVariantPointervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexArrayIntegeri_vEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexArrayIntegervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexArrayPointeri_vEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexArrayPointervEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribArrayObjectfvATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribArrayObjectivATI", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribIiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribIivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribIuiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribIuivEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribLdv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribLdvEXT", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribLi64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribLui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribPointerv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribPointervARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribPointervNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribdv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribdvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribdvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribfv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribiv", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVertexAttribivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoCaptureStreamdvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoCaptureStreamfvNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoCaptureStreamivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoCaptureivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoi64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideoui64vNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetVideouivNV", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnMapdvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnMapfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnMapivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnUniformdvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnUniformfvARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnUniformivARB", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glGetnUniformuivARB", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glIsAsyncMarkerSGIX", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "glIsBuffer", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "glIsBufferARB", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
@@ -205,6 +522,8 @@ callFlagTable[] = {
{ "glMultiDrawElementsEXT", CALL_FLAG_RENDER },
{ "glMultiModeDrawArraysIBM", CALL_FLAG_RENDER },
{ "glMultiModeDrawElementsIBM", CALL_FLAG_RENDER },
+ { "glObjectLabel", CALL_FLAG_NO_SIDE_EFFECTS },
+ { "glObjectPtrLabel", CALL_FLAG_NO_SIDE_EFFECTS },
{ "glXGetClientString", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "glXGetCurrentContext", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },
{ "glXGetCurrentDisplay", CALL_FLAG_NO_SIDE_EFFECTS | CALL_FLAG_VERBOSE },