X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftests%2Fdispatch_sanity.cpp;h=be322aa792e65f6e63b745884be7466a1c3031ff;hp=309e574ac3287c82e674db8ec2d73201d7ab72ce;hb=eaeab0a99845f3fb6a5ff70d4e275b31df506a0e;hpb=b4c0c514b10ed85b50e4fc3bbd9c740db21e5720 diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 309e574ac32..be322aa792e 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -112,6 +112,7 @@ DispatchSanity_test::SetUpCtx(gl_api api, unsigned int version) &driver_functions); _vbo_CreateContext(&ctx); + _mesa_override_extensions(&ctx); ctx.Version = version; _mesa_initialize_dispatch_tables(&ctx); @@ -223,6 +224,8 @@ TEST_F(DispatchSanity_test, GLES31) } const struct function common_desktop_functions_possible[] = { + { "glBindRenderbufferEXT", 10, -1 }, + { "glBindFramebufferEXT", 10, -1 }, { "glCullFace", 10, -1 }, { "glFrontFace", 10, -1 }, { "glHint", 10, -1 }, @@ -504,6 +507,10 @@ const struct function common_desktop_functions_possible[] = { { "glDrawArraysInstanced", 31, -1 }, { "glDrawElementsInstanced", 31, -1 }, { "glPrimitiveRestartIndex", 31, -1 }, + { "glTexBuffer", 31, -1 }, + + /* GL_ARB_texture_buffer_range */ + { "glTexBufferRange", 43, -1 }, /* GL_ARB_shader_objects */ { "glDeleteObjectARB", 31, -1 }, @@ -570,6 +577,46 @@ const struct function common_desktop_functions_possible[] = { { "glBlendFunci", 40, -1 }, { "glBlendFuncSeparatei", 40, -1 }, + { "glGetSubroutineUniformLocation", 40, -1 }, + { "glGetSubroutineIndex", 40, -1 }, + { "glGetActiveSubroutineUniformiv", 40, -1 }, + { "glGetActiveSubroutineUniformName", 40, -1 }, + { "glGetActiveSubroutineName", 40, -1 }, + { "glUniformSubroutinesuiv", 40, -1 }, + { "glGetUniformSubroutineuiv", 40, -1 }, + { "glGetProgramStageiv", 40, -1 }, + + { "glUniform1d", 40, -1 }, + { "glUniform2d", 40, -1 }, + { "glUniform3d", 40, -1 }, + { "glUniform4d", 40, -1 }, + { "glUniform1dv", 40, -1 }, + { "glUniform2dv", 40, -1 }, + { "glUniform3dv", 40, -1 }, + { "glUniform4dv", 40, -1 }, + { "glUniformMatrix2dv", 40, -1 }, + { "glUniformMatrix3dv", 40, -1 }, + { "glUniformMatrix4dv", 40, -1 }, + { "glUniformMatrix2x3dv", 40, -1 }, + { "glUniformMatrix2x4dv", 40, -1 }, + { "glUniformMatrix3x2dv", 40, -1 }, + { "glUniformMatrix3x4dv", 40, -1 }, + { "glUniformMatrix4x2dv", 40, -1 }, + { "glUniformMatrix4x3dv", 40, -1 }, + { "glGetUniformdv", 43, -1 }, + + /* GL 4.1 */ + { "glVertexAttribL1d", 41, -1 }, + { "glVertexAttribL2d", 41, -1 }, + { "glVertexAttribL3d", 41, -1 }, + { "glVertexAttribL4d", 41, -1 }, + { "glVertexAttribL1dv", 41, -1 }, + { "glVertexAttribL2dv", 41, -1 }, + { "glVertexAttribL3dv", 41, -1 }, + { "glVertexAttribL4dv", 41, -1 }, + { "glVertexAttribLPointer", 41, -1 }, + { "glGetVertexAttribLdv", 41, -1 }, + /* GL 4.3 */ { "glIsRenderbuffer", 43, -1 }, { "glBindRenderbuffer", 43, -1 }, @@ -851,9 +898,331 @@ const struct function common_desktop_functions_possible[] = { // { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml // { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml + { "glViewportArrayv", 43, -1 }, + { "glViewportIndexedf", 43, -1 }, + { "glViewportIndexedfv", 43, -1 }, + { "glScissorArrayv", 43, -1 }, + { "glScissorIndexed", 43, -1 }, + { "glScissorIndexedv", 43, -1 }, + { "glDepthRangeArrayv", 43, -1 }, + { "glDepthRangeIndexed", 43, -1 }, + /* GL 4.5 */ + /* aliased versions checked above */ + //{ "glGetGraphicsResetStatus", 45, -1 }, + //{ "glReadnPixels", 45, -1 }, + //{ "glGetnUniformfv", 45, -1 }, + //{ "glGetnUniformiv", 45, -1 }, + //{ "glGetnUniformuiv", 45, -1 }, { "glMemoryBarrierByRegion", 45, -1 }, + /* GL_ARB_direct_state_access */ + { "glCreateTransformFeedbacks", 45, -1 }, + { "glTransformFeedbackBufferBase", 45, -1 }, + { "glTransformFeedbackBufferRange", 45, -1 }, + { "glGetTransformFeedbackiv", 45, -1 }, + { "glGetTransformFeedbacki_v", 45, -1 }, + { "glGetTransformFeedbacki64_v", 45, -1 }, + { "glCreateBuffers", 45, -1 }, + { "glNamedBufferStorage", 45, -1 }, + { "glNamedBufferData", 45, -1 }, + { "glNamedBufferSubData", 45, -1 }, + { "glCopyNamedBufferSubData", 45, -1 }, + { "glClearNamedBufferData", 45, -1 }, + { "glClearNamedBufferSubData", 45, -1 }, + { "glMapNamedBuffer", 45, -1 }, + { "glMapNamedBufferRange", 45, -1 }, + { "glFlushMappedNamedBufferRange", 45, -1 }, + { "glGetNamedBufferParameteriv", 45, -1 }, + { "glGetNamedBufferParameteri64v", 45, -1 }, + { "glGetNamedBufferPointerv", 45, -1 }, + { "glGetNamedBufferSubData", 45, -1 }, + { "glCreateFramebuffers", 45, -1 }, + { "glNamedFramebufferRenderbuffer", 45, -1 }, + { "glNamedFramebufferParameteri", 45, -1 }, + { "glNamedFramebufferTexture", 45, -1 }, + { "glNamedFramebufferTextureLayer", 45, -1 }, + { "glNamedFramebufferDrawBuffer", 45, -1 }, + { "glNamedFramebufferDrawBuffers", 45, -1 }, + { "glNamedFramebufferReadBuffer", 45, -1 }, + { "glInvalidateNamedFramebufferSubData", 45, -1 }, + { "glInvalidateNamedFramebufferData", 45, -1 }, + { "glClearNamedFramebufferiv", 45, -1 }, + { "glClearNamedFramebufferuiv", 45, -1 }, + { "glClearNamedFramebufferfv", 45, -1 }, + { "glClearNamedFramebufferfi", 45, -1 }, + { "glBlitNamedFramebuffer", 45, -1 }, + { "glCheckNamedFramebufferStatus", 45, -1 }, + { "glGetNamedFramebufferParameteriv", 45, -1 }, + { "glGetNamedFramebufferAttachmentParameteriv", 45, -1 }, + { "glCreateRenderbuffers", 45, -1 }, + { "glNamedRenderbufferStorage", 45, -1 }, + { "glNamedRenderbufferStorageMultisample", 45, -1 }, + { "glGetNamedRenderbufferParameteriv", 45, -1 }, + { "glCreateTextures", 45, -1 }, + { "glTextureStorage1D", 45, -1 }, + { "glTextureStorage2D", 45, -1 }, + { "glTextureStorage3D", 45, -1 }, + { "glTextureSubImage1D", 45, -1 }, + { "glTextureSubImage2D", 45, -1 }, + { "glTextureSubImage3D", 45, -1 }, + { "glBindTextureUnit", 45, -1 }, + { "glTextureParameterf", 45, -1 }, + { "glTextureParameterfv", 45, -1 }, + { "glTextureParameteri", 45, -1 }, + { "glTextureParameterIiv", 45, -1 }, + { "glTextureParameterIuiv", 45, -1 }, + { "glTextureParameteriv", 45, -1 }, + { "glGetTextureLevelParameterfv", 45, -1 }, + { "glGetTextureLevelParameteriv", 45, -1 }, + { "glGetTextureParameterfv", 45, -1 }, + { "glGetTextureParameterIiv", 45, -1 }, + { "glGetTextureParameterIuiv", 45, -1 }, + { "glGetTextureParameteriv", 45, -1 }, + { "glCopyTextureSubImage1D", 45, -1 }, + { "glCopyTextureSubImage2D", 45, -1 }, + { "glCopyTextureSubImage3D", 45, -1 }, + { "glGetTextureImage", 45, -1 }, + { "glGetCompressedTextureImage", 45, -1 }, + { "glCompressedTextureSubImage1D", 45, -1 }, + { "glCompressedTextureSubImage2D", 45, -1 }, + { "glCompressedTextureSubImage3D", 45, -1 }, + { "glGenerateTextureMipmap", 45, -1 }, + { "glTextureStorage2DMultisample", 45, -1 }, + { "glTextureStorage3DMultisample", 45, -1 }, + { "glTextureBuffer", 45, -1 }, + { "glTextureBufferRange", 45, -1 }, + { "glCreateVertexArrays", 45, -1 }, + { "glDisableVertexArrayAttrib", 45, -1 }, + { "glEnableVertexArrayAttrib", 45, -1 }, + { "glVertexArrayElementBuffer", 45, -1 }, + { "glVertexArrayVertexBuffer", 45, -1 }, + { "glVertexArrayVertexBuffers", 45, -1 }, + { "glVertexArrayAttribFormat", 45, -1 }, + { "glVertexArrayAttribIFormat", 45, -1 }, + { "glVertexArrayAttribLFormat", 45, -1 }, + { "glVertexArrayAttribBinding", 45, -1 }, + { "glVertexArrayBindingDivisor", 45, -1 }, + { "glGetVertexArrayiv", 45, -1 }, + { "glGetVertexArrayIndexediv", 45, -1 }, + { "glGetVertexArrayIndexed64iv", 45, -1 }, + { "glCreateSamplers", 45, -1 }, + { "glCreateProgramPipelines", 45, -1 }, + { "glCreateQueries", 45, -1 }, + { "glGetQueryBufferObjectiv", 45, -1 }, + { "glGetQueryBufferObjectuiv", 45, -1 }, + { "glGetQueryBufferObjecti64v", 45, -1 }, + { "glGetQueryBufferObjectui64v", 45, -1 }, + + /* GL_EXT_direct_state_access - GL 1.0 */ + { "glMatrixLoadfEXT", 10, -1 }, + { "glMatrixLoaddEXT", 10, -1 }, + { "glMatrixMultfEXT", 10, -1 }, + { "glMatrixMultdEXT", 10, -1 }, + { "glMatrixLoadIdentityEXT", 10, -1 }, + { "glMatrixRotatefEXT", 10, -1 }, + { "glMatrixRotatedEXT", 10, -1 }, + { "glMatrixScalefEXT", 10, -1 }, + { "glMatrixScaledEXT", 10, -1 }, + { "glMatrixTranslatefEXT", 10, -1 }, + { "glMatrixTranslatedEXT", 10, -1 }, + { "glMatrixOrthoEXT", 10, -1 }, + { "glMatrixFrustumEXT", 10, -1 }, + { "glMatrixPushEXT", 10, -1 }, + { "glMatrixPopEXT", 10, -1 }, + /* GL_EXT_direct_state_access - GL 1.1 */ + { "glClientAttribDefaultEXT", 11, -1 }, + { "glPushClientAttribDefaultEXT", 11, -1 }, + { "glTextureParameteriEXT", 11, -1 }, + { "glTextureParameterivEXT", 11, -1 }, + { "glTextureParameterfEXT", 11, -1 }, + { "glTextureParameterfvEXT", 11, -1 }, + { "glTextureImage1DEXT", 11, -1 }, + { "glTextureImage2DEXT", 11, -1 }, + { "glTextureSubImage1DEXT", 11, -1 }, + { "glTextureSubImage2DEXT", 11, -1 }, + { "glCopyTextureImage1DEXT", 11, -1 }, + { "glCopyTextureImage2DEXT", 11, -1 }, + { "glCopyTextureSubImage1DEXT", 11, -1 }, + { "glCopyTextureSubImage2DEXT", 11, -1 }, + { "glGetTextureImageEXT", 11, -1 }, + { "glGetTextureParameterfvEXT", 11, -1 }, + { "glGetTextureParameterivEXT", 11, -1 }, + { "glGetTextureLevelParameterfvEXT", 11, -1 }, + { "glGetTextureLevelParameterivEXT", 11, -1 }, + /* GL_EXT_direct_state_access - GL 1.2 */ + { "glTextureImage3DEXT", 12, -1 }, + { "glTextureSubImage3DEXT", 12, -1 }, + { "glCopyTextureSubImage3DEXT", 12, -1 }, + /* GL_EXT_direct_state_access - GL 1.2.1 */ + { "glBindMultiTextureEXT", 12, -1 }, + { "glMultiTexCoordPointerEXT", 12, -1 }, + { "glMultiTexEnvfEXT", 12, -1 }, + { "glMultiTexEnvfvEXT", 12, -1 }, + { "glMultiTexEnviEXT", 12, -1 }, + { "glMultiTexEnvivEXT", 12, -1 }, + { "glMultiTexGendEXT", 12, -1 }, + { "glMultiTexGendvEXT", 12, -1 }, + { "glMultiTexGenfEXT", 12, -1 }, + { "glMultiTexGenfvEXT", 12, -1 }, + { "glMultiTexGeniEXT", 12, -1 }, + { "glMultiTexGenivEXT", 12, -1 }, + { "glGetMultiTexEnvfvEXT", 12, -1 }, + { "glGetMultiTexEnvivEXT", 12, -1 }, + { "glGetMultiTexGendvEXT", 12, -1 }, + { "glGetMultiTexGenfvEXT", 12, -1 }, + { "glGetMultiTexGenivEXT", 12, -1 }, + { "glMultiTexParameterfEXT", 12, -1 }, + { "glMultiTexParameterfvEXT", 12, -1 }, + { "glMultiTexParameteriEXT", 12, -1 }, + { "glMultiTexParameterivEXT", 12, -1 }, + { "glMultiTexImage1DEXT", 12, -1 }, + { "glMultiTexImage2DEXT", 12, -1 }, + { "glMultiTexSubImage1DEXT", 12, -1 }, + { "glMultiTexSubImage2DEXT", 12, -1 }, + { "glCopyMultiTexImage1DEXT", 12, -1 }, + { "glCopyMultiTexImage2DEXT", 12, -1 }, + { "glCopyMultiTexSubImage1DEXT", 12, -1 }, + { "glCopyMultiTexSubImage2DEXT", 12, -1 }, + { "glGetMultiTexImageEXT", 12, -1 }, + { "glGetMultiTexParameterfvEXT", 12, -1 }, + { "glGetMultiTexParameterivEXT", 12, -1 }, + { "glGetMultiTexLevelParameterfvEXT", 12, -1 }, + { "glGetMultiTexLevelParameterivEXT", 12, -1 }, + { "glMultiTexImage3DEXT", 12, -1 }, + { "glMultiTexSubImage3DEXT", 12, -1 }, + { "glCopyMultiTexSubImage3DEXT", 12, -1 }, + { "glEnableClientStateIndexedEXT", 12, -1 }, + { "glDisableClientStateIndexedEXT", 12, -1 }, + { "glGetPointerIndexedvEXT", 12, -1 }, + /* GL_EXT_direct_state_access - ARB_vertex_program */ + //{ "glNamedProgramStringEXT", 10, -1 }, + //{ "glNamedProgramLocalParameter4dEXT", 10, -1 }, + //{ "glNamedProgramLocalParameter4dvEXT", 10, -1 }, + //{ "glNamedProgramLocalParameter4fEXT", 10, -1 }, + //{ "glNamedProgramLocalParameter4fvEXT", 10, -1 }, + //{ "glGetNamedProgramLocalParameter4dvEXT", 10, -1 }, + //{ "glGetNamedProgramLocalParameter4fvEXT", 10, -1 }, + //{ "glGetNamedProgramivEXT", 10, -1 }, + //{ "glGetNamedProgramStringEXT", 10, -1 }, + /* GL_EXT_direct_state_access - GL 1.3 */ + { "glCompressedTextureImage1DEXT", 13, -1 }, + { "glCompressedTextureImage2DEXT", 13, -1 }, + { "glCompressedTextureImage3DEXT", 13, -1 }, + { "glCompressedTextureSubImage1DEXT", 13, -1 }, + { "glCompressedTextureSubImage2DEXT", 13, -1 }, + { "glCompressedTextureSubImage3DEXT", 13, -1 }, + { "glGetCompressedTextureImageEXT", 13, -1 }, + { "glCompressedMultiTexImage1DEXT", 13, -1 }, + { "glCompressedMultiTexImage2DEXT", 13, -1 }, + { "glCompressedMultiTexImage3DEXT", 13, -1 }, + { "glCompressedMultiTexSubImage1DEXT", 13, -1 }, + { "glCompressedMultiTexSubImage2DEXT", 13, -1 }, + { "glCompressedMultiTexSubImage3DEXT", 13, -1 }, + { "glGetCompressedMultiTexImageEXT", 13, -1 }, + { "glMatrixLoadTransposefEXT", 13, -1 }, + { "glMatrixLoadTransposedEXT", 13, -1 }, + { "glMatrixMultTransposefEXT", 13, -1 }, + { "glMatrixMultTransposedEXT", 13, -1 }, + /* GL_EXT_direct_state_access - GL 1.5 */ + { "glNamedBufferDataEXT", 15, -1 }, + { "glNamedBufferSubDataEXT", 15, -1 }, + { "glMapNamedBufferEXT", 15, -1 }, + { "glUnmapNamedBufferEXT", 15, -1 }, + { "glGetNamedBufferParameterivEXT", 15, -1 }, + { "glGetNamedBufferPointervEXT", 15, -1 }, + { "glGetNamedBufferSubDataEXT", 15, -1 }, + /* GL_EXT_direct_state_access - GL 2.0 */ + //{ "glProgramUniform1iEXT", 20, -1 }, + //{ "glProgramUniform1ivEXT", 20, -1 }, + //{ "glProgramUniform1fEXT", 20, -1 }, + //{ "glProgramUniform1fvEXT", 20, -1 }, + //{ "glProgramUniform2iEXT", 20, -1 }, + //{ "glProgramUniform2ivEXT", 20, -1 }, + //{ "glProgramUniform2fEXT", 20, -1 }, + //{ "glProgramUniform2fvEXT", 20, -1 }, + //{ "glProgramUniform3iEXT", 20, -1 }, + //{ "glProgramUniform3ivEXT", 20, -1 }, + //{ "glProgramUniform3fEXT", 20, -1 }, + //{ "glProgramUniform3fvEXT", 20, -1 }, + //{ "glProgramUniform4iEXT", 20, -1 }, + //{ "glProgramUniform4ivEXT", 20, -1 }, + //{ "glProgramUniform4fEXT", 20, -1 }, + //{ "glProgramUniform4fvEXT", 20, -1 }, + //{ "glProgramUniformMatrix2fvEXT", 20, -1 }, + //{ "glProgramUniformMatrix3fvEXT", 20, -1 }, + //{ "glProgramUniformMatrix4fvEXT", 20, -1 }, + /* GL_EXT_direct_state_access - GL 2.1 */ + //{ "glProgramUniformMatrix2x3fvEXT", 21, -1 }, + //{ "glProgramUniformMatrix3x2fvEXT", 21, -1 }, + //{ "glProgramUniformMatrix2x4fvEXT", 21, -1 }, + //{ "glProgramUniformMatrix4x2fvEXT", 21, -1 }, + //{ "glProgramUniformMatrix3x4fvEXT", 21, -1 }, + //{ "glProgramUniformMatrix4x3fvEXT", 21, -1 }, + /* GL_EXT_direct_state_access - EXT_texture_buffer_object */ + //{ "glTextureBufferEXT", 10, -1 }, + //{ "glMultiTexBufferEXT", 10, -1 }, + /* GL_EXT_direct_state_access - EXT_texture_integer */ + //{ "glTextureParameterIivEXT", 10, -1 }, + //{ "glTextureParameterIuivEXT", 10, -1 }, + //{ "glGetTextureParameterIivEXT", 10, -1 }, + //{ "glGetTextureParameterIuivEXT", 10, -1 }, + //{ "glMultiTexParameterIivEXT", 10, -1 }, + //{ "glMultiTexParameterIuivEXT", 10, -1 }, + //{ "glGetMultiTexParameterIivEXT", 10, -1 }, + //{ "glGetMultiTexParameterIuivEXT", 10, -1 }, + /* GL_EXT_direct_state_access - EXT_gpu_shader4 */ + //{ "glProgramUniform1uiEXT", 10, -1 }, + //{ "glProgramUniform1uivEXT", 10, -1 }, + //{ "glProgramUniform2uiEXT", 10, -1 }, + //{ "glProgramUniform2uivEXT", 10, -1 }, + //{ "glProgramUniform3uiEXT", 10, -1 }, + //{ "glProgramUniform3uivEXT", 10, -1 }, + //{ "glProgramUniform4uiEXT", 10, -1 }, + //{ "glProgramUniform4uivEXT", 10, -1 }, + /* GL_EXT_direct_state_access - EXT_gpu_program_parameters */ + //{ "glNamedProgramLocalParameters4fvEXT", 10, -1 }, + /* GL_EXT_direct_state_access - GL 3.0 */ + //{ "glGetFloati_vEXT", 30, -1 }, + //{ "glGetDoublei_vEXT", 30, -1 }, + { "glNamedRenderbufferStorageEXT", 30, -1 }, + { "glGetNamedRenderbufferParameterivEXT", 30, -1 }, + //{ "glNamedRenderbufferStorageMultisampleEXT", 30, -1 }, + { "glCheckNamedFramebufferStatusEXT", 30, -1 }, + { "glNamedFramebufferTexture1DEXT", 30, -1 }, + { "glNamedFramebufferTexture2DEXT", 30, -1 }, + { "glNamedFramebufferTexture3DEXT", 30, -1 }, + { "glNamedFramebufferRenderbufferEXT", 30, -1 }, + { "glGetNamedFramebufferAttachmentParameterivEXT", 30, -1 }, + //{ "glGenerateTextureMipmapEXT", 30, -1 }, + //{ "glGenerateMultiTexMipmapEXT", 30, -1 }, + { "glFramebufferDrawBufferEXT", 30, -1 }, + { "glFramebufferDrawBuffersEXT", 30, -1 }, + { "glFramebufferReadBufferEXT", 30, -1 }, + { "glGetFramebufferParameterivEXT", 30, -1 }, + //{ "glNamedCopyBufferSubDataEXT", 30, -1 }, + //{ "glVertexArrayVertexOffsetEXT", 30, -1 }, + //{ "glVertexArrayColorOffsetEXT", 30, -1 }, + //{ "glVertexArrayEdgeFlagOffsetEXT", 30, -1 }, + //{ "glVertexArrayIndexOffsetEXT", 30, -1 }, + //{ "glVertexArrayNormalOffsetEXT", 30, -1 }, + //{ "glVertexArrayTexCoordOffsetEXT", 30, -1 }, + //{ "glVertexArrayMultiTexCoordOffsetEXT", 30, -1 }, + //{ "glVertexArrayFogCoordOffsetEXT", 30, -1 }, + //{ "glVertexArraySecondColorOffsetEXT", 30, -1 }, + //{ "glVertexArrayVertexAttribOffsetEXT", 30, -1 }, + //{ "glVertexArrayVertexAttribIOffsetEXT", 30, -1 }, + //{ "glEnableVertexArrayEXT", 30, -1 }, + //{ "glDisableVertexArrayEXT", 30, -1 }, + //{ "glEnableVertexArrayAttribEXT", 30, -1 }, + //{ "glDisableVertexArrayAttribEXT", 30, -1 }, + //{ "glGetVertexArrayIntegervEXT", 30, -1 }, + //{ "glGetVertexArrayPointervEXT", 30, -1 }, + //{ "glGetVertexArrayIntegeri_vEXT", 30, -1 }, + //{ "glGetVertexArrayPointeri_vEXT", 30, -1 }, + { "glMapNamedBufferRangeEXT", 30, -1 }, + { "glFlushMappedNamedBufferRangeEXT", 30, -1 }, + /* GL_ARB_internalformat_query */ { "glGetInternalformativ", 30, -1 }, @@ -924,6 +1293,7 @@ const struct function common_desktop_functions_possible[] = { /* GL_ARB_buffer_storage */ { "glBufferStorage", 43, -1 }, + { "glNamedBufferStorageEXT", 43, -1 }, /* GL_ARB_clear_texture */ { "glClearTexImage", 13, -1 }, @@ -936,6 +1306,9 @@ const struct function common_desktop_functions_possible[] = { { "glDispatchCompute", 43, -1 }, { "glDispatchComputeIndirect", 43, -1 }, + /* GL_ARB_compute_variable_group_size */ + { "glDispatchComputeGroupSizeARB", 43, -1 }, + /* GL_EXT_polygon_offset_clamp */ { "glPolygonOffsetClampEXT", 11, -1 }, @@ -946,14 +1319,107 @@ const struct function common_desktop_functions_possible[] = { /* GL_GREMEDY_string_marker */ { "glStringMarkerGREMEDY", 15, -1 }, + /* GL_EXT_window_rectangles */ + { "glWindowRectanglesEXT", 30, -1 }, + + /* GL_KHR_blend_equation_advanced */ + { "glBlendBarrierKHR", 20, -1 }, + + /* GL_ARB_sparse_buffer */ + { "glBufferPageCommitmentARB", 43, -1 }, + { "glNamedBufferPageCommitmentARB", 43, -1 }, + + /* GL_ARB_bindless_texture */ + { "glGetTextureHandleARB", 40, -1 }, + { "glGetTextureSamplerHandleARB", 40, -1 }, + { "glMakeTextureHandleResidentARB", 40, -1 }, + { "glMakeTextureHandleNonResidentARB", 40, -1 }, + { "glIsTextureHandleResidentARB", 40, -1 }, + { "glGetImageHandleARB", 40, -1 }, + { "glMakeImageHandleResidentARB", 40, -1 }, + { "glMakeImageHandleNonResidentARB", 40, -1 }, + { "glIsImageHandleResidentARB", 40, -1 }, + { "glUniformHandleui64ARB", 40, -1 }, + { "glUniformHandleui64vARB", 40, -1 }, + { "glProgramUniformHandleui64ARB", 40, -1 }, + { "glProgramUniformHandleui64vARB", 40, -1 }, + { "glVertexAttribL1ui64ARB", 40, -1 }, + { "glVertexAttribL1ui64vARB", 40, -1 }, + { "glGetVertexAttribLui64vARB", 40, -1 }, + + /* GL_EXT_external_objects */ + { "glGetUnsignedBytevEXT", 45, -1 }, + { "glGetUnsignedBytei_vEXT", 45, -1 }, + { "glDeleteMemoryObjectsEXT", 45, -1 }, + { "glIsMemoryObjectEXT", 45, -1 }, + { "glCreateMemoryObjectsEXT", 45, -1 }, + { "glMemoryObjectParameterivEXT", 45, -1 }, + { "glGetMemoryObjectParameterivEXT", 45, -1 }, + { "glTexStorageMem2DEXT", 45, -1 }, + { "glTexStorageMem2DMultisampleEXT", 45, -1 }, + { "glTexStorageMem3DEXT", 45, -1 }, + { "glTexStorageMem3DMultisampleEXT", 45, -1 }, + { "glBufferStorageMemEXT", 45, -1 }, + { "glTextureStorageMem2DEXT", 45, -1 }, + { "glTextureStorageMem2DMultisampleEXT", 45, -1 }, + { "glTextureStorageMem3DEXT", 45, -1 }, + { "glTextureStorageMem3DMultisampleEXT", 45, -1 }, + { "glNamedBufferStorageMemEXT", 45, -1 }, + { "glTexStorageMem1DEXT", 45, -1 }, + { "glTextureStorageMem1DEXT", 45, -1 }, + { "glGenSemaphoresEXT", 45, -1 }, + { "glDeleteSemaphoresEXT", 45, -1 }, + { "glIsSemaphoreEXT", 45, -1 }, + { "glSemaphoreParameterui64vEXT", 45, -1 }, + { "glGetSemaphoreParameterui64vEXT", 45, -1 }, + { "glWaitSemaphoreEXT", 45, -1 }, + { "glSignalSemaphoreEXT", 45, -1 }, + + /* GL_EXT_external_objects_fd */ + { "glImportMemoryFdEXT", 45, -1 }, + { "glImportSemaphoreFdEXT", 45, -1 }, + + /* GL_ARB_gl_spirv */ + { "glSpecializeShaderARB", 45, -1 }, + + /* GL_EXT_shader_framebuffer_fetch_non_coherent */ + { "glFramebufferFetchBarrierEXT", 20, -1 }, + + /* GL_NV_conservative_raster */ + { "glSubpixelPrecisionBiasNV", 10, -1 }, + + /* GL_NV_conservative_raster_dilate */ + { "glConservativeRasterParameterfNV", 10, -1 }, + + /* GL_NV_conservative_raster_pre_snap_triangles */ + { "glConservativeRasterParameteriNV", 10, -1 }, + + /* GL_ARB_sample_locations */ + { "glFramebufferSampleLocationsfvARB", 30, -1 }, + { "glNamedFramebufferSampleLocationsfvARB", 30, -1 }, + { "glEvaluateDepthValuesARB", 30, -1 }, + + /* GL_ARB_indirect_parameters */ + { "glMultiDrawArraysIndirectCountARB", 11, -1 }, + { "glMultiDrawElementsIndirectCountARB", 11, -1 }, + + /* GL_AMD_framebuffer_multisample_advanced */ + { "glRenderbufferStorageMultisampleAdvancedAMD", 11, -1 }, + { "glNamedRenderbufferStorageMultisampleAdvancedAMD", 11, -1 }, + + { "glMaxShaderCompilerThreadsKHR", 11, -1 }, + + /* GL_EXT_shader_image_load_store */ + { "glBindImageTextureEXT", 30, -1 }, + + /* GL_MESA_framebuffer_flip_y */ + { "glFramebufferParameteriMESA", 43, -1 }, + { "glGetFramebufferParameterivMESA", 43, -1 }, + { NULL, 0, -1 } }; const struct function gl_compatibility_functions_possible[] = { - { "glBindVertexArrayAPPLE", 10, -1 }, - { "glGenVertexArraysAPPLE", 10, -1 }, - { "glBindRenderbufferEXT", 10, -1 }, - { "glBindFramebufferEXT", 10, -1 }, { "glNewList", 10, _gloffset_NewList }, { "glEndList", 10, _gloffset_EndList }, { "glCallList", 10, _gloffset_CallList }, @@ -1350,7 +1816,6 @@ const struct function gl_compatibility_functions_possible[] = { { "glGetProgramLocalParameterfvARB", 10, -1 }, { "glGetProgramivARB", 10, -1 }, { "glGetProgramStringARB", 10, -1 }, - { "glPolygonOffsetEXT", 10, -1 }, { "glColorPointerEXT", 10, -1 }, { "glEdgeFlagPointerEXT", 10, -1 }, { "glIndexPointerEXT", 10, -1 }, @@ -1434,428 +1899,52 @@ const struct function gl_compatibility_functions_possible[] = { }; const struct function gl_core_functions_possible[] = { - /* GL 3.1 */ - { "glTexBuffer", 31, -1 }, - - /* GL 3.2 */ - { "glFramebufferTexture", 32, -1 }, + /* GL_ARB_ES3_2_compatibility */ + { "glPrimitiveBoundingBoxARB", 45, -1 }, + + /* GL_ARB_gpu_shader_int64 */ + { "glUniform1i64ARB", 45, -1 }, + { "glUniform2i64ARB", 45, -1 }, + { "glUniform3i64ARB", 45, -1 }, + { "glUniform4i64ARB", 45, -1 }, + { "glUniform1ui64ARB", 45, -1 }, + { "glUniform2ui64ARB", 45, -1 }, + { "glUniform3ui64ARB", 45, -1 }, + { "glUniform4ui64ARB", 45, -1 }, + { "glUniform1i64vARB", 45, -1 }, + { "glUniform2i64vARB", 45, -1 }, + { "glUniform3i64vARB", 45, -1 }, + { "glUniform4i64vARB", 45, -1 }, + { "glUniform1ui64vARB", 45, -1 }, + { "glUniform2ui64vARB", 45, -1 }, + { "glUniform3ui64vARB", 45, -1 }, + { "glUniform4ui64vARB", 45, -1 }, + { "glGetUniformi64vARB", 45, -1 }, + { "glGetUniformui64vARB", 45, -1 }, + { "glGetnUniformi64vARB", 45, -1 }, + { "glGetnUniformui64vARB", 45, -1 }, + { "glProgramUniform1i64ARB", 45, -1 }, + { "glProgramUniform2i64ARB", 45, -1 }, + { "glProgramUniform3i64ARB", 45, -1 }, + { "glProgramUniform4i64ARB", 45, -1 }, + { "glProgramUniform1ui64ARB", 45, -1 }, + { "glProgramUniform2ui64ARB", 45, -1 }, + { "glProgramUniform3ui64ARB", 45, -1 }, + { "glProgramUniform4ui64ARB", 45, -1 }, + { "glProgramUniform1i64vARB", 45, -1 }, + { "glProgramUniform2i64vARB", 45, -1 }, + { "glProgramUniform3i64vARB", 45, -1 }, + { "glProgramUniform4i64vARB", 45, -1 }, + { "glProgramUniform1ui64vARB", 45, -1 }, + { "glProgramUniform2ui64vARB", 45, -1 }, + { "glProgramUniform3ui64vARB", 45, -1 }, + { "glProgramUniform4ui64vARB", 45, -1 }, + + /* GL_ARB_gl_spirv */ + { "glSpecializeShaderARB", 45, -1 }, - /* GL 4.0 */ - { "glGetSubroutineUniformLocation", 40, -1 }, - { "glGetSubroutineIndex", 40, -1 }, - { "glGetActiveSubroutineUniformiv", 40, -1 }, - { "glGetActiveSubroutineUniformName", 40, -1 }, - { "glGetActiveSubroutineName", 40, -1 }, - { "glUniformSubroutinesuiv", 40, -1 }, - { "glGetUniformSubroutineuiv", 40, -1 }, - { "glGetProgramStageiv", 40, -1 }, - - /* GL 4.3 */ - { "glIsRenderbuffer", 43, -1 }, - { "glBindRenderbuffer", 43, -1 }, - { "glDeleteRenderbuffers", 43, -1 }, - { "glGenRenderbuffers", 43, -1 }, - { "glRenderbufferStorage", 43, -1 }, - { "glGetRenderbufferParameteriv", 43, -1 }, - { "glIsFramebuffer", 43, -1 }, - { "glBindFramebuffer", 43, -1 }, - { "glDeleteFramebuffers", 43, -1 }, - { "glGenFramebuffers", 43, -1 }, - { "glCheckFramebufferStatus", 43, -1 }, - { "glFramebufferTexture1D", 43, -1 }, - { "glFramebufferTexture2D", 43, -1 }, - { "glFramebufferTexture3D", 43, -1 }, - { "glFramebufferRenderbuffer", 43, -1 }, - { "glGetFramebufferAttachmentParameteriv", 43, -1 }, - { "glGenerateMipmap", 43, -1 }, - { "glBlitFramebuffer", 43, -1 }, - { "glRenderbufferStorageMultisample", 43, -1 }, - { "glFramebufferTextureLayer", 43, -1 }, - { "glMapBufferRange", 43, -1 }, - { "glFlushMappedBufferRange", 43, -1 }, - { "glBindVertexArray", 43, -1 }, - { "glDeleteVertexArrays", 43, -1 }, - { "glGenVertexArrays", 43, -1 }, - { "glIsVertexArray", 43, -1 }, - { "glGetUniformIndices", 43, -1 }, - { "glGetActiveUniformsiv", 43, -1 }, - { "glGetActiveUniformName", 43, -1 }, - { "glGetUniformBlockIndex", 43, -1 }, - { "glGetActiveUniformBlockiv", 43, -1 }, - { "glGetActiveUniformBlockName", 43, -1 }, - { "glUniformBlockBinding", 43, -1 }, - { "glCopyBufferSubData", 43, -1 }, - { "glDrawElementsBaseVertex", 43, -1 }, - { "glDrawRangeElementsBaseVertex", 43, -1 }, - { "glDrawElementsInstancedBaseVertex", 43, -1 }, - { "glMultiDrawElementsBaseVertex", 43, -1 }, - { "glProvokingVertex", 43, -1 }, - { "glFenceSync", 43, -1 }, - { "glIsSync", 43, -1 }, - { "glDeleteSync", 43, -1 }, - { "glClientWaitSync", 43, -1 }, - { "glWaitSync", 43, -1 }, - { "glGetInteger64v", 43, -1 }, - { "glGetSynciv", 43, -1 }, - { "glTexImage2DMultisample", 43, -1 }, - { "glTexImage3DMultisample", 43, -1 }, - { "glGetMultisamplefv", 43, -1 }, - { "glSampleMaski", 43, -1 }, - { "glBlendEquationiARB", 43, -1 }, - { "glBlendEquationSeparateiARB", 43, -1 }, - { "glBlendFunciARB", 43, -1 }, - { "glBlendFuncSeparateiARB", 43, -1 }, - { "glMinSampleShadingARB", 43, -1 }, // XXX: Add to xml -// { "glNamedStringARB", 43, -1 }, // XXX: Add to xml -// { "glDeleteNamedStringARB", 43, -1 }, // XXX: Add to xml -// { "glCompileShaderIncludeARB", 43, -1 }, // XXX: Add to xml -// { "glIsNamedStringARB", 43, -1 }, // XXX: Add to xml -// { "glGetNamedStringARB", 43, -1 }, // XXX: Add to xml -// { "glGetNamedStringivARB", 43, -1 }, // XXX: Add to xml - { "glBindFragDataLocationIndexed", 43, -1 }, - { "glGetFragDataIndex", 43, -1 }, - { "glGenSamplers", 43, -1 }, - { "glDeleteSamplers", 43, -1 }, - { "glIsSampler", 43, -1 }, - { "glBindSampler", 43, -1 }, - { "glSamplerParameteri", 43, -1 }, - { "glSamplerParameteriv", 43, -1 }, - { "glSamplerParameterf", 43, -1 }, - { "glSamplerParameterfv", 43, -1 }, - { "glSamplerParameterIiv", 43, -1 }, - { "glSamplerParameterIuiv", 43, -1 }, - { "glGetSamplerParameteriv", 43, -1 }, - { "glGetSamplerParameterIiv", 43, -1 }, - { "glGetSamplerParameterfv", 43, -1 }, - { "glGetSamplerParameterIuiv", 43, -1 }, - { "glQueryCounter", 43, -1 }, - { "glGetQueryObjecti64v", 43, -1 }, - { "glGetQueryObjectui64v", 43, -1 }, - { "glVertexP2ui", 43, -1 }, - { "glVertexP2uiv", 43, -1 }, - { "glVertexP3ui", 43, -1 }, - { "glVertexP3uiv", 43, -1 }, - { "glVertexP4ui", 43, -1 }, - { "glVertexP4uiv", 43, -1 }, - { "glTexCoordP1ui", 43, -1 }, - { "glTexCoordP1uiv", 43, -1 }, - { "glTexCoordP2ui", 43, -1 }, - { "glTexCoordP2uiv", 43, -1 }, - { "glTexCoordP3ui", 43, -1 }, - { "glTexCoordP3uiv", 43, -1 }, - { "glTexCoordP4ui", 43, -1 }, - { "glTexCoordP4uiv", 43, -1 }, - { "glMultiTexCoordP1ui", 43, -1 }, - { "glMultiTexCoordP1uiv", 43, -1 }, - { "glMultiTexCoordP2ui", 43, -1 }, - { "glMultiTexCoordP2uiv", 43, -1 }, - { "glMultiTexCoordP3ui", 43, -1 }, - { "glMultiTexCoordP3uiv", 43, -1 }, - { "glMultiTexCoordP4ui", 43, -1 }, - { "glMultiTexCoordP4uiv", 43, -1 }, - { "glNormalP3ui", 43, -1 }, - { "glNormalP3uiv", 43, -1 }, - { "glColorP3ui", 43, -1 }, - { "glColorP3uiv", 43, -1 }, - { "glColorP4ui", 43, -1 }, - { "glColorP4uiv", 43, -1 }, - { "glVertexAttribP1ui", 43, -1 }, - { "glVertexAttribP1uiv", 43, -1 }, - { "glVertexAttribP2ui", 43, -1 }, - { "glVertexAttribP2uiv", 43, -1 }, - { "glVertexAttribP3ui", 43, -1 }, - { "glVertexAttribP3uiv", 43, -1 }, - { "glVertexAttribP4ui", 43, -1 }, - { "glVertexAttribP4uiv", 43, -1 }, - { "glDrawArraysIndirect", 43, -1 }, - { "glDrawElementsIndirect", 43, -1 }, - - { "glUniform1d", 40, -1 }, - { "glUniform2d", 40, -1 }, - { "glUniform3d", 40, -1 }, - { "glUniform4d", 40, -1 }, - { "glUniform1dv", 40, -1 }, - { "glUniform2dv", 40, -1 }, - { "glUniform3dv", 40, -1 }, - { "glUniform4dv", 40, -1 }, - { "glUniformMatrix2dv", 40, -1 }, - { "glUniformMatrix3dv", 40, -1 }, - { "glUniformMatrix4dv", 40, -1 }, - { "glUniformMatrix2x3dv", 40, -1 }, - { "glUniformMatrix2x4dv", 40, -1 }, - { "glUniformMatrix3x2dv", 40, -1 }, - { "glUniformMatrix3x4dv", 40, -1 }, - { "glUniformMatrix4x2dv", 40, -1 }, - { "glUniformMatrix4x3dv", 40, -1 }, - { "glGetUniformdv", 43, -1 }, - - { "glBindTransformFeedback", 43, -1 }, - { "glDeleteTransformFeedbacks", 43, -1 }, - { "glGenTransformFeedbacks", 43, -1 }, - { "glIsTransformFeedback", 43, -1 }, - { "glPauseTransformFeedback", 43, -1 }, - { "glResumeTransformFeedback", 43, -1 }, - { "glDrawTransformFeedback", 43, -1 }, - { "glDrawTransformFeedbackStream", 43, -1 }, - { "glBeginQueryIndexed", 43, -1 }, - { "glEndQueryIndexed", 43, -1 }, - { "glGetQueryIndexediv", 43, -1 }, - { "glReleaseShaderCompiler", 43, -1 }, - { "glShaderBinary", 43, -1 }, - { "glGetShaderPrecisionFormat", 43, -1 }, - { "glDepthRangef", 43, -1 }, - { "glClearDepthf", 43, -1 }, - { "glGetProgramBinary", 43, -1 }, - { "glProgramBinary", 43, -1 }, - { "glProgramParameteri", 43, -1 }, - { "glUseProgramStages", 43, -1 }, - { "glActiveShaderProgram", 43, -1 }, - { "glCreateShaderProgramv", 43, -1 }, - { "glBindProgramPipeline", 43, -1 }, - { "glDeleteProgramPipelines", 43, -1 }, - { "glGenProgramPipelines", 43, -1 }, - { "glIsProgramPipeline", 43, -1 }, - { "glGetProgramPipelineiv", 43, -1 }, - { "glProgramUniform1i", 43, -1 }, - { "glProgramUniform1iv", 43, -1 }, - { "glProgramUniform1f", 43, -1 }, - { "glProgramUniform1fv", 43, -1 }, - { "glProgramUniform1d", 40, -1 }, - { "glProgramUniform1dv", 40, -1 }, - { "glProgramUniform1ui", 43, -1 }, - { "glProgramUniform1uiv", 43, -1 }, - { "glProgramUniform2i", 43, -1 }, - { "glProgramUniform2iv", 43, -1 }, - { "glProgramUniform2f", 43, -1 }, - { "glProgramUniform2fv", 43, -1 }, - { "glProgramUniform2d", 40, -1 }, - { "glProgramUniform2dv", 40, -1 }, - { "glProgramUniform2ui", 43, -1 }, - { "glProgramUniform2uiv", 43, -1 }, - { "glProgramUniform3i", 43, -1 }, - { "glProgramUniform3iv", 43, -1 }, - { "glProgramUniform3f", 43, -1 }, - { "glProgramUniform3fv", 43, -1 }, - { "glProgramUniform3d", 40, -1 }, - { "glProgramUniform3dv", 40, -1 }, - { "glProgramUniform3ui", 43, -1 }, - { "glProgramUniform3uiv", 43, -1 }, - { "glProgramUniform4i", 43, -1 }, - { "glProgramUniform4iv", 43, -1 }, - { "glProgramUniform4f", 43, -1 }, - { "glProgramUniform4fv", 43, -1 }, - { "glProgramUniform4d", 40, -1 }, - { "glProgramUniform4dv", 40, -1 }, - { "glProgramUniform4ui", 43, -1 }, - { "glProgramUniform4uiv", 43, -1 }, - { "glProgramUniformMatrix2fv", 43, -1 }, - { "glProgramUniformMatrix3fv", 43, -1 }, - { "glProgramUniformMatrix4fv", 43, -1 }, - { "glProgramUniformMatrix2dv", 40, -1 }, - { "glProgramUniformMatrix3dv", 40, -1 }, - { "glProgramUniformMatrix4dv", 40, -1 }, - { "glProgramUniformMatrix2x3fv", 43, -1 }, - { "glProgramUniformMatrix3x2fv", 43, -1 }, - { "glProgramUniformMatrix2x4fv", 43, -1 }, - { "glProgramUniformMatrix4x2fv", 43, -1 }, - { "glProgramUniformMatrix3x4fv", 43, -1 }, - { "glProgramUniformMatrix4x3fv", 43, -1 }, - { "glProgramUniformMatrix2x3dv", 40, -1 }, - { "glProgramUniformMatrix3x2dv", 40, -1 }, - { "glProgramUniformMatrix2x4dv", 40, -1 }, - { "glProgramUniformMatrix4x2dv", 40, -1 }, - { "glProgramUniformMatrix3x4dv", 40, -1 }, - { "glProgramUniformMatrix4x3dv", 40, -1 }, - { "glValidateProgramPipeline", 43, -1 }, - { "glGetProgramPipelineInfoLog", 43, -1 }, - - { "glVertexAttribL1d", 41, -1 }, - { "glVertexAttribL2d", 41, -1 }, - { "glVertexAttribL3d", 41, -1 }, - { "glVertexAttribL4d", 41, -1 }, - { "glVertexAttribL1dv", 41, -1 }, - { "glVertexAttribL2dv", 41, -1 }, - { "glVertexAttribL3dv", 41, -1 }, - { "glVertexAttribL4dv", 41, -1 }, - { "glVertexAttribLPointer", 41, -1 }, - { "glGetVertexAttribLdv", 41, -1 }, - { "glViewportArrayv", 43, -1 }, - { "glViewportIndexedf", 43, -1 }, - { "glViewportIndexedfv", 43, -1 }, - { "glScissorArrayv", 43, -1 }, - { "glScissorIndexed", 43, -1 }, - { "glScissorIndexedv", 43, -1 }, - { "glDepthRangeArrayv", 43, -1 }, - { "glDepthRangeIndexed", 43, -1 }, - -// { "glCreateSyncFromCLeventARB", 43, -1 }, // XXX: Add to xml - - { "glDrawArraysInstancedBaseInstance", 43, -1 }, - { "glDrawElementsInstancedBaseInstance", 43, -1 }, - { "glDrawElementsInstancedBaseVertexBaseInstance", 43, -1 }, - { "glDrawTransformFeedbackInstanced", 43, -1 }, - { "glDrawTransformFeedbackStreamInstanced", 43, -1 }, - { "glGetActiveAtomicCounterBufferiv", 43, -1 }, - { "glBindImageTexture", 43, -1 }, - { "glMemoryBarrier", 43, -1 }, - { "glTexStorage1D", 43, -1 }, - { "glTexStorage2D", 43, -1 }, - { "glTexStorage3D", 43, -1 }, - { "glTextureStorage1DEXT", 43, -1 }, - { "glTextureStorage2DEXT", 43, -1 }, - { "glTextureStorage3DEXT", 43, -1 }, - { "glClearBufferData", 43, -1 }, - { "glClearBufferSubData", 43, -1 }, -// { "glClearNamedBufferDataEXT", 43, -1 }, // XXX: Add to xml -// { "glClearNamedBufferSubDataEXT", 43, -1 }, // XXX: Add to xml - { "glCopyImageSubData", 43, -1 }, - { "glTextureView", 43, -1 }, - { "glBindVertexBuffer", 43, -1 }, - { "glVertexAttribFormat", 43, -1 }, - { "glVertexAttribIFormat", 43, -1 }, - { "glVertexAttribBinding", 43, -1 }, - { "glVertexBindingDivisor", 43, -1 }, -// { "glVertexArrayBindVertexBufferEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexAttribFormatEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexAttribIFormatEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexAttribLFormatEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexAttribBindingEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexBindingDivisorEXT", 43, -1 }, // XXX: Add to xml -// { "glFramebufferParameteri", 43, -1 }, // XXX: Add to xml -// { "glGetFramebufferParameteriv", 43, -1 }, // XXX: Add to xml -// { "glNamedFramebufferParameteriEXT", 43, -1 }, // XXX: Add to xml -// { "glGetNamedFramebufferParameterivEXT", 43, -1 }, // XXX: Add to xml -// { "glGetInternalformati64v", 43, -1 }, // XXX: Add to xml - { "glInvalidateTexSubImage", 43, -1 }, - { "glInvalidateTexImage", 43, -1 }, - { "glInvalidateBufferSubData", 43, -1 }, - { "glInvalidateBufferData", 43, -1 }, - { "glInvalidateFramebuffer", 43, -1 }, - { "glInvalidateSubFramebuffer", 43, -1 }, - { "glMultiDrawArraysIndirect", 43, -1 }, - { "glMultiDrawElementsIndirect", 43, -1 }, - { "glGetProgramInterfaceiv", 43, -1 }, - { "glGetProgramResourceIndex", 43, -1 }, - { "glGetProgramResourceName", 43, -1 }, - { "glGetProgramResourceiv", 43, -1 }, - { "glGetProgramResourceLocation", 43, -1 }, - { "glGetProgramResourceLocationIndex", 43, -1 }, -// { "glShaderStorageBlockBinding", 43, -1 }, // XXX: Add to xml - { "glTexBufferRange", 43, -1 }, -// { "glTextureBufferRangeEXT", 43, -1 }, // XXX: Add to xml - { "glTexStorage2DMultisample", 43, -1 }, - { "glTexStorage3DMultisample", 43, -1 }, -// { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml -// { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml - -/* GL 4.5 */ - { "glMemoryBarrierByRegion", 45, -1 }, - - /* GL_ARB_direct_state_access */ - { "glCreateTransformFeedbacks", 45, -1 }, - { "glTransformFeedbackBufferBase", 45, -1 }, - { "glTransformFeedbackBufferRange", 45, -1 }, - { "glGetTransformFeedbackiv", 45, -1 }, - { "glGetTransformFeedbacki_v", 45, -1 }, - { "glGetTransformFeedbacki64_v", 45, -1 }, - { "glCreateBuffers", 45, -1 }, - { "glNamedBufferStorage", 45, -1 }, - { "glNamedBufferData", 45, -1 }, - { "glNamedBufferSubData", 45, -1 }, - { "glCopyNamedBufferSubData", 45, -1 }, - { "glClearNamedBufferData", 45, -1 }, - { "glClearNamedBufferSubData", 45, -1 }, - { "glMapNamedBuffer", 45, -1 }, - { "glMapNamedBufferRange", 45, -1 }, - { "glUnmapNamedBuffer", 45, -1 }, - { "glFlushMappedNamedBufferRange", 45, -1 }, - { "glGetNamedBufferParameteriv", 45, -1 }, - { "glGetNamedBufferParameteri64v", 45, -1 }, - { "glGetNamedBufferPointerv", 45, -1 }, - { "glGetNamedBufferSubData", 45, -1 }, - { "glCreateFramebuffers", 45, -1 }, - { "glNamedFramebufferRenderbuffer", 45, -1 }, - { "glNamedFramebufferParameteri", 45, -1 }, - { "glNamedFramebufferTexture", 45, -1 }, - { "glNamedFramebufferTextureLayer", 45, -1 }, - { "glNamedFramebufferDrawBuffer", 45, -1 }, - { "glNamedFramebufferDrawBuffers", 45, -1 }, - { "glNamedFramebufferReadBuffer", 45, -1 }, - { "glInvalidateNamedFramebufferSubData", 45, -1 }, - { "glInvalidateNamedFramebufferData", 45, -1 }, - { "glClearNamedFramebufferiv", 45, -1 }, - { "glClearNamedFramebufferuiv", 45, -1 }, - { "glClearNamedFramebufferfv", 45, -1 }, - { "glClearNamedFramebufferfi", 45, -1 }, - { "glBlitNamedFramebuffer", 45, -1 }, - { "glCheckNamedFramebufferStatus", 45, -1 }, - { "glGetNamedFramebufferParameteriv", 45, -1 }, - { "glGetNamedFramebufferAttachmentParameteriv", 45, -1 }, - { "glCreateRenderbuffers", 45, -1 }, - { "glNamedRenderbufferStorage", 45, -1 }, - { "glNamedRenderbufferStorageMultisample", 45, -1 }, - { "glGetNamedRenderbufferParameteriv", 45, -1 }, - { "glCreateTextures", 45, -1 }, - { "glTextureStorage1D", 45, -1 }, - { "glTextureStorage2D", 45, -1 }, - { "glTextureStorage3D", 45, -1 }, - { "glTextureSubImage1D", 45, -1 }, - { "glTextureSubImage2D", 45, -1 }, - { "glTextureSubImage3D", 45, -1 }, - { "glBindTextureUnit", 45, -1 }, - { "glTextureParameterf", 45, -1 }, - { "glTextureParameterfv", 45, -1 }, - { "glTextureParameteri", 45, -1 }, - { "glTextureParameterIiv", 45, -1 }, - { "glTextureParameterIuiv", 45, -1 }, - { "glTextureParameteriv", 45, -1 }, - { "glGetTextureLevelParameterfv", 45, -1 }, - { "glGetTextureLevelParameteriv", 45, -1 }, - { "glGetTextureParameterfv", 45, -1 }, - { "glGetTextureParameterIiv", 45, -1 }, - { "glGetTextureParameterIuiv", 45, -1 }, - { "glGetTextureParameteriv", 45, -1 }, - { "glCopyTextureSubImage1D", 45, -1 }, - { "glCopyTextureSubImage2D", 45, -1 }, - { "glCopyTextureSubImage3D", 45, -1 }, - { "glGetTextureImage", 45, -1 }, - { "glGetCompressedTextureImage", 45, -1 }, - { "glCompressedTextureSubImage1D", 45, -1 }, - { "glCompressedTextureSubImage2D", 45, -1 }, - { "glCompressedTextureSubImage3D", 45, -1 }, - { "glGenerateTextureMipmap", 45, -1 }, - { "glTextureStorage2DMultisample", 45, -1 }, - { "glTextureStorage3DMultisample", 45, -1 }, - { "glTextureBuffer", 45, -1 }, - { "glTextureBufferRange", 45, -1 }, - { "glCreateVertexArrays", 45, -1 }, - { "glDisableVertexArrayAttrib", 45, -1 }, - { "glEnableVertexArrayAttrib", 45, -1 }, - { "glVertexArrayElementBuffer", 45, -1 }, - { "glVertexArrayVertexBuffer", 45, -1 }, - { "glVertexArrayVertexBuffers", 45, -1 }, - { "glVertexArrayAttribFormat", 45, -1 }, - { "glVertexArrayAttribIFormat", 45, -1 }, - { "glVertexArrayAttribLFormat", 45, -1 }, - { "glVertexArrayAttribBinding", 45, -1 }, - { "glVertexArrayBindingDivisor", 45, -1 }, - { "glGetVertexArrayiv", 45, -1 }, - { "glGetVertexArrayIndexediv", 45, -1 }, - { "glGetVertexArrayIndexed64iv", 45, -1 }, - { "glCreateSamplers", 45, -1 }, - { "glCreateProgramPipelines", 45, -1 }, - { "glCreateQueries", 45, -1 }, - { "glGetQueryBufferObjectiv", 45, -1 }, - { "glGetQueryBufferObjectuiv", 45, -1 }, - { "glGetQueryBufferObjecti64v", 45, -1 }, - { "glGetQueryBufferObjectui64v", 45, -1 }, - - /* GL_ARB_indirect_parameters */ - { "glMultiDrawArraysIndirectCountARB", 31, -1 }, - { "glMultiDrawElementsIndirectCountARB", 31, -1 }, - - { NULL, 0, -1 } -}; + { NULL, 0, -1 } +}; const struct function gles11_functions_possible[] = { { "glActiveTexture", 11, _gloffset_ActiveTexture }, @@ -2064,6 +2153,18 @@ const struct function gles11_functions_possible[] = { { "glObjectLabelKHR", 11, -1 }, { "glObjectPtrLabelKHR", 11, -1 }, + /* GL_EXT_polygon_offset_clamp */ + { "glPolygonOffsetClampEXT", 11, -1 }, + + /* GL_NV_conservative_raster */ + { "glSubpixelPrecisionBiasNV", 20, -1 }, + + /* GL_NV_conservative_raster_dilate */ + { "glConservativeRasterParameterfNV", 20, -1 }, + + /* GL_NV_conservative_raster_pre_snap_triangles */ + { "glConservativeRasterParameteriNV", 20, -1 }, + { NULL, 0, -1 } }; @@ -2275,6 +2376,19 @@ const struct function gles2_functions_possible[] = { { "glValidateProgramPipelineEXT", 20, -1 }, { "glGetProgramPipelineInfoLogEXT", 20, -1 }, + /* GL_AMD_performance_monitor */ + { "glGetPerfMonitorGroupsAMD", 20, -1 }, + { "glGetPerfMonitorCountersAMD", 20, -1 }, + { "glGetPerfMonitorGroupStringAMD", 20, -1 }, + { "glGetPerfMonitorCounterStringAMD", 20, -1 }, + { "glGetPerfMonitorCounterInfoAMD", 20, -1 }, + { "glGenPerfMonitorsAMD", 20, -1 }, + { "glDeletePerfMonitorsAMD", 20, -1 }, + { "glSelectPerfMonitorCountersAMD", 20, -1 }, + { "glBeginPerfMonitorAMD", 20, -1 }, + { "glEndPerfMonitorAMD", 20, -1 }, + { "glGetPerfMonitorCounterDataAMD", 20, -1 }, + /* GL_INTEL_performance_query */ { "glGetFirstPerfQueryIdINTEL", 20, -1 }, { "glGetNextPerfQueryIdINTEL", 20, -1 }, @@ -2300,11 +2414,66 @@ const struct function gles2_functions_possible[] = { { "glObjectLabelKHR", 20, -1 }, { "glObjectPtrLabelKHR", 20, -1 }, + /* GL_EXT_polygon_offset_clamp */ + { "glPolygonOffsetClampEXT", 11, -1 }, + + /* GL_KHR_robustness */ + { "glGetGraphicsResetStatusKHR", 20, -1 }, + { "glReadnPixelsKHR", 20, -1 }, + { "glGetnUniformfvKHR", 20, -1 }, + { "glGetnUniformivKHR", 20, -1 }, + { "glGetnUniformuivKHR", 20, -1 }, + + /* GL_KHR_blend_equation_advanced */ + { "glBlendBarrierKHR", 20, -1 }, + + /* GL_EXT_occlusion_query_boolean */ + { "glGenQueriesEXT", 20, -1 }, + { "glDeleteQueriesEXT", 20, -1 }, + { "glIsQueryEXT", 20, -1 }, + { "glBeginQueryEXT", 20, -1 }, + { "glEndQueryEXT", 20, -1 }, + { "glGetQueryivEXT", 20, -1 }, + { "glGetQueryObjectivEXT", 20, -1 }, + { "glGetQueryObjectuivEXT", 20, -1 }, + + /* GL_EXT_clip_control */ + { "glClipControlEXT", 20, -1 }, + + /* GL_EXT_disjoint_timer_query */ + { "glGetQueryObjecti64vEXT", 20, -1 }, + { "glGetQueryObjectui64vEXT", 20, -1 }, + { "glQueryCounterEXT", 20, -1 }, + + /* GL_EXT_shader_framebuffer_fetch_non_coherent */ + { "glFramebufferFetchBarrierEXT", 20, -1 }, + + /* GL_NV_conditional_render */ + { "glBeginConditionalRenderNV", 20, -1 }, + { "glEndConditionalRenderNV", 20, -1 }, + + /* GL_NV_conservative_raster */ + { "glSubpixelPrecisionBiasNV", 20, -1 }, + + /* GL_NV_conservative_raster_dilate */ + { "glConservativeRasterParameterfNV", 20, -1 }, + + /* GL_NV_conservative_raster_pre_snap_triangles */ + { "glConservativeRasterParameteriNV", 20, -1 }, + + /* GL_EXT_multisampled_render_to_texture */ + { "glRenderbufferStorageMultisampleEXT", 20, -1 }, + { "glFramebufferTexture2DMultisampleEXT", 20, -1 }, + + /* GL_KHR_parallel_shader_compile */ + { "glMaxShaderCompilerThreadsKHR", 20, -1 }, + { NULL, 0, -1 } }; const struct function gles3_functions_possible[] = { - { "glBeginQuery", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glBeginQuery", 30, -1 }, { "glBeginTransformFeedback", 30, -1 }, { "glBindBufferBase", 30, -1 }, { "glBindBufferRange", 30, -1 }, @@ -2325,7 +2494,8 @@ const struct function gles3_functions_possible[] = { { "glCopyBufferSubData", 30, -1 }, // We check for the aliased -OES version in GLES 2 // { "glCopyTexSubImage3D", 30, -1 }, - { "glDeleteQueries", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glDeleteQueries", 30, -1 }, { "glDeleteSamplers", 30, -1 }, { "glDeleteSync", 30, -1 }, { "glDeleteTransformFeedbacks", 30, -1 }, @@ -2336,13 +2506,15 @@ const struct function gles3_functions_possible[] = { // { "glDrawBuffers", 30, -1 }, { "glDrawElementsInstanced", 30, -1 }, { "glDrawRangeElements", 30, -1 }, - { "glEndQuery", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glEndQuery", 30, -1 }, { "glEndTransformFeedback", 30, -1 }, { "glFenceSync", 30, -1 }, // We check for the aliased -EXT version in GLES 2 // { "glFlushMappedBufferRange", 30, -1 }, { "glFramebufferTextureLayer", 30, -1 }, - { "glGenQueries", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glGenQueries", 30, -1 }, { "glGenSamplers", 30, -1 }, { "glGenTransformFeedbacks", 30, -1 }, // We check for the aliased -OES version in GLES 2 @@ -2360,8 +2532,10 @@ const struct function gles3_functions_possible[] = { { "glGetInternalformativ", 30, -1 }, { "glGetInternalformati64v", 30, -1 }, // glGetProgramBinary aliases glGetProgramBinaryOES in GLES 2 - { "glGetQueryiv", 30, -1 }, - { "glGetQueryObjectuiv", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glGetQueryiv", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glGetQueryObjectuiv", 30, -1 }, { "glGetSamplerParameterfv", 30, -1 }, { "glGetSamplerParameteriv", 30, -1 }, { "glGetStringi", 30, -1 }, @@ -2374,7 +2548,8 @@ const struct function gles3_functions_possible[] = { { "glGetVertexAttribIuiv", 30, -1 }, { "glInvalidateFramebuffer", 30, -1 }, { "glInvalidateSubFramebuffer", 30, -1 }, - { "glIsQuery", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + // { "glIsQuery", 30, -1 }, { "glIsSampler", 30, -1 }, { "glIsSync", 30, -1 }, { "glIsTransformFeedback", 30, -1 }, @@ -2387,7 +2562,7 @@ const struct function gles3_functions_possible[] = { // glProgramParameteri aliases glProgramParameteriEXT in GLES 2 // We check for the aliased -NV version in GLES 2 // { "glReadBuffer", 30, -1 }, - { "glRenderbufferStorageMultisample", 30, -1 }, + // glRenderbufferStorageMultisample aliases glRenderbufferStorageMultisampleEXT in GLES 2 { "glResumeTransformFeedback", 30, -1 }, { "glSamplerParameterf", 30, -1 }, { "glSamplerParameterfv", 30, -1 }, @@ -2454,6 +2629,38 @@ const struct function gles3_functions_possible[] = { { "glTexBufferOES", 31, -1 }, { "glTexBufferRangeOES", 31, -1 }, + /* GL_OES_sample_shading */ + { "glMinSampleShadingOES", 30, -1 }, + + /* GL_OES_copy_image */ + { "glCopyImageSubDataOES", 30, -1 }, + + /* GL_OES_draw_buffers_indexed */ + { "glBlendFunciOES", 30, -1 }, + { "glBlendFuncSeparateiOES", 30, -1 }, + { "glBlendEquationiOES", 30, -1 }, + { "glBlendEquationSeparateiOES", 30, -1 }, + { "glColorMaskiOES", 30, -1 }, + { "glEnableiOES", 30, -1 }, + { "glDisableiOES", 30, -1 }, + { "glIsEnablediOES", 30, -1 }, + + /* GL_EXT_base_instance */ + { "glDrawArraysInstancedBaseInstanceEXT", 30, -1 }, + { "glDrawElementsInstancedBaseInstanceEXT", 30, -1 }, + { "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 30, -1 }, + + /* GL_EXT_window_rectangles */ + { "glWindowRectanglesEXT", 30, -1 }, + + /* GL_AMD_framebuffer_multisample_advanced */ + { "glRenderbufferStorageMultisampleAdvancedAMD", 11, -1 }, + { "glNamedRenderbufferStorageMultisampleAdvancedAMD", 11, -1 }, + + /* GL_MESA_framebuffer_flip_y */ + { "glFramebufferParameteriMESA", 30, -1 }, + { "glGetFramebufferParameterivMESA", 30, -1 }, + { NULL, 0, -1 } }; @@ -2539,6 +2746,9 @@ const struct function gles31_functions_possible[] = { /* GL_OES_texture_storage_multisample_2d_array */ { "glTexStorage3DMultisampleOES", 31, -1 }, + /* GL_OES_texture_view */ + { "glTextureViewOES", 31, -1 }, + /* GL_EXT_buffer_storage */ { "glBufferStorageEXT", 31, -1 }, @@ -2548,5 +2758,31 @@ const struct function gles31_functions_possible[] = { /* GL_OES_geometry_shader */ { "glFramebufferTextureOES", 31, -1}, + /* GL_EXT_geometry_shader */ + // We check for the aliased OES version above + // { "glFramebufferTextureEXT", 31, -1}, + + /* GL_OES_tessellation_shader */ + { "glPatchParameteriOES", 31, -1 }, + + /* GL_OES_primitive_bound_box */ + { "glPrimitiveBoundingBoxOES", 31, -1 }, + + /* GL_OES_viewport_array */ + { "glViewportArrayvOES", 31, -1 }, + { "glViewportIndexedfOES", 31, -1 }, + { "glViewportIndexedfvOES", 31, -1 }, + { "glScissorArrayvOES", 31, -1 }, + { "glScissorIndexedOES", 31, -1 }, + { "glScissorIndexedvOES", 31, -1 }, + { "glDepthRangeArrayfvOES", 31, -1 }, + { "glDepthRangeIndexedfOES", 31, -1 }, + { "glGetFloati_vOES", 31, -1 }, + + /* GL_ARB_sample_locations */ + { "glFramebufferSampleLocationsfvARB", 31, -1 }, + { "glNamedFramebufferSampleLocationsfvARB", 31, -1 }, + { "glEvaluateDepthValuesARB", 31, -1 }, + { NULL, 0, -1 }, };