From 896811606399ebc083ff6304b7f629a93830ba0d Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Thu, 14 Feb 2013 18:09:14 -0800 Subject: [PATCH] trim: Greatly expand the list of calls considered to have no side effects MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- common/trace_parser_flags.cpp | 319 ++++++++++++++++++++++++++++++++++ 1 file changed, 319 insertions(+) diff --git a/common/trace_parser_flags.cpp b/common/trace_parser_flags.cpp index df98974..cf379cc 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 }, -- 2.43.0