X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmesa%2Fmain%2Ftests%2Fdispatch_sanity.cpp;h=be322aa792e65f6e63b745884be7466a1c3031ff;hb=eaeab0a99845f3fb6a5ff70d4e275b31df506a0e;hp=00754deb461fc8ecb374772a08f66f5fbc1fdc85;hpb=e5d8ffdda6bf3cd6e0fd0b8ae82a0384b7424c0c;p=mesa.git diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 00754deb461..be322aa792e 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -224,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 }, @@ -575,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 }, @@ -856,6 +898,15 @@ 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 }, @@ -865,6 +916,313 @@ const struct function common_desktop_functions_possible[] = { //{ "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 }, @@ -935,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 }, @@ -1023,12 +1382,44 @@ const struct function common_desktop_functions_possible[] = { /* 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[] = { - { "glBindRenderbufferEXT", 10, -1 }, - { "glBindFramebufferEXT", 10, -1 }, { "glNewList", 10, _gloffset_NewList }, { "glEndList", 10, _gloffset_EndList }, { "glCallList", 10, _gloffset_CallList }, @@ -1425,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 }, @@ -1509,462 +1899,46 @@ const struct function gl_compatibility_functions_possible[] = { }; const struct function gl_core_functions_possible[] = { - /* GL 3.2 */ - { "glFramebufferTexture", 32, -1 }, + /* GL_ARB_ES3_2_compatibility */ + { "glPrimitiveBoundingBoxARB", 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 -// { "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 }, - - /* 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_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 }, @@ -2182,6 +2156,15 @@ const struct function gles11_functions_possible[] = { /* 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 } }; @@ -2393,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 }, @@ -2441,6 +2437,37 @@ const struct function gles2_functions_possible[] = { { "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 } }; @@ -2535,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 }, @@ -2626,6 +2653,14 @@ const struct function gles3_functions_possible[] = { /* 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 } }; @@ -2711,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 }, @@ -2741,5 +2779,10 @@ const struct function gles31_functions_possible[] = { { "glDepthRangeIndexedfOES", 31, -1 }, { "glGetFloati_vOES", 31, -1 }, + /* GL_ARB_sample_locations */ + { "glFramebufferSampleLocationsfvARB", 31, -1 }, + { "glNamedFramebufferSampleLocationsfvARB", 31, -1 }, + { "glEvaluateDepthValuesARB", 31, -1 }, + { NULL, 0, -1 }, };