[Mesa-dev] [PATCH] mesa: enable ARB_direct_state_access in OpenGL 4.5 compat profile

Timothy Arceri tarceri at itsqueeze.com
Wed Jul 4 01:09:36 UTC 2018


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.
---
 src/mapi/glapi/gen/apiexec.py    | 194 +++++++++++++++----------------
 src/mesa/main/extensions_table.h |   2 +-
 2 files changed, 98 insertions(+), 98 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)
-- 
2.17.1



More information about the mesa-dev mailing list