[Mesa-dev] [PATCH 4/6] mesa: add some of missing compatibility support for ARB_bindless_texture
Marek Olšák
maraeo at gmail.com
Thu Feb 15 00:11:22 UTC 2018
From: Marek Olšák <marek.olsak at amd.com>
The extension is exposed in the compatibility profile.
---
src/mapi/glapi/gen/apiexec.py | 2 +-
src/mesa/main/api_loopback.c | 8 ++++----
src/mesa/main/vtxfmt.c | 9 +++++----
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/mapi/glapi/gen/apiexec.py b/src/mapi/glapi/gen/apiexec.py
index 7da0818..b5e0ad4 100644
--- a/src/mapi/glapi/gen/apiexec.py
+++ b/src/mapi/glapi/gen/apiexec.py
@@ -284,12 +284,12 @@ functions = {
"ProgramUniform1ui64ARB": exec_info(core=31),
"ProgramUniform2ui64ARB": exec_info(core=31),
"ProgramUniform3ui64ARB": exec_info(core=31),
"ProgramUniform4ui64ARB": exec_info(core=31),
"ProgramUniform1ui64vARB": exec_info(core=31),
"ProgramUniform2ui64vARB": exec_info(core=31),
"ProgramUniform3ui64vARB": exec_info(core=31),
"ProgramUniform4ui64vARB": exec_info(core=31),
# GL_ARB_bindless_texture
- "GetVertexAttribLui64vARB": exec_info(core=31),
+ "GetVertexAttribLui64vARB": exec_info(compatibility=30, core=31),
}
diff --git a/src/mesa/main/api_loopback.c b/src/mesa/main/api_loopback.c
index b552d17..4eab811 100644
--- a/src/mesa/main/api_loopback.c
+++ b/src/mesa/main/api_loopback.c
@@ -1783,29 +1783,29 @@ _mesa_loopback_init_api_table(const struct gl_context *ctx,
SET_VertexAttrib4Niv(dest, _mesa_VertexAttrib4Niv);
SET_VertexAttrib4Nuiv(dest, _mesa_VertexAttrib4Nuiv);
/* GL_EXT_gpu_shader4, GL 3.0 */
SET_VertexAttribI1iv(dest, _mesa_VertexAttribI1iv);
SET_VertexAttribI1uiv(dest, _mesa_VertexAttribI1uiv);
SET_VertexAttribI4bv(dest, _mesa_VertexAttribI4bv);
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) {
/* GL 4.1 / GL_ARB_vertex_attrib_64bit */
SET_VertexAttribL1d(dest, _mesa_VertexAttribL1d);
SET_VertexAttribL2d(dest, _mesa_VertexAttribL2d);
SET_VertexAttribL3d(dest, _mesa_VertexAttribL3d);
SET_VertexAttribL4d(dest, _mesa_VertexAttribL4d);
SET_VertexAttribL1dv(dest, _mesa_VertexAttribL1dv);
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);
}
}
diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c
index 293a385..61629a4 100644
--- a/src/mesa/main/vtxfmt.c
+++ b/src/mesa/main/vtxfmt.c
@@ -198,36 +198,37 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
if (_mesa_is_desktop_gl(ctx)) {
SET_VertexAttribP1ui(tab, vfmt->VertexAttribP1ui);
SET_VertexAttribP2ui(tab, vfmt->VertexAttribP2ui);
SET_VertexAttribP3ui(tab, vfmt->VertexAttribP3ui);
SET_VertexAttribP4ui(tab, vfmt->VertexAttribP4ui);
SET_VertexAttribP1uiv(tab, vfmt->VertexAttribP1uiv);
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);
SET_VertexAttribL4d(tab, vfmt->VertexAttribL4d);
SET_VertexAttribL1dv(tab, vfmt->VertexAttribL1dv);
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);
}
}
/**
* Install per-vertex functions into the API dispatch table for execution.
*/
void
_mesa_install_exec_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt)
{
--
2.7.4
More information about the mesa-dev
mailing list