X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftests%2Fdispatch_sanity.cpp;h=e0324bd54d28750eaa8c42a584064bc71cc5f58a;hp=c87b1dc19c9398684c45f79fd49c45d34287f22e;hb=18124d727865f1c53b0dac644560bce177b7d233;hpb=83116d084f254cb8fcb58d240af10cf40a444cde diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index c87b1dc19c9..e0324bd54d2 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -110,8 +110,9 @@ DispatchSanity_test::SetUpCtx(gl_api api, unsigned int version) &visual, NULL, // share_list &driver_functions); - _vbo_CreateContext(&ctx); + _vbo_CreateContext(&ctx, false); + _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 }, @@ -539,6 +546,7 @@ const struct function common_desktop_functions_possible[] = { /* GL_ARB_instanced_arrays */ { "glVertexAttribDivisorARB", 31, -1 }, + { "glVertexArrayVertexAttribDivisorEXT", 31, -1 }, /* GL_NV_texture_barrier */ { "glTextureBarrierNV", 31, -1 }, @@ -551,6 +559,13 @@ const struct function common_desktop_functions_possible[] = { { "glEGLImageTargetRenderbufferStorageOES", 31, -1 }, { "glEGLImageTargetTexture2DOES", 31, -1 }, + /* EXT_EGL_image_storage */ + { "glEGLImageTargetTexStorageEXT", 31, -1 }, + { "glEGLImageTargetTextureStorageEXT", 31, -1 }, + + /* GL_NV_copy_image */ + { "glCopyImageSubDataNV", 31, -1 }, + /* GL 3.2 */ { "glGetInteger64i_v", 32, -1 }, { "glGetBufferParameteri64v", 32, -1 }, @@ -570,6 +585,47 @@ 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 }, + { "glVertexArrayVertexAttribLOffsetEXT", 41, -1 }, + /* GL 4.3 */ { "glIsRenderbuffer", 43, -1 }, { "glBindRenderbuffer", 43, -1 }, @@ -626,12 +682,6 @@ const struct function common_desktop_functions_possible[] = { { "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 }, @@ -810,8 +860,8 @@ const struct function common_desktop_functions_possible[] = { { "glTextureStorage3DEXT", 43, -1 }, { "glClearBufferData", 43, -1 }, { "glClearBufferSubData", 43, -1 }, -// { "glClearNamedBufferDataEXT", 43, -1 }, // XXX: Add to xml -// { "glClearNamedBufferSubDataEXT", 43, -1 }, // XXX: Add to xml + { "glClearNamedBufferDataEXT", 43, -1 }, + { "glClearNamedBufferSubDataEXT", 43, -1 }, { "glCopyImageSubData", 43, -1 }, { "glTextureView", 43, -1 }, { "glBindVertexBuffer", 43, -1 }, @@ -820,15 +870,16 @@ const struct function common_desktop_functions_possible[] = { { "glVertexAttribLFormat", 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 -// { "glVertexArrayVertexAttribBindingEXT", 43, -1 }, // XXX: Add to xml -// { "glVertexArrayVertexBindingDivisorEXT", 43, -1 }, // XXX: Add to xml + { "glVertexArrayBindVertexBufferEXT", 43, -1 }, + { "glVertexArrayVertexAttribFormatEXT", 43, -1 }, + { "glVertexArrayVertexAttribIFormatEXT", 43, -1 }, + { "glVertexArrayVertexAttribLFormatEXT", 43, -1 }, + { "glVertexArrayVertexAttribBindingEXT", 43, -1 }, + { "glVertexArrayVertexBindingDivisorEXT", 43, -1 }, { "glFramebufferParameteri", 43, -1 }, { "glGetFramebufferParameteriv", 43, -1 }, -// { "glNamedFramebufferParameteriEXT", 43, -1 }, // XXX: Add to xml -// { "glGetNamedFramebufferParameterivEXT", 43, -1 }, // XXX: Add to xml + { "glNamedFramebufferParameteriEXT", 43, -1 }, + { "glGetNamedFramebufferParameterivEXT", 43, -1 }, // { "glGetInternalformati64v", 43, -1 }, // XXX: Add to xml { "glInvalidateTexSubImage", 43, -1 }, { "glInvalidateTexImage", 43, -1 }, @@ -845,11 +896,20 @@ const struct function common_desktop_functions_possible[] = { { "glGetProgramResourceLocation", 43, -1 }, { "glGetProgramResourceLocationIndex", 43, -1 }, { "glShaderStorageBlockBinding", 43, -1 }, -// { "glTextureBufferRangeEXT", 43, -1 }, // XXX: Add to xml + { "glTextureBufferRangeEXT", 43, -1 }, { "glTexStorage2DMultisample", 43, -1 }, { "glTexStorage3DMultisample", 43, -1 }, -// { "glTextureStorage2DMultisampleEXT", 43, -1 }, // XXX: Add to xml -// { "glTextureStorage3DMultisampleEXT", 43, -1 }, // XXX: Add to xml + { "glTextureStorage2DMultisampleEXT", 43, -1 }, + { "glTextureStorage3DMultisampleEXT", 43, -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 }, /* GL 4.5 */ /* aliased versions checked above */ @@ -860,6 +920,281 @@ 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 }, + { "glGetNamedProgramLocalParameterdvEXT", 10, -1 }, + { "glGetNamedProgramLocalParameterfvEXT", 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 */ + /* Added glProgramUniform*EXT functions are aliases */ + /* GL_EXT_direct_state_access - GL 2.1 */ + /* Added glProgramUniformMAtrix*EXT functions are aliases */ + /* 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 */ + /* Added glProgramUniform*u*EXT functions are aliases */ + /* GL_EXT_direct_state_access - EXT_gpu_program_parameters */ + { "glNamedProgramLocalParameters4fvEXT", 10, -1 }, + /* GL_EXT_direct_state_access - GL 3.0 */ + { "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 }, + { "glVertexArraySecondaryColorOffsetEXT", 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 }, @@ -874,6 +1209,14 @@ const struct function common_desktop_functions_possible[] = { { "glBindImageTextures", 44, -1 }, { "glBindVertexBuffers", 44, -1 }, + /* GL_ARB_shading_language_include */ + { "glNamedStringARB", 20, -1 }, + { "glDeleteNamedStringARB", 20, -1 }, + { "glCompileShaderIncludeARB", 20, -1 }, + { "glIsNamedStringARB", 20, -1 }, + { "glGetNamedStringARB", 20, -1 }, + { "glGetNamedStringivARB", 20, -1 }, + /* GL_KHR_debug/GL_ARB_debug_output */ { "glPushDebugGroup", 11, -1 }, { "glPopDebugGroup", 11, -1 }, @@ -930,6 +1273,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 }, @@ -942,6 +1286,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 }, @@ -958,14 +1305,140 @@ const struct function common_desktop_functions_possible[] = { /* GL_KHR_blend_equation_advanced */ { "glBlendBarrierKHR", 20, -1 }, + /* GL_ARB_sparse_buffer */ + { "glBufferPageCommitmentARB", 43, -1 }, + { "glNamedBufferPageCommitmentARB", 43, -1 }, + { "glNamedBufferPageCommitmentEXT", 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 }, + + /* GL_ARB_gpu_shader_int64 */ + { "glUniform1i64ARB", 40, -1 }, + { "glUniform2i64ARB", 40, -1 }, + { "glUniform3i64ARB", 40, -1 }, + { "glUniform4i64ARB", 40, -1 }, + { "glUniform1ui64ARB", 40, -1 }, + { "glUniform2ui64ARB", 40, -1 }, + { "glUniform3ui64ARB", 40, -1 }, + { "glUniform4ui64ARB", 40, -1 }, + { "glUniform1i64vARB", 40, -1 }, + { "glUniform2i64vARB", 40, -1 }, + { "glUniform3i64vARB", 40, -1 }, + { "glUniform4i64vARB", 40, -1 }, + { "glUniform1ui64vARB", 40, -1 }, + { "glUniform2ui64vARB", 40, -1 }, + { "glUniform3ui64vARB", 40, -1 }, + { "glUniform4ui64vARB", 40, -1 }, + { "glGetUniformi64vARB", 40, -1 }, + { "glGetUniformui64vARB", 40, -1 }, + { "glGetnUniformi64vARB", 40, -1 }, + { "glGetnUniformui64vARB", 40, -1 }, + { "glProgramUniform1i64ARB", 40, -1 }, + { "glProgramUniform2i64ARB", 40, -1 }, + { "glProgramUniform3i64ARB", 40, -1 }, + { "glProgramUniform4i64ARB", 40, -1 }, + { "glProgramUniform1ui64ARB", 40, -1 }, + { "glProgramUniform2ui64ARB", 40, -1 }, + { "glProgramUniform3ui64ARB", 40, -1 }, + { "glProgramUniform4ui64ARB", 40, -1 }, + { "glProgramUniform1i64vARB", 40, -1 }, + { "glProgramUniform2i64vARB", 40, -1 }, + { "glProgramUniform3i64vARB", 40, -1 }, + { "glProgramUniform4i64vARB", 40, -1 }, + { "glProgramUniform1ui64vARB", 40, -1 }, + { "glProgramUniform2ui64vARB", 40, -1 }, + { "glProgramUniform3ui64vARB", 40, -1 }, + { "glProgramUniform4ui64vARB", 40, -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 }, @@ -1362,7 +1835,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 }, @@ -1446,431 +1918,14 @@ const struct function gl_compatibility_functions_possible[] = { }; const struct function gl_core_functions_possible[] = { - /* GL 3.1 */ - { "glTexBuffer", 31, -1 }, + /* GL_ARB_ES3_2_compatibility */ + { "glPrimitiveBoundingBoxARB", 45, -1 }, - /* GL 3.2 */ - { "glFramebufferTexture", 32, -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 }, - - /* GL_ARB_ES3_2_compatibility */ - { "glPrimitiveBoundingBoxARB", 45, -1 }, - - { NULL, 0, -1 } -}; + { NULL, 0, -1 } +}; const struct function gles11_functions_possible[] = { { "glActiveTexture", 11, _gloffset_ActiveTexture }, @@ -2082,6 +2137,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 } }; @@ -2293,6 +2357,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 }, @@ -2331,11 +2408,54 @@ const struct function gles2_functions_possible[] = { /* 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 }, + { "glGetInteger64vEXT", 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 }, @@ -2356,7 +2476,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 }, @@ -2367,13 +2488,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 @@ -2386,13 +2509,16 @@ const struct function gles3_functions_possible[] = { // { "glGetBufferPointerv", 30, -1 }, { "glGetFragDataLocation", 30, -1 }, { "glGetInteger64i_v", 30, -1 }, - { "glGetInteger64v", 30, -1 }, + // We check for the aliased -EXT version in GLES 2 + //{ "glGetInteger64v", 30, -1 }, { "glGetIntegeri_v", 30, -1 }, { "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 }, @@ -2405,7 +2531,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 }, @@ -2418,7 +2545,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 }, @@ -2509,6 +2636,17 @@ 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 }, + + /* EXT_EGL_image_storage */ + { "glEGLImageTargetTexStorageEXT", 30, -1 }, + { NULL, 0, -1 } }; @@ -2594,6 +2732,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 }, @@ -2613,5 +2754,21 @@ const struct function gles31_functions_possible[] = { /* 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 }, };