mesa: add some of missing compatibility support for ARB_bindless_texture
authorMarek Olšák <marek.olsak@amd.com>
Wed, 14 Feb 2018 21:32:59 +0000 (22:32 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 23 Feb 2018 19:50:20 +0000 (20:50 +0100)
The extension is exposed in the compatibility profile.

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mapi/glapi/gen/apiexec.py
src/mesa/main/api_loopback.c
src/mesa/main/vtxfmt.c

index 7da0818f8ab913a5db4352684fb4533513068186..b5e0ad4a179f91d8451a7ac77cbf3ba05c9aea09 100644 (file)
@@ -291,5 +291,5 @@ functions = {
     "ProgramUniform4ui64vARB": exec_info(core=31),
 
     # GL_ARB_bindless_texture
-    "GetVertexAttribLui64vARB": exec_info(core=31),
+    "GetVertexAttribLui64vARB": exec_info(compatibility=30, core=31),
 }
index b552d17d6aceecd90e22e631b870cf9a4f855528..4eab8118c78b919a93d31a380767346b101f7d3a 100644 (file)
@@ -1790,6 +1790,10 @@ _mesa_loopback_init_api_table(const struct gl_context *ctx,
       SET_VertexAttribI4sv(dest, _mesa_VertexAttribI4sv);
       SET_VertexAttribI4ubv(dest, _mesa_VertexAttribI4ubv);
       SET_VertexAttribI4usv(dest, _mesa_VertexAttribI4usv);
+
+      /* GL_ARB_bindless_texture */
+      SET_VertexAttribL1ui64ARB(dest, _mesa_VertexAttribL1ui64ARB);
+      SET_VertexAttribL1ui64vARB(dest, _mesa_VertexAttribL1ui64vARB);
    }
 
    if (ctx->API == API_OPENGL_CORE) {
@@ -1803,9 +1807,5 @@ _mesa_loopback_init_api_table(const struct gl_context *ctx,
       SET_VertexAttribL2dv(dest, _mesa_VertexAttribL2dv);
       SET_VertexAttribL3dv(dest, _mesa_VertexAttribL3dv);
       SET_VertexAttribL4dv(dest, _mesa_VertexAttribL4dv);
-
-      /* GL_ARB_bindless_texture */
-      SET_VertexAttribL1ui64ARB(dest, _mesa_VertexAttribL1ui64ARB);
-      SET_VertexAttribL1ui64vARB(dest, _mesa_VertexAttribL1ui64vARB);
    }
 }
index 293a3853633f7f1425f2ecd04c720ca616d7a0d2..61629a40fdafbf2e63a2da37c30c23534b21b975 100644 (file)
@@ -205,9 +205,14 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
       SET_VertexAttribP2uiv(tab, vfmt->VertexAttribP2uiv);
       SET_VertexAttribP3uiv(tab, vfmt->VertexAttribP3uiv);
       SET_VertexAttribP4uiv(tab, vfmt->VertexAttribP4uiv);
+
+      /* GL_ARB_bindless_texture */
+      SET_VertexAttribL1ui64ARB(tab, vfmt->VertexAttribL1ui64ARB);
+      SET_VertexAttribL1ui64vARB(tab, vfmt->VertexAttribL1ui64vARB);
    }
 
    if (ctx->API == API_OPENGL_CORE) {
+      /* GL_ARB_vertex_attrib_64bit */
       SET_VertexAttribL1d(tab, vfmt->VertexAttribL1d);
       SET_VertexAttribL2d(tab, vfmt->VertexAttribL2d);
       SET_VertexAttribL3d(tab, vfmt->VertexAttribL3d);
@@ -217,10 +222,6 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
       SET_VertexAttribL2dv(tab, vfmt->VertexAttribL2dv);
       SET_VertexAttribL3dv(tab, vfmt->VertexAttribL3dv);
       SET_VertexAttribL4dv(tab, vfmt->VertexAttribL4dv);
-
-      /* GL_ARB_bindless_texture */
-      SET_VertexAttribL1ui64ARB(tab, vfmt->VertexAttribL1ui64ARB);
-      SET_VertexAttribL1ui64vARB(tab, vfmt->VertexAttribL1ui64vARB);
    }
 }