From b889843b01c048b756af578618e8b85f7f301bf7 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 27 Oct 2017 17:13:36 +0100 Subject: [PATCH] Change GL chunk enum to contain all supported function entry points * Many of these chunks will be identical, but we use the chunk ID to store which function exactly was originally called. --- renderdoc/driver/gl/gl_common.cpp | 2 + renderdoc/driver/gl/gl_common.h | 1478 +++++++++++++++++++++++------ renderdoc/driver/gl/gl_driver.cpp | 283 ------ 3 files changed, 1200 insertions(+), 563 deletions(-) diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 0ba252823..179ebf3ae 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -28,6 +28,8 @@ #include "strings/string_utils.h" #include "gl_driver.h" +GLChunk gl_CurChunk = GLChunk::Max; + bool HasExt[GLExtension_Count] = {}; bool VendorCheck[VendorCheck_Count] = {}; diff --git a/renderdoc/driver/gl/gl_common.h b/renderdoc/driver/gl/gl_common.h index d264ce99a..3b199eae8 100644 --- a/renderdoc/driver/gl/gl_common.h +++ b/renderdoc/driver/gl/gl_common.h @@ -532,289 +532,1207 @@ struct DrawArraysIndirectCommand uint32_t baseInstance; }; -enum GLChunkType +enum class GLChunk : uint32_t { - DEVICE_INIT = FIRST_CHUNK_ID, + DeviceInitialisation = (uint32_t)SystemChunk::FirstDriverChunk, - GEN_TEXTURE, - CREATE_TEXTURE, - BIND_TEXTURE, - BIND_TEXTURES, - BIND_MULTI_TEX, - BIND_TEXTURE_UNIT, - BIND_IMAGE_TEXTURE, - BIND_IMAGE_TEXTURES, - ACTIVE_TEXTURE, - TEXSTORAGE1D, - TEXSTORAGE2D, - TEXSTORAGE3D, - TEXSTORAGE2DMS, - TEXSTORAGE3DMS, - TEXIMAGE1D, - TEXIMAGE2D, - TEXIMAGE3D, - TEXSUBIMAGE1D, - TEXSUBIMAGE2D, - TEXSUBIMAGE3D, - TEXIMAGE1D_COMPRESSED, - TEXIMAGE2D_COMPRESSED, - TEXIMAGE3D_COMPRESSED, - TEXSUBIMAGE1D_COMPRESSED, - TEXSUBIMAGE2D_COMPRESSED, - TEXSUBIMAGE3D_COMPRESSED, - TEXBUFFER, - TEXBUFFER_RANGE, - PIXELSTORE, - TEXPARAMETERF, - TEXPARAMETERFV, - TEXPARAMETERI, - TEXPARAMETERIV, - TEXPARAMETERIIV, - TEXPARAMETERIUIV, - GENERATE_MIPMAP, - COPY_SUBIMAGE, - COPY_IMAGE1D, - COPY_IMAGE2D, - COPY_SUBIMAGE1D, - COPY_SUBIMAGE2D, - COPY_SUBIMAGE3D, - TEXTURE_VIEW, + CaptureBegin, + CaptureEnd, + CaptureScope, - CREATE_SHADER, - CREATE_PROGRAM, - CREATE_SHADERPROGRAM, - COMPILESHADER, - SHADERSOURCE, - ATTACHSHADER, - DETACHSHADER, - USEPROGRAM, - PROGRAMPARAMETER, - FEEDBACK_VARYINGS, - BINDATTRIB_LOCATION, - BINDFRAGDATA_LOCATION, - BINDFRAGDATA_LOCATION_INDEXED, - UNIFORM_BLOCKBIND, - STORAGE_BLOCKBIND, - UNIFORM_SUBROUTINE, - PROGRAMUNIFORM_VECTOR, - PROGRAMUNIFORM_MATRIX, - LINKPROGRAM, + vrapi_CreateTextureSwapChain, + vrapi_CreateTextureSwapChain2, - NAMEDSTRING, - DELETENAMEDSTRING, - COMPILESHADERINCLUDE, + // we can't use the hookset macro to define the chunk list, because then it would be impossible to + // add an alias in the middle of the list of functions. Instead we expand it here by hand, and so + // any new functions or aliases can be added to the end of the list. + glBindTexture, + glBlendFunc, + glClear, + glClearColor, + glClearDepth, + glClearStencil, + glColorMask, + glCullFace, + glDepthFunc, + glDepthMask, + glDepthRange, + glStencilFunc, + glStencilMask, + glStencilOp, + glDisable, + glDrawBuffer, + glDrawElements, + glDrawArrays, + glEnable, + glFlush, + glFinish, + glFrontFace, + glGenTextures, + glDeleteTextures, + glIsEnabled, + glIsTexture, + glGetError, + glGetTexLevelParameteriv, + glGetTexLevelParameterfv, + glGetTexParameterfv, + glGetTexParameteriv, + glGetTexImage, + glGetBooleanv, + glGetFloatv, + glGetDoublev, + glGetIntegerv, + glGetPointerv, + glGetPointervKHR, + glGetString, + glHint, + glLogicOp, + glPixelStorei, + glPixelStoref, + glPolygonMode, + glPolygonOffset, + glPointSize, + glLineWidth, + glReadPixels, + glReadBuffer, + glScissor, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glTexParameterf, + glTexParameterfv, + glTexParameteri, + glTexParameteriv, + glViewport, + glActiveTexture, + glActiveTextureARB, + glTexStorage1D, + glTexStorage1DEXT, + glTexStorage2D, + glTexStorage2DEXT, + glTexStorage3D, + glTexStorage3DEXT, + glTexStorage2DMultisample, + glTexStorage3DMultisample, + glTexStorage3DMultisampleOES, + glTexImage3D, + glTexImage3DEXT, + glTexImage3DOES, + glTexSubImage3D, + glTexSubImage3DOES, + glTexBuffer, + glTexBufferARB, + glTexBufferEXT, + glTexBufferOES, + glTexImage2DMultisample, + glTexImage3DMultisample, + glCompressedTexImage1D, + glCompressedTexImage1DARB, + glCompressedTexImage2D, + glCompressedTexImage2DARB, + glCompressedTexImage3D, + glCompressedTexImage3DARB, + glCompressedTexImage3DOES, + glCompressedTexSubImage1D, + glCompressedTexSubImage1DARB, + glCompressedTexSubImage2D, + glCompressedTexSubImage2DARB, + glCompressedTexSubImage3D, + glCompressedTexSubImage3DARB, + glCompressedTexSubImage3DOES, + glTexBufferRange, + glTexBufferRangeEXT, + glTexBufferRangeOES, + glTextureView, + glTextureViewEXT, + glTextureViewOES, + glTexParameterIiv, + glTexParameterIivEXT, + glTexParameterIivOES, + glTexParameterIuiv, + glTexParameterIuivEXT, + glTexParameterIuivOES, + glGenerateMipmap, + glGenerateMipmapEXT, + glCopyImageSubData, + glCopyImageSubDataEXT, + glCopyImageSubDataOES, + glCopyTexSubImage3D, + glCopyTexSubImage3DOES, + glGetInternalformativ, + glGetInternalformati64v, + glGetBufferParameteriv, + glGetBufferParameterivARB, + glGetBufferParameteri64v, + glGetBufferPointerv, + glGetBufferPointervARB, + glGetBufferPointervOES, + glGetFragDataIndex, + glGetFragDataLocation, + glGetFragDataLocationEXT, + glGetStringi, + glGetBooleani_v, + glGetIntegeri_v, + glGetFloati_v, + glGetFloati_vEXT, + glGetFloati_vOES, + glGetFloati_vNV, + glGetDoublei_v, + glGetDoublei_vEXT, + glGetInteger64i_v, + glGetInteger64v, + glGetShaderiv, + glGetShaderInfoLog, + glGetShaderPrecisionFormat, + glGetShaderSource, + glGetAttachedShaders, + glGetProgramiv, + glGetProgramInfoLog, + glGetProgramInterfaceiv, + glGetProgramResourceIndex, + glGetProgramResourceiv, + glGetProgramResourceName, + glGetProgramPipelineiv, + glGetProgramPipelineivEXT, + glGetProgramPipelineInfoLog, + glGetProgramPipelineInfoLogEXT, + glGetProgramBinary, + glGetProgramResourceLocation, + glGetProgramResourceLocationIndex, + glGetProgramStageiv, + glGetGraphicsResetStatus, + glGetGraphicsResetStatusARB, + glGetGraphicsResetStatusEXT, + glGetObjectLabel, + glGetObjectLabelKHR, + glGetObjectLabelEXT, + glGetObjectPtrLabel, + glGetObjectPtrLabelKHR, + glGetDebugMessageLog, + glGetDebugMessageLogARB, + glGetDebugMessageLogKHR, + glGetFramebufferAttachmentParameteriv, + glGetFramebufferAttachmentParameterivEXT, + glGetFramebufferParameteriv, + glGetRenderbufferParameteriv, + glGetRenderbufferParameterivEXT, + glGetMultisamplefv, + glGetQueryIndexediv, + glGetQueryObjectui64v, + glGetQueryObjectui64vEXT, + glGetQueryObjectuiv, + glGetQueryObjectuivARB, + glGetQueryObjectuivEXT, + glGetQueryObjecti64v, + glGetQueryObjecti64vEXT, + glGetQueryObjectiv, + glGetQueryObjectivARB, + glGetQueryObjectivEXT, + glGetQueryiv, + glGetQueryivARB, + glGetQueryivEXT, + glGetSynciv, + glGetBufferSubData, + glGetBufferSubDataARB, + glGetVertexAttribiv, + glGetVertexAttribPointerv, + glGetCompressedTexImage, + glGetCompressedTexImageARB, + glGetnCompressedTexImage, + glGetnCompressedTexImageARB, + glGetnTexImage, + glGetnTexImageARB, + glGetTexParameterIiv, + glGetTexParameterIivEXT, + glGetTexParameterIivOES, + glGetTexParameterIuiv, + glGetTexParameterIuivEXT, + glGetTexParameterIuivOES, + glClampColor, + glClampColorARB, + glReadnPixels, + glReadnPixelsARB, + glReadnPixelsEXT, + glGetSamplerParameterIiv, + glGetSamplerParameterIivEXT, + glGetSamplerParameterIivOES, + glGetSamplerParameterIuiv, + glGetSamplerParameterIuivEXT, + glGetSamplerParameterIuivOES, + glGetSamplerParameterfv, + glGetSamplerParameteriv, + glGetTransformFeedbackVarying, + glGetTransformFeedbackVaryingEXT, + glGetSubroutineIndex, + glGetSubroutineUniformLocation, + glGetActiveAtomicCounterBufferiv, + glGetActiveSubroutineName, + glGetActiveSubroutineUniformName, + glGetActiveSubroutineUniformiv, + glGetUniformLocation, + glGetUniformIndices, + glGetUniformSubroutineuiv, + glGetUniformBlockIndex, + glGetAttribLocation, + glGetActiveUniform, + glGetActiveUniformName, + glGetActiveUniformBlockName, + glGetActiveUniformBlockiv, + glGetActiveUniformsiv, + glGetActiveAttrib, + glGetUniformfv, + glGetUniformiv, + glGetUniformuiv, + glGetUniformuivEXT, + glGetUniformdv, + glGetnUniformdv, + glGetnUniformdvARB, + glGetnUniformfv, + glGetnUniformfvARB, + glGetnUniformfvEXT, + glGetnUniformiv, + glGetnUniformivARB, + glGetnUniformivEXT, + glGetnUniformuiv, + glGetnUniformuivARB, + glGetVertexAttribIiv, + glGetVertexAttribIivEXT, + glGetVertexAttribIuiv, + glGetVertexAttribIuivEXT, + glGetVertexAttribLdv, + glGetVertexAttribLdvEXT, + glGetVertexAttribdv, + glGetVertexAttribfv, + glCheckFramebufferStatus, + glCheckFramebufferStatusEXT, + glBlendColor, + glBlendColorEXT, + glBlendFunci, + glBlendFunciARB, + glBlendFunciEXT, + glBlendFunciOES, + glBlendFuncSeparate, + glBlendFuncSeparateARB, + glBlendFuncSeparatei, + glBlendFuncSeparateiARB, + glBlendFuncSeparateiEXT, + glBlendFuncSeparateiOES, + glBlendEquation, + glBlendEquationEXT, + glBlendEquationi, + glBlendEquationiARB, + glBlendEquationiEXT, + glBlendEquationiOES, + glBlendEquationSeparate, + glBlendEquationSeparateARB, + glBlendEquationSeparateEXT, + glBlendEquationSeparatei, + glBlendEquationSeparateiARB, + glBlendEquationSeparateiEXT, + glBlendEquationSeparateiOES, + glBlendBarrierKHR, + glStencilFuncSeparate, + glStencilMaskSeparate, + glStencilOpSeparate, + glColorMaski, + glColorMaskiEXT, + glColorMaskIndexedEXT, + glColorMaskiOES, + glSampleMaski, + glSampleCoverage, + glSampleCoverageARB, + glMinSampleShading, + glMinSampleShadingARB, + glMinSampleShadingOES, + glDepthRangef, + glDepthRangeIndexed, + glDepthRangeArrayv, + glClipControl, + glProvokingVertex, + glProvokingVertexEXT, + glPrimitiveRestartIndex, + glCreateShader, + glDeleteShader, + glShaderSource, + glCompileShader, + glCreateShaderProgramv, + glCreateShaderProgramvEXT, + glCreateProgram, + glDeleteProgram, + glAttachShader, + glDetachShader, + glReleaseShaderCompiler, + glLinkProgram, + glProgramParameteri, + glProgramParameteriARB, + glProgramParameteriEXT, + glUseProgram, + glShaderBinary, + glProgramBinary, + glUseProgramStages, + glUseProgramStagesEXT, + glValidateProgram, + glGenProgramPipelines, + glGenProgramPipelinesEXT, + glBindProgramPipeline, + glBindProgramPipelineEXT, + glActiveShaderProgram, + glActiveShaderProgramEXT, + glDeleteProgramPipelines, + glDeleteProgramPipelinesEXT, + glValidateProgramPipeline, + glValidateProgramPipelineEXT, + glDebugMessageCallback, + glDebugMessageCallbackARB, + glDebugMessageCallbackKHR, + glDebugMessageControl, + glDebugMessageControlARB, + glDebugMessageControlKHR, + glDebugMessageInsert, + glDebugMessageInsertARB, + glDebugMessageInsertKHR, + glPushDebugGroup, + glPushDebugGroupKHR, + glPopDebugGroup, + glPopDebugGroupKHR, + glObjectLabel, + glObjectLabelKHR, + glLabelObjectEXT, + glObjectPtrLabel, + glObjectPtrLabelKHR, + glEnablei, + glEnableiEXT, + glEnableIndexedEXT, + glEnableiOES, + glEnableiNV, + glDisablei, + glDisableiEXT, + glDisableIndexedEXT, + glDisableiOES, + glDisableiNV, + glIsEnabledi, + glIsEnablediEXT, + glIsEnabledIndexedEXT, + glIsEnablediOES, + glIsEnablediNV, + glIsBuffer, + glIsBufferARB, + glIsFramebuffer, + glIsFramebufferEXT, + glIsProgram, + glIsProgramPipeline, + glIsProgramPipelineEXT, + glIsQuery, + glIsQueryARB, + glIsQueryEXT, + glIsRenderbuffer, + glIsRenderbufferEXT, + glIsSampler, + glIsShader, + glIsSync, + glIsTransformFeedback, + glIsVertexArray, + glIsVertexArrayOES, + glGenBuffers, + glGenBuffersARB, + glBindBuffer, + glBindBufferARB, + glDrawBuffers, + glDrawBuffersARB, + glDrawBuffersEXT, + glGenFramebuffers, + glGenFramebuffersEXT, + glBindFramebuffer, + glBindFramebufferEXT, + glFramebufferTexture, + glFramebufferTextureARB, + glFramebufferTextureOES, + glFramebufferTextureEXT, + glFramebufferTexture1D, + glFramebufferTexture1DEXT, + glFramebufferTexture2D, + glFramebufferTexture2DEXT, + glFramebufferTexture3D, + glFramebufferTexture3DEXT, + glFramebufferTexture3DOES, + glFramebufferRenderbuffer, + glFramebufferRenderbufferEXT, + glFramebufferTextureLayer, + glFramebufferTextureLayerARB, + glFramebufferTextureLayerEXT, + glFramebufferParameteri, + glDeleteFramebuffers, + glDeleteFramebuffersEXT, + glGenRenderbuffers, + glGenRenderbuffersEXT, + glRenderbufferStorage, + glRenderbufferStorageEXT, + glRenderbufferStorageMultisample, + glRenderbufferStorageMultisampleEXT, + glDeleteRenderbuffers, + glDeleteRenderbuffersEXT, + glBindRenderbuffer, + glBindRenderbufferEXT, + glFenceSync, + glClientWaitSync, + glWaitSync, + glDeleteSync, + glGenQueries, + glGenQueriesARB, + glGenQueriesEXT, + glBeginQuery, + glBeginQueryARB, + glBeginQueryEXT, + glBeginQueryIndexed, + glEndQuery, + glEndQueryARB, + glEndQueryEXT, + glEndQueryIndexed, + glBeginConditionalRender, + glEndConditionalRender, + glQueryCounter, + glQueryCounterEXT, + glDeleteQueries, + glDeleteQueriesARB, + glDeleteQueriesEXT, + glBufferData, + glBufferDataARB, + glBufferStorage, + glBufferSubData, + glBufferSubDataARB, + glCopyBufferSubData, + glBindBufferBase, + glBindBufferBaseEXT, + glBindBufferRange, + glBindBufferRangeEXT, + glBindBuffersBase, + glBindBuffersRange, + glMapBuffer, + glMapBufferARB, + glMapBufferOES, + glMapBufferRange, + glFlushMappedBufferRange, + glUnmapBuffer, + glUnmapBufferARB, + glUnmapBufferOES, + glTransformFeedbackVaryings, + glTransformFeedbackVaryingsEXT, + glGenTransformFeedbacks, + glDeleteTransformFeedbacks, + glBindTransformFeedback, + glBeginTransformFeedback, + glBeginTransformFeedbackEXT, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback, + glEndTransformFeedbackEXT, + glDrawTransformFeedback, + glDrawTransformFeedbackInstanced, + glDrawTransformFeedbackStream, + glDrawTransformFeedbackStreamInstanced, + glDeleteBuffers, + glDeleteBuffersARB, + glGenVertexArrays, + glGenVertexArraysOES, + glBindVertexArray, + glBindVertexArrayOES, + glDeleteVertexArrays, + glDeleteVertexArraysOES, + glVertexAttrib1d, + glVertexAttrib1dARB, + glVertexAttrib1dv, + glVertexAttrib1dvARB, + glVertexAttrib1f, + glVertexAttrib1fARB, + glVertexAttrib1fv, + glVertexAttrib1fvARB, + glVertexAttrib1s, + glVertexAttrib1sARB, + glVertexAttrib1sv, + glVertexAttrib1svARB, + glVertexAttrib2d, + glVertexAttrib2dARB, + glVertexAttrib2dv, + glVertexAttrib2dvARB, + glVertexAttrib2f, + glVertexAttrib2fARB, + glVertexAttrib2fv, + glVertexAttrib2fvARB, + glVertexAttrib2s, + glVertexAttrib2sARB, + glVertexAttrib2sv, + glVertexAttrib2svARB, + glVertexAttrib3d, + glVertexAttrib3dARB, + glVertexAttrib3dv, + glVertexAttrib3dvARB, + glVertexAttrib3f, + glVertexAttrib3fARB, + glVertexAttrib3fv, + glVertexAttrib3fvARB, + glVertexAttrib3s, + glVertexAttrib3sARB, + glVertexAttrib3sv, + glVertexAttrib3svARB, + glVertexAttrib4Nbv, + glVertexAttrib4NbvARB, + glVertexAttrib4Niv, + glVertexAttrib4NivARB, + glVertexAttrib4Nsv, + glVertexAttrib4NsvARB, + glVertexAttrib4Nub, + glVertexAttrib4Nubv, + glVertexAttrib4NubvARB, + glVertexAttrib4Nuiv, + glVertexAttrib4NuivARB, + glVertexAttrib4Nusv, + glVertexAttrib4NusvARB, + glVertexAttrib4bv, + glVertexAttrib4bvARB, + glVertexAttrib4d, + glVertexAttrib4dARB, + glVertexAttrib4dv, + glVertexAttrib4dvARB, + glVertexAttrib4f, + glVertexAttrib4fARB, + glVertexAttrib4fv, + glVertexAttrib4fvARB, + glVertexAttrib4iv, + glVertexAttrib4ivARB, + glVertexAttrib4s, + glVertexAttrib4sARB, + glVertexAttrib4sv, + glVertexAttrib4svARB, + glVertexAttrib4ubv, + glVertexAttrib4ubvARB, + glVertexAttrib4uiv, + glVertexAttrib4uivARB, + glVertexAttrib4usv, + glVertexAttrib4usvARB, + glVertexAttribI1i, + glVertexAttribI1iEXT, + glVertexAttribI1iv, + glVertexAttribI1ivEXT, + glVertexAttribI1ui, + glVertexAttribI1uiEXT, + glVertexAttribI1uiv, + glVertexAttribI1uivEXT, + glVertexAttribI2i, + glVertexAttribI2iEXT, + glVertexAttribI2iv, + glVertexAttribI2ivEXT, + glVertexAttribI2ui, + glVertexAttribI2uiEXT, + glVertexAttribI2uiv, + glVertexAttribI2uivEXT, + glVertexAttribI3i, + glVertexAttribI3iEXT, + glVertexAttribI3iv, + glVertexAttribI3ivEXT, + glVertexAttribI3ui, + glVertexAttribI3uiEXT, + glVertexAttribI3uiv, + glVertexAttribI3uivEXT, + glVertexAttribI4bv, + glVertexAttribI4bvEXT, + glVertexAttribI4i, + glVertexAttribI4iEXT, + glVertexAttribI4iv, + glVertexAttribI4ivEXT, + glVertexAttribI4sv, + glVertexAttribI4svEXT, + glVertexAttribI4ubv, + glVertexAttribI4ubvEXT, + glVertexAttribI4ui, + glVertexAttribI4uiEXT, + glVertexAttribI4uiv, + glVertexAttribI4uivEXT, + glVertexAttribI4usv, + glVertexAttribI4usvEXT, + glVertexAttribL1d, + glVertexAttribL1dEXT, + glVertexAttribL1dv, + glVertexAttribL1dvEXT, + glVertexAttribL2d, + glVertexAttribL2dEXT, + glVertexAttribL2dv, + glVertexAttribL2dvEXT, + glVertexAttribL3d, + glVertexAttribL3dEXT, + glVertexAttribL3dv, + glVertexAttribL3dvEXT, + glVertexAttribL4d, + glVertexAttribL4dEXT, + glVertexAttribL4dv, + glVertexAttribL4dvEXT, + glVertexAttribP1ui, + glVertexAttribP1uiv, + glVertexAttribP2ui, + glVertexAttribP2uiv, + glVertexAttribP3ui, + glVertexAttribP3uiv, + glVertexAttribP4ui, + glVertexAttribP4uiv, + glVertexAttribPointer, + glVertexAttribPointerARB, + glVertexAttribIPointer, + glVertexAttribIPointerEXT, + glVertexAttribLPointer, + glVertexAttribLPointerEXT, + glVertexAttribBinding, + glVertexAttribFormat, + glVertexAttribIFormat, + glVertexAttribLFormat, + glVertexAttribDivisor, + glVertexAttribDivisorARB, + glBindAttribLocation, + glBindFragDataLocation, + glBindFragDataLocationEXT, + glBindFragDataLocationIndexed, + glEnableVertexAttribArray, + glEnableVertexAttribArrayARB, + glDisableVertexAttribArray, + glDisableVertexAttribArrayARB, + glBindVertexBuffer, + glBindVertexBuffers, + glVertexBindingDivisor, + glBindImageTexture, + glBindImageTextureEXT, + glBindImageTextures, + glGenSamplers, + glBindSampler, + glBindSamplers, + glBindTextures, + glDeleteSamplers, + glSamplerParameteri, + glSamplerParameterf, + glSamplerParameteriv, + glSamplerParameterfv, + glSamplerParameterIiv, + glSamplerParameterIivEXT, + glSamplerParameterIivOES, + glSamplerParameterIuiv, + glSamplerParameterIuivEXT, + glSamplerParameterIuivOES, + glPatchParameteri, + glPatchParameteriEXT, + glPatchParameteriOES, + glPatchParameterfv, + glPointParameterf, + glPointParameterfARB, + glPointParameterfEXT, + glPointParameterfv, + glPointParameterfvARB, + glPointParameterfvEXT, + glPointParameteri, + glPointParameteriv, + glDispatchCompute, + glDispatchComputeIndirect, + glMemoryBarrier, + glMemoryBarrierEXT, + glMemoryBarrierByRegion, + glTextureBarrier, + glClearDepthf, + glClearBufferfv, + glClearBufferiv, + glClearBufferuiv, + glClearBufferfi, + glClearBufferData, + glClearBufferSubData, + glClearTexImage, + glClearTexSubImage, + glInvalidateBufferData, + glInvalidateBufferSubData, + glInvalidateFramebuffer, + glInvalidateSubFramebuffer, + glInvalidateTexImage, + glInvalidateTexSubImage, + glScissorArrayv, + glScissorArrayvOES, + glScissorArrayvNV, + glScissorIndexed, + glScissorIndexedOES, + glScissorIndexedNV, + glScissorIndexedv, + glScissorIndexedvOES, + glScissorIndexedvNV, + glViewportIndexedf, + glViewportIndexedfOES, + glViewportIndexedfNV, + glViewportIndexedfv, + glViewportIndexedfvOES, + glViewportIndexedfvNV, + glViewportArrayv, + glViewportArrayvOES, + glViewportArrayvNV, + glUniformBlockBinding, + glShaderStorageBlockBinding, + glUniformSubroutinesuiv, + glUniform1f, + glUniform1i, + glUniform1ui, + glUniform1uiEXT, + glUniform1d, + glUniform2f, + glUniform2i, + glUniform2ui, + glUniform2uiEXT, + glUniform2d, + glUniform3f, + glUniform3i, + glUniform3ui, + glUniform3uiEXT, + glUniform3d, + glUniform4f, + glUniform4i, + glUniform4ui, + glUniform4uiEXT, + glUniform4d, + glUniform1fv, + glUniform1iv, + glUniform1uiv, + glUniform1uivEXT, + glUniform1dv, + glUniform2fv, + glUniform2iv, + glUniform2uiv, + glUniform2uivEXT, + glUniform2dv, + glUniform3fv, + glUniform3iv, + glUniform3uiv, + glUniform3uivEXT, + glUniform3dv, + glUniform4fv, + glUniform4iv, + glUniform4uiv, + glUniform4uivEXT, + glUniform4dv, + glUniformMatrix2fv, + glUniformMatrix2x3fv, + glUniformMatrix2x4fv, + glUniformMatrix3fv, + glUniformMatrix3x2fv, + glUniformMatrix3x4fv, + glUniformMatrix4fv, + glUniformMatrix4x2fv, + glUniformMatrix4x3fv, + glUniformMatrix2dv, + glUniformMatrix2x3dv, + glUniformMatrix2x4dv, + glUniformMatrix3dv, + glUniformMatrix3x2dv, + glUniformMatrix3x4dv, + glUniformMatrix4dv, + glUniformMatrix4x2dv, + glUniformMatrix4x3dv, + glProgramUniform1f, + glProgramUniform1fEXT, + glProgramUniform1i, + glProgramUniform1iEXT, + glProgramUniform1ui, + glProgramUniform1uiEXT, + glProgramUniform1d, + glProgramUniform1dEXT, + glProgramUniform2f, + glProgramUniform2fEXT, + glProgramUniform2i, + glProgramUniform2iEXT, + glProgramUniform2ui, + glProgramUniform2uiEXT, + glProgramUniform2d, + glProgramUniform2dEXT, + glProgramUniform3f, + glProgramUniform3fEXT, + glProgramUniform3i, + glProgramUniform3iEXT, + glProgramUniform3ui, + glProgramUniform3uiEXT, + glProgramUniform3d, + glProgramUniform3dEXT, + glProgramUniform4f, + glProgramUniform4fEXT, + glProgramUniform4i, + glProgramUniform4iEXT, + glProgramUniform4ui, + glProgramUniform4uiEXT, + glProgramUniform4d, + glProgramUniform4dEXT, + glProgramUniform1fv, + glProgramUniform1fvEXT, + glProgramUniform1iv, + glProgramUniform1ivEXT, + glProgramUniform1uiv, + glProgramUniform1uivEXT, + glProgramUniform1dv, + glProgramUniform1dvEXT, + glProgramUniform2fv, + glProgramUniform2fvEXT, + glProgramUniform2iv, + glProgramUniform2ivEXT, + glProgramUniform2uiv, + glProgramUniform2uivEXT, + glProgramUniform2dv, + glProgramUniform2dvEXT, + glProgramUniform3fv, + glProgramUniform3fvEXT, + glProgramUniform3iv, + glProgramUniform3ivEXT, + glProgramUniform3uiv, + glProgramUniform3uivEXT, + glProgramUniform3dv, + glProgramUniform3dvEXT, + glProgramUniform4fv, + glProgramUniform4fvEXT, + glProgramUniform4iv, + glProgramUniform4ivEXT, + glProgramUniform4uiv, + glProgramUniform4uivEXT, + glProgramUniform4dv, + glProgramUniform4dvEXT, + glProgramUniformMatrix2fv, + glProgramUniformMatrix2fvEXT, + glProgramUniformMatrix2x3fv, + glProgramUniformMatrix2x3fvEXT, + glProgramUniformMatrix2x4fv, + glProgramUniformMatrix2x4fvEXT, + glProgramUniformMatrix3fv, + glProgramUniformMatrix3fvEXT, + glProgramUniformMatrix3x2fv, + glProgramUniformMatrix3x2fvEXT, + glProgramUniformMatrix3x4fv, + glProgramUniformMatrix3x4fvEXT, + glProgramUniformMatrix4fv, + glProgramUniformMatrix4fvEXT, + glProgramUniformMatrix4x2fv, + glProgramUniformMatrix4x2fvEXT, + glProgramUniformMatrix4x3fv, + glProgramUniformMatrix4x3fvEXT, + glProgramUniformMatrix2dv, + glProgramUniformMatrix2dvEXT, + glProgramUniformMatrix2x3dv, + glProgramUniformMatrix2x3dvEXT, + glProgramUniformMatrix2x4dv, + glProgramUniformMatrix2x4dvEXT, + glProgramUniformMatrix3dv, + glProgramUniformMatrix3dvEXT, + glProgramUniformMatrix3x2dv, + glProgramUniformMatrix3x2dvEXT, + glProgramUniformMatrix3x4dv, + glProgramUniformMatrix3x4dvEXT, + glProgramUniformMatrix4dv, + glProgramUniformMatrix4dvEXT, + glProgramUniformMatrix4x2dv, + glProgramUniformMatrix4x2dvEXT, + glProgramUniformMatrix4x3dv, + glProgramUniformMatrix4x3dvEXT, + glDrawRangeElements, + glDrawRangeElementsEXT, + glDrawRangeElementsBaseVertex, + glDrawRangeElementsBaseVertexEXT, + glDrawRangeElementsBaseVertexOES, + glDrawArraysInstancedBaseInstance, + glDrawArraysInstancedBaseInstanceEXT, + glDrawArraysInstanced, + glDrawArraysInstancedARB, + glDrawArraysInstancedEXT, + glDrawElementsInstanced, + glDrawElementsInstancedARB, + glDrawElementsInstancedEXT, + glDrawElementsInstancedBaseInstance, + glDrawElementsInstancedBaseInstanceEXT, + glDrawElementsBaseVertex, + glDrawElementsBaseVertexEXT, + glDrawElementsBaseVertexOES, + glDrawElementsInstancedBaseVertex, + glDrawElementsInstancedBaseVertexEXT, + glDrawElementsInstancedBaseVertexOES, + glDrawElementsInstancedBaseVertexBaseInstance, + glDrawElementsInstancedBaseVertexBaseInstanceEXT, + glMultiDrawArrays, + glMultiDrawArraysEXT, + glMultiDrawElements, + glMultiDrawElementsBaseVertex, + glMultiDrawElementsBaseVertexEXT, + glMultiDrawElementsBaseVertexOES, + glMultiDrawArraysIndirect, + glMultiDrawElementsIndirect, + glDrawArraysIndirect, + glDrawElementsIndirect, + glBlitFramebuffer, + glBlitFramebufferEXT, + glPrimitiveBoundingBox, + glPrimitiveBoundingBoxEXT, + glPrimitiveBoundingBoxOES, + glBlendBarrier, + glFramebufferTexture2DMultisampleEXT, + glDiscardFramebufferEXT, + glDepthRangeArrayfvOES, + glDepthRangeArrayfvNV, + glDepthRangeIndexedfOES, + glDepthRangeIndexedfNV, + glNamedStringARB, + glDeleteNamedStringARB, + glCompileShaderIncludeARB, + glIsNamedStringARB, + glGetNamedStringARB, + glGetNamedStringivARB, + glDispatchComputeGroupSizeARB, + glMultiDrawArraysIndirectCountARB, + glMultiDrawElementsIndirectCountARB, + glRasterSamplesEXT, + glDepthBoundsEXT, + glPolygonOffsetClampEXT, + glInsertEventMarkerEXT, + glPushGroupMarkerEXT, + glPopGroupMarkerEXT, + glFrameTerminatorGREMEDY, + glStringMarkerGREMEDY, + glFramebufferTextureMultiviewOVR, + glFramebufferTextureMultisampleMultiviewOVR, + glCompressedTextureImage1DEXT, + glCompressedTextureImage2DEXT, + glCompressedTextureImage3DEXT, + glCompressedTextureSubImage1DEXT, + glCompressedTextureSubImage2DEXT, + glCompressedTextureSubImage3DEXT, + glGenerateTextureMipmapEXT, + glGetPointeri_vEXT, + glGetDoubleIndexedvEXT, + glGetPointerIndexedvEXT, + glGetIntegerIndexedvEXT, + glGetBooleanIndexedvEXT, + glGetFloatIndexedvEXT, + glGetMultiTexImageEXT, + glGetMultiTexParameterfvEXT, + glGetMultiTexParameterivEXT, + glGetMultiTexParameterIivEXT, + glGetMultiTexParameterIuivEXT, + glGetMultiTexLevelParameterfvEXT, + glGetMultiTexLevelParameterivEXT, + glGetCompressedMultiTexImageEXT, + glGetNamedBufferPointervEXT, + glGetNamedBufferPointerv, + glGetNamedProgramivEXT, + glGetNamedFramebufferAttachmentParameterivEXT, + glGetNamedFramebufferAttachmentParameteriv, + glGetNamedBufferParameterivEXT, + glGetNamedBufferParameteriv, + glCheckNamedFramebufferStatusEXT, + glCheckNamedFramebufferStatus, + glGetNamedBufferSubDataEXT, + glGetNamedFramebufferParameterivEXT, + glGetFramebufferParameterivEXT, + glGetNamedFramebufferParameteriv, + glGetNamedRenderbufferParameterivEXT, + glGetNamedRenderbufferParameteriv, + glGetVertexArrayIntegervEXT, + glGetVertexArrayPointervEXT, + glGetVertexArrayIntegeri_vEXT, + glGetVertexArrayPointeri_vEXT, + glGetCompressedTextureImageEXT, + glGetTextureImageEXT, + glGetTextureParameterivEXT, + glGetTextureParameterfvEXT, + glGetTextureParameterIivEXT, + glGetTextureParameterIuivEXT, + glGetTextureLevelParameterivEXT, + glGetTextureLevelParameterfvEXT, + glBindMultiTextureEXT, + glMapNamedBufferEXT, + glMapNamedBuffer, + glMapNamedBufferRangeEXT, + glFlushMappedNamedBufferRangeEXT, + glUnmapNamedBufferEXT, + glUnmapNamedBuffer, + glClearNamedBufferDataEXT, + glClearNamedBufferData, + glClearNamedBufferSubDataEXT, + glNamedBufferDataEXT, + glNamedBufferStorageEXT, + glNamedBufferSubDataEXT, + glNamedCopyBufferSubDataEXT, + glNamedFramebufferTextureEXT, + glNamedFramebufferTexture, + glNamedFramebufferTexture1DEXT, + glNamedFramebufferTexture2DEXT, + glNamedFramebufferTexture3DEXT, + glNamedFramebufferRenderbufferEXT, + glNamedFramebufferRenderbuffer, + glNamedFramebufferTextureLayerEXT, + glNamedFramebufferTextureLayer, + glNamedFramebufferParameteriEXT, + glNamedFramebufferParameteri, + glNamedRenderbufferStorageEXT, + glNamedRenderbufferStorage, + glNamedRenderbufferStorageMultisampleEXT, + glNamedRenderbufferStorageMultisample, + glFramebufferDrawBufferEXT, + glNamedFramebufferDrawBuffer, + glFramebufferDrawBuffersEXT, + glNamedFramebufferDrawBuffers, + glFramebufferReadBufferEXT, + glNamedFramebufferReadBuffer, + glTextureBufferEXT, + glTextureBufferRangeEXT, + glTextureImage1DEXT, + glTextureImage2DEXT, + glTextureImage3DEXT, + glTextureParameterfEXT, + glTextureParameterfvEXT, + glTextureParameteriEXT, + glTextureParameterivEXT, + glTextureParameterIivEXT, + glTextureParameterIuivEXT, + glTextureStorage1DEXT, + glTextureStorage2DEXT, + glTextureStorage3DEXT, + glTextureStorage2DMultisampleEXT, + glTextureStorage3DMultisampleEXT, + glTextureSubImage1DEXT, + glTextureSubImage2DEXT, + glTextureSubImage3DEXT, + glCopyTextureImage1DEXT, + glCopyTextureImage2DEXT, + glCopyTextureSubImage1DEXT, + glCopyTextureSubImage2DEXT, + glCopyTextureSubImage3DEXT, + glMultiTexParameteriEXT, + glMultiTexParameterivEXT, + glMultiTexParameterfEXT, + glMultiTexParameterfvEXT, + glMultiTexImage1DEXT, + glMultiTexImage2DEXT, + glMultiTexSubImage1DEXT, + glMultiTexSubImage2DEXT, + glCopyMultiTexImage1DEXT, + glCopyMultiTexImage2DEXT, + glCopyMultiTexSubImage1DEXT, + glCopyMultiTexSubImage2DEXT, + glMultiTexImage3DEXT, + glMultiTexSubImage3DEXT, + glCopyMultiTexSubImage3DEXT, + glCompressedMultiTexImage3DEXT, + glCompressedMultiTexImage2DEXT, + glCompressedMultiTexImage1DEXT, + glCompressedMultiTexSubImage3DEXT, + glCompressedMultiTexSubImage2DEXT, + glCompressedMultiTexSubImage1DEXT, + glMultiTexBufferEXT, + glMultiTexParameterIivEXT, + glMultiTexParameterIuivEXT, + glGenerateMultiTexMipmapEXT, + glVertexArrayVertexAttribOffsetEXT, + glVertexArrayVertexAttribIOffsetEXT, + glEnableVertexArrayAttribEXT, + glEnableVertexArrayAttrib, + glDisableVertexArrayAttribEXT, + glDisableVertexArrayAttrib, + glVertexArrayBindVertexBufferEXT, + glVertexArrayVertexBuffer, + glVertexArrayVertexAttribFormatEXT, + glVertexArrayAttribFormat, + glVertexArrayVertexAttribIFormatEXT, + glVertexArrayAttribIFormat, + glVertexArrayVertexAttribLFormatEXT, + glVertexArrayAttribLFormat, + glVertexArrayVertexAttribBindingEXT, + glVertexArrayAttribBinding, + glVertexArrayVertexBindingDivisorEXT, + glVertexArrayBindingDivisor, + glVertexArrayVertexAttribLOffsetEXT, + glVertexArrayVertexAttribDivisorEXT, + glCreateTransformFeedbacks, + glTransformFeedbackBufferBase, + glTransformFeedbackBufferRange, + glGetTransformFeedbacki64_v, + glGetTransformFeedbacki_v, + glGetTransformFeedbackiv, + glCreateBuffers, + glGetNamedBufferSubData, + glNamedBufferStorage, + glNamedBufferData, + glNamedBufferSubData, + glCopyNamedBufferSubData, + glClearNamedBufferSubData, + glMapNamedBufferRange, + glFlushMappedNamedBufferRange, + glGetNamedBufferParameteri64v, + glCreateFramebuffers, + glInvalidateNamedFramebufferData, + glInvalidateNamedFramebufferSubData, + glClearNamedFramebufferiv, + glClearNamedFramebufferuiv, + glClearNamedFramebufferfv, + glClearNamedFramebufferfi, + glBlitNamedFramebuffer, + glCreateRenderbuffers, + glCreateTextures, + glTextureBuffer, + glTextureBufferRange, + glTextureStorage1D, + glTextureStorage2D, + glTextureStorage3D, + glTextureStorage2DMultisample, + glTextureStorage3DMultisample, + glTextureSubImage1D, + glTextureSubImage2D, + glTextureSubImage3D, + glCompressedTextureSubImage1D, + glCompressedTextureSubImage2D, + glCompressedTextureSubImage3D, + glCopyTextureSubImage1D, + glCopyTextureSubImage2D, + glCopyTextureSubImage3D, + glTextureParameterf, + glTextureParameterfv, + glTextureParameteri, + glTextureParameterIiv, + glTextureParameterIuiv, + glTextureParameteriv, + glGenerateTextureMipmap, + glBindTextureUnit, + glGetTextureImage, + glGetTextureSubImage, + glGetCompressedTextureImage, + glGetCompressedTextureSubImage, + glGetTextureLevelParameterfv, + glGetTextureLevelParameteriv, + glGetTextureParameterIiv, + glGetTextureParameterIuiv, + glGetTextureParameterfv, + glGetTextureParameteriv, + glCreateVertexArrays, + glCreateSamplers, + glCreateProgramPipelines, + glCreateQueries, + glVertexArrayElementBuffer, + glVertexArrayVertexBuffers, + glGetVertexArrayiv, + glGetVertexArrayIndexed64iv, + glGetVertexArrayIndexediv, + glGetQueryBufferObjecti64v, + glGetQueryBufferObjectiv, + glGetQueryBufferObjectui64v, + glGetQueryBufferObjectuiv, + wglDXSetResourceShareHandleNV, + wglDXOpenDeviceNV, + wglDXCloseDeviceNV, + wglDXRegisterObjectNV, + wglDXUnregisterObjectNV, + wglDXObjectAccessNV, + wglDXLockObjectsNV, + wglDXUnlockObjectsNV, - GEN_FEEDBACK, - CREATE_FEEDBACK, - BIND_FEEDBACK, - BEGIN_FEEDBACK, - END_FEEDBACK, - PAUSE_FEEDBACK, - RESUME_FEEDBACK, - - GEN_PROGRAMPIPE, - CREATE_PROGRAMPIPE, - USE_PROGRAMSTAGES, - BIND_PROGRAMPIPE, - - FENCE_SYNC, - CLIENTWAIT_SYNC, - WAIT_SYNC, - - GEN_QUERIES, - CREATE_QUERIES, - BEGIN_QUERY, - BEGIN_QUERY_INDEXED, - END_QUERY, - END_QUERY_INDEXED, - BEGIN_CONDITIONAL, - END_CONDITIONAL, - QUERY_COUNTER, - - CLEAR_COLOR, - CLEAR_DEPTH, - CLEAR_STENCIL, - CLEAR, - CLEARBUFFERF, - CLEARBUFFERI, - CLEARBUFFERUI, - CLEARBUFFERFI, - CLEARBUFFERDATA, - CLEARBUFFERSUBDATA, - CLEARTEXIMAGE, - CLEARTEXSUBIMAGE, - POLYGON_MODE, - POLYGON_OFFSET, - POLYGON_OFFSET_CLAMP, - CULL_FACE, - HINT, - ENABLE, - DISABLE, - ENABLEI, - DISABLEI, - FRONT_FACE, - BLEND_FUNC, - BLEND_FUNCI, - BLEND_COLOR, - BLEND_FUNC_SEP, - BLEND_FUNC_SEPI, - BLEND_EQ, - BLEND_EQI, - BLEND_EQ_SEP, - BLEND_EQ_SEPI, - BLEND_BARRIER, - LOGIC_OP, - STENCIL_OP, - STENCIL_OP_SEP, - STENCIL_FUNC, - STENCIL_FUNC_SEP, - STENCIL_MASK, - STENCIL_MASK_SEP, - COLOR_MASK, - COLOR_MASKI, - SAMPLE_MASK, - SAMPLE_COVERAGE, - MIN_SAMPLE_SHADING, - RASTER_SAMPLES, - DEPTH_FUNC, - DEPTH_MASK, - DEPTH_RANGE, - DEPTH_RANGEF, - DEPTH_RANGE_IDX, - DEPTH_RANGEARRAY, - DEPTH_BOUNDS, - CLIP_CONTROL, - PROVOKING_VERTEX, - PRIMITIVE_RESTART, - PATCH_PARAMI, - PATCH_PARAMFV, - LINE_WIDTH, - POINT_SIZE, - POINT_PARAMF, - POINT_PARAMFV, - POINT_PARAMI, - POINT_PARAMIV, - VIEWPORT, - VIEWPORT_ARRAY, - SCISSOR, - SCISSOR_ARRAY, - BIND_VERTEXBUFFER, - BIND_VERTEXBUFFERS, - VERTEXBINDINGDIVISOR, - DISPATCH_COMPUTE, - DISPATCH_COMPUTE_GROUP_SIZE, - DISPATCH_COMPUTE_INDIRECT, - MEMORY_BARRIER, - MEMORY_BARRIER_BY_REGION, - TEXTURE_BARRIER, - DRAWARRAYS, - DRAWARRAYS_INDIRECT, - DRAWARRAYS_INSTANCED, - DRAWARRAYS_INSTANCEDBASEINSTANCE, - DRAWELEMENTS, - DRAWELEMENTS_INDIRECT, - DRAWRANGEELEMENTS, - DRAWRANGEELEMENTSBASEVERTEX, - DRAWELEMENTS_INSTANCED, - DRAWELEMENTS_INSTANCEDBASEINSTANCE, - DRAWELEMENTS_BASEVERTEX, - DRAWELEMENTS_INSTANCEDBASEVERTEX, - DRAWELEMENTS_INSTANCEDBASEVERTEXBASEINSTANCE, - DRAW_FEEDBACK, - DRAW_FEEDBACK_INSTANCED, - DRAW_FEEDBACK_STREAM, - DRAW_FEEDBACK_STREAM_INSTANCED, - MULTI_DRAWARRAYS, - MULTI_DRAWELEMENTS, - MULTI_DRAWELEMENTSBASEVERTEX, - MULTI_DRAWARRAYS_INDIRECT, - MULTI_DRAWELEMENTS_INDIRECT, - MULTI_DRAWARRAYS_INDIRECT_COUNT, - MULTI_DRAWELEMENTS_INDIRECT_COUNT, - - GEN_FRAMEBUFFERS, - CREATE_FRAMEBUFFERS, - FRAMEBUFFER_TEX, - FRAMEBUFFER_TEX1D, - FRAMEBUFFER_TEX2D, - FRAMEBUFFER_TEX3D, - FRAMEBUFFER_RENDBUF, - FRAMEBUFFER_TEXLAYER, - FRAMEBUFFER_PARAM, - READ_BUFFER, - BIND_FRAMEBUFFER, - DRAW_BUFFER, - DRAW_BUFFERS, - BLIT_FRAMEBUFFER, - - GEN_RENDERBUFFERS, - CREATE_RENDERBUFFERS, - RENDERBUFFER_STORAGE, - RENDERBUFFER_STORAGEMS, - - GEN_SAMPLERS, - CREATE_SAMPLERS, - SAMPLER_PARAMETERI, - SAMPLER_PARAMETERF, - SAMPLER_PARAMETERIV, - SAMPLER_PARAMETERFV, - SAMPLER_PARAMETERIIV, - SAMPLER_PARAMETERIUIV, - BIND_SAMPLER, - BIND_SAMPLERS, - - GEN_BUFFER, - CREATE_BUFFER, - BIND_BUFFER, - BIND_BUFFER_BASE, - BIND_BUFFER_RANGE, - BIND_BUFFERS_BASE, - BIND_BUFFERS_RANGE, - BUFFERSTORAGE, - BUFFERDATA, - BUFFERSUBDATA, - COPYBUFFERSUBDATA, - UNMAP, - FLUSHMAP, - GEN_VERTEXARRAY, - CREATE_VERTEXARRAY, - BIND_VERTEXARRAY, - VERTEXATTRIB_GENERIC, - VERTEXATTRIBPOINTER, - VERTEXATTRIBIPOINTER, - VERTEXATTRIBLPOINTER, - ENABLEVERTEXATTRIBARRAY, - DISABLEVERTEXATTRIBARRAY, - VERTEXATTRIBFORMAT, - VERTEXATTRIBIFORMAT, - VERTEXATTRIBLFORMAT, - VERTEXATTRIBDIVISOR, - VERTEXATTRIBBINDING, - - VAO_ELEMENT_BUFFER, - FEEDBACK_BUFFER_BASE, - FEEDBACK_BUFFER_RANGE, - - OBJECT_LABEL, - BEGIN_EVENT, - SET_MARKER, - END_EVENT, - - DEBUG_MESSAGES, - - CAPTURE_SCOPE, - CONTEXT_CAPTURE_HEADER, - CONTEXT_CAPTURE_FOOTER, - - INTEROP_INIT, - INTEROP_DATA, - - PRIMITIVE_BOUNDING_BOX, - - FRAMEBUFFER_TEX2DMS, - - FRAMEBUFFER_MULTIVIEW, - FRAMEBUFFER_MULTIVIEWMS, - - NUM_OPENGL_CHUNKS, + Max, }; + +// set at the point of each hooked entry point, so we know precisely which function was called +extern GLChunk gl_CurChunk; + +DECLARE_REFLECTION_ENUM(GLChunk); diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 1d66f2bb7..2f74a8d8f 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -44,289 +44,6 @@ const float charPixelHeight = 20.0f; stbtt_bakedchar chardata[numChars]; -const char *GLChunkNames[] = { - "WrappedOpenGL::Initialisation", - - "glGenTextures", - "glCreateTextures", - "glBindTexture", - "glBindTextures", - "glBindMultiTexture", - "glBindTextureUnit", - "glBindImageTexture", - "glBindImageTextures", - "glActiveTexture", - "glTexStorage1D", - "glTexStorage2D", - "glTexStorage3D", - "glTexStorage2DMultisample", - "glTexStorage3DMultisample", - "glTexImage1D", - "glTexImage2D", - "glTexImage3D", - "glTexSubImage1D", - "glTexSubImage2D", - "glTexSubImage3D", - "glCompressedTexImage1D", - "glCompressedTexImage2D", - "glCompressedTexImage3D", - "glCompressedTexSubImage1D", - "glCompressedTexSubImage2D", - "glCompressedTexSubImage3D", - "glTexBuffer", - "glTexBufferRange", - "glPixelStore", - "glTexParameterf", - "glTexParameterfv", - "glTexParameteri", - "glTexParameteriv", - "glTexParameterIiv", - "glTexParameterIuiv", - "glGenerateMipmap", - "glCopyImageSubData", - "glCopyTexImage1D", - "glCopyTexImage2D", - "glCopyTexSubImage1D", - "glCopyTexSubImage2D", - "glCopyTexSubImage3D", - "glTextureView", - - "glCreateShader", - "glCreateProgram", - "glCreateShaderProgramv", - "glCompileShader", - "glShaderSource", - "glAttachShader", - "glDetachShader", - "glUseProgram", - "glProgramParameter", - "glTransformFeedbackVaryings", - "glBindAttribLocation", - "glBindFragDataLocation", - "glBindFragDataLocationIndexed", - "glUniformBlockBinding", - "glShaderStorageBlockBinding", - "glUniformSubroutinesuiv", - "glProgramUniformVector*", - "glProgramUniformMatrix*", - "glLinkProgram", - - "glNamedStringARB", - "glDeleteNamedStringARB", - "glCompileShaderIncludeARB", - - "glGenTransformFeedbacks", - "glCreateTransformFeedbacks", - "glBindTransformFeedback", - "glBeginTransformFeedback", - "glEndTransformFeedback", - "glPauseTransformFeedback", - "glResumeTransformFeedback", - - "glGenProgramPipelines", - "glCreateProgramPipelines", - "glUseProgramStages", - "glBindProgramPipeline", - - "glFenceSync", - "glClientWaitSync", - "glWaitSync", - - "glGenQueries", - "glCreateQueries", - "glBeginQuery", - "glBeginQueryIndexed", - "glEndQuery", - "glEndQueryIndexed", - "glBeginConditional", - "glEndConditional", - "glQueryCounter", - - "glClearColor", - "glClearDepth", - "glClearStencil", - "glClear", - "glClearBufferfv", - "glClearBufferiv", - "glClearBufferuiv", - "glClearBufferfi", - "glClearBufferData", - "glClearBufferSubData", - "glClearTexImage", - "glClearTexSubImage", - "glPolygonMode", - "glPolygonOffset", - "glPolygonOffsetClampEXT", - "glCullFace", - "glHint", - "glEnable", - "glDisable", - "glEnablei", - "glDisablei", - "glFrontFace", - "glBlendFunc", - "glBlendFunci", - "glBlendColor", - "glBlendFuncSeparate", - "glBlendFuncSeparatei", - "glBlendEquation", - "glBlendEquationi", - "glBlendEquationSeparate", - "glBlendEquationSeparatei", - "glBlendBarrierKHR", - "glLogicOp", - "glStencilOp", - "glStencilOpSeparate", - "glStencilFunc", - "glStencilFuncSeparate", - "glStencilMask", - "glStencilMaskSeparate", - "glColorMask", - "glColorMaski", - "glSampleMaski", - "glSampleCoverage", - "glMinSampleShading", - "glRasterSamplesEXT", - "glDepthFunc", - "glDepthMask", - "glDepthRange", - "glDepthRangef", - "glDepthRangeIndexed", - "glDepthRangeArrayv", - "glDepthBounds", - "glClipControl", - "glProvokingVertex", - "glPrimitiveRestartIndex", - "glPatchParameteri", - "glPatchParameterfv", - "glLineWidth", - "glPointSize", - "glPointParameterf", - "glPointParameterfv", - "glPointParameteri", - "glPointParameteriv", - "glViewport", - "glViewportArrayv", - "glScissor", - "glScissorArrayv", - "glBindVertexBuffer", - "glBindVertexBuffers", - "glVertexBindingDivisor", - "glDispatchCompute", - "glDispatchComputeGroupSizeARB", - "glDispatchComputeIndirect", - "glMemoryBarrier", - "glMemoryBarrierByRegion", - "glTextureBarrier", - "glDrawArrays", - "glDrawArraysIndirect", - "glDrawArraysInstanced", - "glDrawArraysInstancedBaseInstance", - "glDrawElements", - "glDrawElementsIndirect", - "glDrawRangeElements", - "glDrawRangeElementsBaseVertex", - "glDrawElementsInstanced", - "glDrawElementsInstancedBaseInstance", - "glDrawElementsBaseVertex", - "glDrawElementsInstancedBaseVertex", - "glDrawElementsInstancedBaseVertexBaseInstance", - "glDrawTransformFeedback", - "glDrawTransformFeedbackInstanced", - "glDrawTransformFeedbackStream", - "glDrawTransformFeedbackStreamInstanced", - "glMultiDrawArrays", - "glMultiDrawElements", - "glMultiDrawElementsBaseVertex", - "glMultiDrawArraysIndirect", - "glMultiDrawElementsIndirect", - "glMultiDrawArraysIndirectCountARB", - "glMultiDrawElementsIndirectCountARB", - - "glGenFramebuffers", - "glCreateFramebuffers", - "glFramebufferTexture", - "glFramebufferTexture1D", - "glFramebufferTexture2D", - "glFramebufferTexture3D", - "glFramebufferRenderbuffer", - "glFramebufferTextureLayer", - "glFramebufferParameteri", - "glReadBuffer", - "glBindFramebuffer", - "glDrawBuffer", - "glDrawBuffers", - "glBlitFramebuffer", - - "glGenRenderbuffers", - "glCreateRenderbuffers", - "glRenderbufferStorage", - "glRenderbufferStorageMultisample", - - "glGenSamplers", - "glCreateSamplers", - "glSamplerParameteri", - "glSamplerParameterf", - "glSamplerParameteriv", - "glSamplerParameterfv", - "glSamplerParameterIiv", - "glSamplerParameterIuiv", - "glBindSampler", - "glBindSamplers", - - "glGenBuffers", - "glCreateBuffers", - "glBindBuffer", - "glBindBufferBase", - "glBindBufferRange", - "glBindBuffersBase", - "glBindBuffersRange", - "glBufferStorage", - "glBufferData", - "glBufferSubData", - "glCopyBufferSubData", - "glUnmapBuffer", - "glFlushMappedBufferRange", - "glGenVertexArrays", - "glCreateVertexArrays", - "glBindVertexArray", - "glVertexAttrib*", - "glVertexAttribPointer", - "glVertexAttribIPointer", - "glVertexAttribLPointer", - "glEnableVertexAttribArray", - "glDisableVertexAttribArray", - "glVertexAttribFormat", - "glVertexAttribIFormat", - "glVertexAttribLFormat", - "glVertexAttribDivisor", - "glVertexAttribBinding", - - "glVertexArrayElementBuffer", - "glTransformFeedbackBufferBase", - "glTransformFeedbackBufferRange", - - "glObjectLabel", - "glPushDebugGroup", - "glDebugMessageInsert", - "glPopDebugGroup", - - "DebugMessageList", - - "Capture", - "BeginCapture", - "EndCapture", - - "wglDXRegisterObjectNV", - "wglDXLockObjectsNV", - - "glPrimitiveBoundingBox", - - "glFramebufferTexture2DMultisample", - - "glFramebufferTextureMultiviewOVR", - "glFramebufferTextureMultisampleMultiviewOVR", -}; GLInitParams::GLInitParams() {