summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Arceri <tarceri@itsqueeze.com>2018-07-04 11:06:41 +1000
committerTimothy Arceri <tarceri@itsqueeze.com>2018-07-05 13:15:34 +1000
commit0cb6537deecbbb5f330b5835de29f64e4faf61c4 (patch)
treecea8fc97f3877bdb01a066262b823a5ee78cd270
parent39063334d3e33d3a59760abc856e018cfd4e3583 (diff)
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 <marek.olsak@amd.com>
-rw-r--r--src/mapi/glapi/gen/apiexec.py194
-rw-r--r--src/mesa/main/extensions_table.h2
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp198
3 files changed, 197 insertions, 197 deletions
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 },