[Mesa-dev] [PATCH 17/18] mesa: enable ARB_vertex_attrib_64bit in compat profile

Timothy Arceri tarceri at itsqueeze.com
Thu Jun 28 06:46:55 UTC 2018


---
 src/mapi/glapi/gen/apiexec.py           | 20 ++++++++++----------
 src/mesa/main/extensions_table.h        |  2 +-
 src/mesa/main/tests/dispatch_sanity.cpp | 23 ++++++++++++-----------
 src/mesa/main/vtxfmt.c                  |  2 +-
 4 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/src/mapi/glapi/gen/apiexec.py b/src/mapi/glapi/gen/apiexec.py
index 1a91785d375..44552f43f29 100644
--- a/src/mapi/glapi/gen/apiexec.py
+++ b/src/mapi/glapi/gen/apiexec.py
@@ -113,16 +113,16 @@ functions = {
     # For Mesa this effectively means OpenGL 3.2 is required.  It seems
     # unlikely that Mesa will ever get support for any of the NV extensions
     # that add "equivalent functionality."
-    "VertexAttribL1d": exec_info(core=32),
-    "VertexAttribL2d": exec_info(core=32),
-    "VertexAttribL3d": exec_info(core=32),
-    "VertexAttribL4d": exec_info(core=32),
-    "VertexAttribL1dv": exec_info(core=32),
-    "VertexAttribL2dv": exec_info(core=32),
-    "VertexAttribL3dv": exec_info(core=32),
-    "VertexAttribL4dv": exec_info(core=32),
-    "VertexAttribLPointer": exec_info(core=32),
-    "GetVertexAttribLdv": exec_info(core=32),
+    "VertexAttribL1d": exec_info(compatibility=32, core=32),
+    "VertexAttribL2d": exec_info(compatibility=32, core=32),
+    "VertexAttribL3d": exec_info(compatibility=32, core=32),
+    "VertexAttribL4d": exec_info(compatibility=32, core=32),
+    "VertexAttribL1dv": exec_info(compatibility=32, core=32),
+    "VertexAttribL2dv": exec_info(compatibility=32, core=32),
+    "VertexAttribL3dv": exec_info(compatibility=32, core=32),
+    "VertexAttribL4dv": exec_info(compatibility=32, core=32),
+    "VertexAttribLPointer": exec_info(compatibility=32, core=32),
+    "GetVertexAttribLdv": exec_info(compatibility=32, core=32),
 
     # OpenGL 4.1 / GL_ARB_viewport_array.  The extension spec says:
     #
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index 12b796777df..8ed1308182e 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -175,7 +175,7 @@ EXT(ARB_transpose_matrix                    , dummy_true
 EXT(ARB_uniform_buffer_object               , ARB_uniform_buffer_object              , GLL, GLC,  x ,  x , 2009)
 EXT(ARB_vertex_array_bgra                   , EXT_vertex_array_bgra                  , GLL, GLC,  x ,  x , 2008)
 EXT(ARB_vertex_array_object                 , dummy_true                             , GLL, GLC,  x ,  x , 2006)
-EXT(ARB_vertex_attrib_64bit                 , ARB_vertex_attrib_64bit                ,  x , GLC,  x ,  x , 2010)
+EXT(ARB_vertex_attrib_64bit                 , ARB_vertex_attrib_64bit                ,  32, GLC,  x ,  x , 2010)
 EXT(ARB_vertex_attrib_binding               , dummy_true                             , GLL, GLC,  x ,  x , 2012)
 EXT(ARB_vertex_buffer_object                , dummy_true                             , GLL,  x ,  x ,  x , 2003)
 EXT(ARB_vertex_program                      , ARB_vertex_program                     , GLL,  x ,  x ,  x , 2002)
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 085b1f7dd5f..542dbbdee0f 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -603,6 +603,18 @@ const struct function common_desktop_functions_possible[] = {
    { "glUniformMatrix4x3dv", 40, -1 },
    { "glGetUniformdv", 43, -1 },
 
+   /* GL 4.1 */
+   { "glVertexAttribL1d", 41, -1 },
+   { "glVertexAttribL2d", 41, -1 },
+   { "glVertexAttribL3d", 41, -1 },
+   { "glVertexAttribL4d", 41, -1 },
+   { "glVertexAttribL1dv", 41, -1 },
+   { "glVertexAttribL2dv", 41, -1 },
+   { "glVertexAttribL3dv", 41, -1 },
+   { "glVertexAttribL4dv", 41, -1 },
+   { "glVertexAttribLPointer", 41, -1 },
+   { "glGetVertexAttribLdv", 41, -1 },
+
    /* GL 4.3 */
    { "glIsRenderbuffer", 43, -1 },
    { "glBindRenderbuffer", 43, -1 },
@@ -1765,17 +1777,6 @@ const struct function gl_core_functions_possible[] = {
    { "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 },
-
 // { "glCreateSyncFromCLeventARB", 43, -1 },            // XXX: Add to xml
 
    { "glDrawArraysInstancedBaseInstance", 43, -1 },
diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c
index 61629a40fda..3e96c7d2fba 100644
--- a/src/mesa/main/vtxfmt.c
+++ b/src/mesa/main/vtxfmt.c
@@ -211,7 +211,7 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
       SET_VertexAttribL1ui64vARB(tab, vfmt->VertexAttribL1ui64vARB);
    }
 
-   if (ctx->API == API_OPENGL_CORE) {
+   if (_mesa_is_desktop_gl(ctx)) {
       /* GL_ARB_vertex_attrib_64bit */
       SET_VertexAttribL1d(tab, vfmt->VertexAttribL1d);
       SET_VertexAttribL2d(tab, vfmt->VertexAttribL2d);
-- 
2.17.1



More information about the mesa-dev mailing list