From: Timothy Arceri Date: Wed, 4 Jul 2018 01:06:41 +0000 (+1000) Subject: mesa: enable ARB_direct_state_access in OpenGL 4.5 compat profile X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0cb6537deecbbb5f330b5835de29f64e4faf61c4;p=mesa.git mesa: enable ARB_direct_state_access in OpenGL 4.5 compat profile Its unlikely anyone will add proper ARB_direct_state_access compat support before we branch 18.2. Enabling the extension in 4.5 at least allows users to make use of MESA_GL_VERSION_OVERRIDE=4.5COMPAT for games like No Mans Sky. Reviewed-by: Marek Olšák --- diff --git a/src/mapi/glapi/gen/apiexec.py b/src/mapi/glapi/gen/apiexec.py index 44552f43f29..b163d88549b 100644 --- a/src/mapi/glapi/gen/apiexec.py +++ b/src/mapi/glapi/gen/apiexec.py @@ -152,103 +152,103 @@ functions = { # OpenGL 4.5 / GL_ARB_direct_state_access. Mesa can expose the extension # with core profile. - "CreateTransformFeedbacks": exec_info(core=31), - "TransformFeedbackBufferBase": exec_info(core=31), - "TransformFeedbackBufferRange": exec_info(core=31), - "GetTransformFeedbackiv": exec_info(core=31), - "GetTransformFeedbacki_v": exec_info(core=31), - "GetTransformFeedbacki64_v": exec_info(core=31), - "CreateBuffers": exec_info(core=31), - "NamedBufferStorage": exec_info(core=31), - "NamedBufferData": exec_info(core=31), - "NamedBufferSubData": exec_info(core=31), - "CopyNamedBufferSubData": exec_info(core=31), - "ClearNamedBufferData": exec_info(core=31), - "ClearNamedBufferSubData": exec_info(core=31), - "MapNamedBuffer": exec_info(core=31), - "MapNamedBufferRange": exec_info(core=31), - "UnmapNamedBuffer": exec_info(core=31), - "FlushMappedNamedBufferRange": exec_info(core=31), - "GetNamedBufferParameteriv": exec_info(core=31), - "GetNamedBufferParameteri64v": exec_info(core=31), - "GetNamedBufferPointerv": exec_info(core=31), - "GetNamedBufferSubData": exec_info(core=31), - "CreateFramebuffers": exec_info(core=31), - "NamedFramebufferRenderbuffer": exec_info(core=31), - "NamedFramebufferParameteri": exec_info(core=31), - "NamedFramebufferTexture": exec_info(core=31), - "NamedFramebufferTextureLayer": exec_info(core=31), - "NamedFramebufferDrawBuffer": exec_info(core=31), - "NamedFramebufferDrawBuffers": exec_info(core=31), - "NamedFramebufferReadBuffer": exec_info(core=31), - "InvalidateNamedFramebufferData": exec_info(core=31), - "InvalidateNamedFramebufferSubData": exec_info(core=31), - "ClearNamedFramebufferiv": exec_info(core=31), - "ClearNamedFramebufferuiv": exec_info(core=31), - "ClearNamedFramebufferfv": exec_info(core=31), - "ClearNamedFramebufferfi": exec_info(core=31), - "BlitNamedFramebuffer": exec_info(core=31), - "CheckNamedFramebufferStatus": exec_info(core=31), - "GetNamedFramebufferParameteriv": exec_info(core=31), - "GetNamedFramebufferAttachmentParameteriv": exec_info(core=31), - "CreateRenderbuffers": exec_info(core=31), - "NamedRenderbufferStorage": exec_info(core=31), - "NamedRenderbufferStorageMultisample": exec_info(core=31), - "GetNamedRenderbufferParameteriv": exec_info(core=31), - "CreateTextures": exec_info(core=31), - "TextureBuffer": exec_info(core=31), - "TextureBufferRange": exec_info(core=31), - "TextureStorage1D": exec_info(core=31), - "TextureStorage2D": exec_info(core=31), - "TextureStorage3D": exec_info(core=31), - "TextureStorage2DMultisample": exec_info(core=31), - "TextureStorage3DMultisample": exec_info(core=31), - "TextureSubImage1D": exec_info(core=31), - "TextureSubImage2D": exec_info(core=31), - "TextureSubImage3D": exec_info(core=31), - "CompressedTextureSubImage1D": exec_info(core=31), - "CompressedTextureSubImage2D": exec_info(core=31), - "CompressedTextureSubImage3D": exec_info(core=31), - "CopyTextureSubImage1D": exec_info(core=31), - "CopyTextureSubImage2D": exec_info(core=31), - "CopyTextureSubImage3D": exec_info(core=31), - "TextureParameterf": exec_info(core=31), - "TextureParameterfv": exec_info(core=31), - "TextureParameteri": exec_info(core=31), - "TextureParameterIiv": exec_info(core=31), - "TextureParameterIuiv": exec_info(core=31), - "TextureParameteriv": exec_info(core=31), - "GenerateTextureMipmap": exec_info(core=31), - "BindTextureUnit": exec_info(core=31), - "GetTextureImage": exec_info(core=31), - "GetCompressedTextureImage": exec_info(core=31), - "GetTextureLevelParameterfv": exec_info(core=31), - "GetTextureLevelParameteriv": exec_info(core=31), - "GetTextureParameterfv": exec_info(core=31), - "GetTextureParameterIiv": exec_info(core=31), - "GetTextureParameterIuiv": exec_info(core=31), - "GetTextureParameteriv": exec_info(core=31), - "CreateVertexArrays": exec_info(core=31), - "DisableVertexArrayAttrib": exec_info(core=31), - "EnableVertexArrayAttrib": exec_info(core=31), - "VertexArrayElementBuffer": exec_info(core=31), - "VertexArrayVertexBuffer": exec_info(core=31), - "VertexArrayVertexBuffers": exec_info(core=31), - "VertexArrayAttribFormat": exec_info(core=31), - "VertexArrayAttribIFormat": exec_info(core=31), - "VertexArrayAttribLFormat": exec_info(core=31), - "VertexArrayAttribBinding": exec_info(core=31), - "VertexArrayBindingDivisor": exec_info(core=31), - "GetVertexArrayiv": exec_info(core=31), - "GetVertexArrayIndexediv": exec_info(core=31), - "GetVertexArrayIndexed64iv": exec_info(core=31), - "CreateSamplers": exec_info(core=31), - "CreateProgramPipelines": exec_info(core=31), - "CreateQueries": exec_info(core=31), - "GetQueryBufferObjectiv": exec_info(core=31), - "GetQueryBufferObjectuiv": exec_info(core=31), - "GetQueryBufferObjecti64v": exec_info(core=31), - "GetQueryBufferObjectui64v": exec_info(core=31), + "CreateTransformFeedbacks": exec_info(compatibility=45, core=31), + "TransformFeedbackBufferBase": exec_info(compatibility=45, core=31), + "TransformFeedbackBufferRange": exec_info(compatibility=45, core=31), + "GetTransformFeedbackiv": exec_info(compatibility=45, core=31), + "GetTransformFeedbacki_v": exec_info(compatibility=45, core=31), + "GetTransformFeedbacki64_v": exec_info(compatibility=45, core=31), + "CreateBuffers": exec_info(compatibility=45, core=31), + "NamedBufferStorage": exec_info(compatibility=45, core=31), + "NamedBufferData": exec_info(compatibility=45, core=31), + "NamedBufferSubData": exec_info(compatibility=45, core=31), + "CopyNamedBufferSubData": exec_info(compatibility=45, core=31), + "ClearNamedBufferData": exec_info(compatibility=45, core=31), + "ClearNamedBufferSubData": exec_info(compatibility=45, core=31), + "MapNamedBuffer": exec_info(compatibility=45, core=31), + "MapNamedBufferRange": exec_info(compatibility=45, core=31), + "UnmapNamedBuffer": exec_info(compatibility=45, core=31), + "FlushMappedNamedBufferRange": exec_info(compatibility=45, core=31), + "GetNamedBufferParameteriv": exec_info(compatibility=45, core=31), + "GetNamedBufferParameteri64v": exec_info(compatibility=45, core=31), + "GetNamedBufferPointerv": exec_info(compatibility=45, core=31), + "GetNamedBufferSubData": exec_info(compatibility=45, core=31), + "CreateFramebuffers": exec_info(compatibility=45, core=31), + "NamedFramebufferRenderbuffer": exec_info(compatibility=45, core=31), + "NamedFramebufferParameteri": exec_info(compatibility=45, core=31), + "NamedFramebufferTexture": exec_info(compatibility=45, core=31), + "NamedFramebufferTextureLayer": exec_info(compatibility=45, core=31), + "NamedFramebufferDrawBuffer": exec_info(compatibility=45, core=31), + "NamedFramebufferDrawBuffers": exec_info(compatibility=45, core=31), + "NamedFramebufferReadBuffer": exec_info(compatibility=45, core=31), + "InvalidateNamedFramebufferData": exec_info(compatibility=45, core=31), + "InvalidateNamedFramebufferSubData": exec_info(compatibility=45, core=31), + "ClearNamedFramebufferiv": exec_info(compatibility=45, core=31), + "ClearNamedFramebufferuiv": exec_info(compatibility=45, core=31), + "ClearNamedFramebufferfv": exec_info(compatibility=45, core=31), + "ClearNamedFramebufferfi": exec_info(compatibility=45, core=31), + "BlitNamedFramebuffer": exec_info(compatibility=45, core=31), + "CheckNamedFramebufferStatus": exec_info(compatibility=45, core=31), + "GetNamedFramebufferParameteriv": exec_info(compatibility=45, core=31), + "GetNamedFramebufferAttachmentParameteriv": exec_info(compatibility=45, core=31), + "CreateRenderbuffers": exec_info(compatibility=45, core=31), + "NamedRenderbufferStorage": exec_info(compatibility=45, core=31), + "NamedRenderbufferStorageMultisample": exec_info(compatibility=45, core=31), + "GetNamedRenderbufferParameteriv": exec_info(compatibility=45, core=31), + "CreateTextures": exec_info(compatibility=45, core=31), + "TextureBuffer": exec_info(compatibility=45, core=31), + "TextureBufferRange": exec_info(compatibility=45, core=31), + "TextureStorage1D": exec_info(compatibility=45, core=31), + "TextureStorage2D": exec_info(compatibility=45, core=31), + "TextureStorage3D": exec_info(compatibility=45, core=31), + "TextureStorage2DMultisample": exec_info(compatibility=45, core=31), + "TextureStorage3DMultisample": exec_info(compatibility=45, core=31), + "TextureSubImage1D": exec_info(compatibility=45, core=31), + "TextureSubImage2D": exec_info(compatibility=45, core=31), + "TextureSubImage3D": exec_info(compatibility=45, core=31), + "CompressedTextureSubImage1D": exec_info(compatibility=45, core=31), + "CompressedTextureSubImage2D": exec_info(compatibility=45, core=31), + "CompressedTextureSubImage3D": exec_info(compatibility=45, core=31), + "CopyTextureSubImage1D": exec_info(compatibility=45, core=31), + "CopyTextureSubImage2D": exec_info(compatibility=45, core=31), + "CopyTextureSubImage3D": exec_info(compatibility=45, core=31), + "TextureParameterf": exec_info(compatibility=45, core=31), + "TextureParameterfv": exec_info(compatibility=45, core=31), + "TextureParameteri": exec_info(compatibility=45, core=31), + "TextureParameterIiv": exec_info(compatibility=45, core=31), + "TextureParameterIuiv": exec_info(compatibility=45, core=31), + "TextureParameteriv": exec_info(compatibility=45, core=31), + "GenerateTextureMipmap": exec_info(compatibility=45, core=31), + "BindTextureUnit": exec_info(compatibility=45, core=31), + "GetTextureImage": exec_info(compatibility=45, core=31), + "GetCompressedTextureImage": exec_info(compatibility=45, core=31), + "GetTextureLevelParameterfv": exec_info(compatibility=45, core=31), + "GetTextureLevelParameteriv": exec_info(compatibility=45, core=31), + "GetTextureParameterfv": exec_info(compatibility=45, core=31), + "GetTextureParameterIiv": exec_info(compatibility=45, core=31), + "GetTextureParameterIuiv": exec_info(compatibility=45, core=31), + "GetTextureParameteriv": exec_info(compatibility=45, core=31), + "CreateVertexArrays": exec_info(compatibility=45, core=31), + "DisableVertexArrayAttrib": exec_info(compatibility=45, core=31), + "EnableVertexArrayAttrib": exec_info(compatibility=45, core=31), + "VertexArrayElementBuffer": exec_info(compatibility=45, core=31), + "VertexArrayVertexBuffer": exec_info(compatibility=45, core=31), + "VertexArrayVertexBuffers": exec_info(compatibility=45, core=31), + "VertexArrayAttribFormat": exec_info(compatibility=45, core=31), + "VertexArrayAttribIFormat": exec_info(compatibility=45, core=31), + "VertexArrayAttribLFormat": exec_info(compatibility=45, core=31), + "VertexArrayAttribBinding": exec_info(compatibility=45, core=31), + "VertexArrayBindingDivisor": exec_info(compatibility=45, core=31), + "GetVertexArrayiv": exec_info(compatibility=45, core=31), + "GetVertexArrayIndexediv": exec_info(compatibility=45, core=31), + "GetVertexArrayIndexed64iv": exec_info(compatibility=45, core=31), + "CreateSamplers": exec_info(compatibility=45, core=31), + "CreateProgramPipelines": exec_info(compatibility=45, core=31), + "CreateQueries": exec_info(compatibility=45, core=31), + "GetQueryBufferObjectiv": exec_info(compatibility=45, core=31), + "GetQueryBufferObjectuiv": exec_info(compatibility=45, core=31), + "GetQueryBufferObjecti64v": exec_info(compatibility=45, core=31), + "GetQueryBufferObjectui64v": exec_info(compatibility=45, core=31), # GL_ARB_gpu_shader_int64 - nominally requires OpenGL 4.0, and Mesa # only supports 4.0 in core profile. diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index 8ed1308182e..e24287b8581 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -54,7 +54,7 @@ EXT(ARB_depth_buffer_float , ARB_depth_buffer_float EXT(ARB_depth_clamp , ARB_depth_clamp , GLL, GLC, x , x , 2003) EXT(ARB_depth_texture , ARB_depth_texture , GLL, x , x , x , 2001) EXT(ARB_derivative_control , ARB_derivative_control , GLL, GLC, x , x , 2014) -EXT(ARB_direct_state_access , dummy_true , x , GLC, x , x , 2014) +EXT(ARB_direct_state_access , dummy_true , 45, GLC, x , x , 2014) EXT(ARB_draw_buffers , dummy_true , GLL, GLC, x , x , 2002) EXT(ARB_draw_buffers_blend , ARB_draw_buffers_blend , GLL, GLC, x , x , 2009) EXT(ARB_draw_elements_base_vertex , ARB_draw_elements_base_vertex , GLL, GLC, x , x , 2009) diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 542dbbdee0f..ec4f9dd08f5 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -914,6 +914,105 @@ 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 }, + { "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_internalformat_query */ { "glGetInternalformativ", 30, -1 }, @@ -1839,105 +1938,6 @@ const struct function gl_core_functions_possible[] = { /* 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 },