[Mesa-dev] [PATCH 01/23] mapi: add support for ARB_gpu_shader_int64.

Dave Airlie airlied at gmail.com
Thu Jun 9 00:48:02 UTC 2016


From: Dave Airlie <airlied at redhat.com>

Just add the boilerplate xml code.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/mapi/glapi/gen/ARB_gpu_shader_int64.xml | 262 ++++++++++++++++++++++++++++
 src/mapi/glapi/gen/Makefile.am              |   1 +
 src/mapi/glapi/gen/gl_API.xml               |   2 +
 src/mesa/main/uniforms.c                    | 182 +++++++++++++++++++
 src/mesa/main/uniforms.h                    |  82 +++++++++
 5 files changed, 529 insertions(+)
 create mode 100644 src/mapi/glapi/gen/ARB_gpu_shader_int64.xml

diff --git a/src/mapi/glapi/gen/ARB_gpu_shader_int64.xml b/src/mapi/glapi/gen/ARB_gpu_shader_int64.xml
new file mode 100644
index 0000000..d0e4c54
--- /dev/null
+++ b/src/mapi/glapi/gen/ARB_gpu_shader_int64.xml
@@ -0,0 +1,262 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_ARB_gpu_shader_int64" number="178">
+
+    <function name="Uniform1i64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+    </function>
+
+    <function name="Uniform2i64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+    </function>
+
+    <function name="Uniform3i64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+        <param name="z" type="GLint64"/>
+    </function>
+
+    <function name="Uniform4i64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+        <param name="z" type="GLint64"/>
+        <param name="w" type="GLint64"/>
+    </function>
+
+    <function name="Uniform1i64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="Uniform2i64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="Uniform3i64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="Uniform4i64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="Uniform1ui64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+    </function>
+
+    <function name="Uniform2ui64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+    </function>
+
+    <function name="Uniform3ui64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+        <param name="z" type="GLuint64"/>
+    </function>
+
+    <function name="Uniform4ui64ARB">
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+        <param name="z" type="GLuint64"/>
+        <param name="w" type="GLuint64"/>
+    </function>
+
+    <function name="Uniform1ui64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="Uniform2ui64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="Uniform3ui64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="Uniform4ui64vARB">
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="GetUniformi64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="params" type="GLint64 *"/>
+    </function>
+
+    <function name="GetUniformui64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="params" type="GLuint64 *"/>
+    </function>
+
+    <function name="GetnUniformi64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+	<param name="bufSize" type="GLsizei"/>
+        <param name="params" type="GLint64 *"/>
+    </function>
+
+    <function name="GetnUniformui64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+	<param name="bufSize" type="GLsizei"/>
+        <param name="params" type="GLuint64 *"/>
+    </function>
+
+    <function name="ProgramUniform1i64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+    </function>
+
+    <function name="ProgramUniform2i64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+    </function>
+
+    <function name="ProgramUniform3i64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+        <param name="z" type="GLint64"/>
+    </function>
+
+    <function name="ProgramUniform4i64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLint64"/>
+        <param name="y" type="GLint64"/>
+        <param name="z" type="GLint64"/>
+        <param name="w" type="GLint64"/>
+    </function>
+
+    <function name="ProgramUniform1i64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="ProgramUniform2i64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="ProgramUniform3i64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="ProgramUniform4i64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLint64 *"/>
+    </function>
+
+    <function name="ProgramUniform1ui64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+    </function>
+
+    <function name="ProgramUniform2ui64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+    </function>
+
+    <function name="ProgramUniform3ui64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+        <param name="z" type="GLuint64"/>
+    </function>
+
+    <function name="ProgramUniform4ui64ARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="x" type="GLuint64"/>
+        <param name="y" type="GLuint64"/>
+        <param name="z" type="GLuint64"/>
+        <param name="w" type="GLuint64"/>
+    </function>
+
+    <function name="ProgramUniform1ui64vARB">
+        <param name="program" type="GLuint"/>
+	<param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="ProgramUniform2ui64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="ProgramUniform3ui64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <function name="ProgramUniform4ui64vARB">
+        <param name="program" type="GLuint"/>
+        <param name="location" type="GLint"/>
+        <param name="count" type="GLsizei"/>
+        <param name="value" type="const GLuint64 *"/>
+    </function>
+
+    <enum name="INT64_ARB"   value="0x140E"/>
+    <enum name="UNSIGNED_INT64_ARB"   value="0x140F"/>
+    <enum name="INT64_VEC2_ARB"   value="0x8FE9"/>
+    <enum name="INT64_VEC3_ARB"   value="0x8FEA"/>
+    <enum name="INT64_VEC4_ARB"   value="0x8FEB"/>
+    <enum name="UNSIGNED_INT64_VEC2_ARB"   value="0x8FF5"/>
+    <enum name="UNSIGNED_INT64_VEC3_ARB"   value="0x8FF6"/>
+    <enum name="UNSIGNED_INT64_VEC4_ARB"   value="0x8FF7"/>
+
+</category>
+
+</OpenGLAPI>
+
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index c511de9..712cda8 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -135,6 +135,7 @@ API_XML = \
 	ARB_get_program_binary.xml \
 	ARB_get_texture_sub_image.xml \
 	ARB_gpu_shader_fp64.xml \
+	ARB_gpu_shader_int64.xml \
 	ARB_gpu_shader5.xml \
 	ARB_indirect_parameters.xml \
 	ARB_instanced_arrays.xml \
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 766fe3c..8e1f3a6 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8294,6 +8294,8 @@
 <!-- ARB extension 171 -->
 <xi:include href="ARB_pipeline_statistics_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
+<xi:include href="ARB_gpu_shader_int64.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
 <!-- Non-ARB extensions sorted by extension number. -->
 
 <category name="GL_EXT_blend_color" number="2">
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 35b93d3..13577ae 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -897,6 +897,27 @@ _mesa_GetUniformdv(GLuint program, GLint location, GLdouble *params)
    _mesa_GetnUniformdvARB(program, location, INT_MAX, params);
 }
 
+void GLAPIENTRY
+_mesa_GetnUniformi64vARB(GLuint program, GLint location,
+                         GLsizei bufSize, GLint64 *params)
+{
+
+}
+void GLAPIENTRY
+_mesa_GetUniformi64vARB(GLuint program, GLint location, GLint64 *params)
+{
+}
+
+void GLAPIENTRY
+_mesa_GetnUniformui64vARB(GLuint program, GLint location,
+                         GLsizei bufSize, GLuint64 *params)
+{
+}
+void GLAPIENTRY
+_mesa_GetUniformui64vARB(GLuint program, GLint location, GLuint64 *params)
+{
+}
+
 
 GLint GLAPIENTRY
 _mesa_GetUniformLocation(GLuint programObj, const GLcharARB *name)
@@ -1610,3 +1631,164 @@ _mesa_ProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count,
             "glProgramUniformMatrix4x3dv");
    _mesa_uniform_matrix(ctx, shProg, 4, 3, location, count, transpose, value, GLSL_TYPE_DOUBLE);
 }
+
+void GLAPIENTRY
+_mesa_Uniform1i64ARB(GLint location, GLint64 v0)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform2i64ARB(GLint location, GLint64 v0, GLint64 v1)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform3i64ARB(GLint location, GLint64 v0, GLint64 v1, GLint64 v2)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform4i64ARB(GLint location,  GLint64 v0, GLint64 v1, GLint64 v2, GLint64 v3)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform1i64vARB(GLint location, GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform2i64vARB(GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform3i64vARB(GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform4i64vARB(GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform1ui64ARB(GLint location,  GLuint64 v0)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform2ui64ARB(GLint location,  GLuint64 v0, GLuint64 v1)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform3ui64ARB(GLint location, GLuint64 v0, GLuint64 v1, GLuint64 v2)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform4ui64ARB(GLint location,  GLuint64 v0, GLuint64 v1, GLuint64 v2, GLuint64 v3)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform1ui64vARB(GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform2ui64vARB(GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform3ui64vARB(GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_Uniform4ui64vARB(GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+/* DSA int64 entrypoints */
+void GLAPIENTRY
+_mesa_ProgramUniform1i64ARB(GLuint program, GLint location, GLint64 v0)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform2i64ARB(GLuint program, GLint location, GLint64 v0, GLint64 v1)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform3i64ARB(GLuint program, GLint location, GLint64 v0, GLint64 v1, GLint64 v2)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform4i64ARB(GLuint program, GLint location,  GLint64 v0, GLint64 v1, GLint64 v2, GLint64 v3)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform1i64vARB(GLuint program, GLint location, GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform2i64vARB(GLuint program, GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform3i64vARB(GLuint program, GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform4i64vARB(GLuint program, GLint location,  GLsizei count, const GLint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform1ui64ARB(GLuint program, GLint location,  GLuint64 v0)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform2ui64ARB(GLuint program, GLint location,  GLuint64 v0, GLuint64 v1)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform3ui64ARB(GLuint program, GLint location, GLuint64 v0, GLuint64 v1, GLuint64 v2)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform4ui64ARB(GLuint program, GLint location,  GLuint64 v0, GLuint64 v1, GLuint64 v2, GLuint64 v3)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform1ui64vARB(GLuint program, GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform2ui64vARB(GLuint program, GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform3ui64vARB(GLuint program, GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
+
+void GLAPIENTRY
+_mesa_ProgramUniform4ui64vARB(GLuint program, GLint location,  GLsizei count, const GLuint64 *value)
+{
+}
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index 88fe958..77e9ba3 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -277,6 +277,16 @@ void GLAPIENTRY
 _mesa_Uniform4dv(GLint, GLsizei, const GLdouble *);
 
 void GLAPIENTRY
+_mesa_GetUniformi64vARB(GLuint, GLint, GLint64 *);
+void GLAPIENTRY
+_mesa_GetUniformui64vARB(GLuint, GLint, GLuint64 *);
+
+void GLAPIENTRY
+_mesa_GetnUniformi64vARB(GLuint, GLint, GLsizei, GLint64 *);
+void GLAPIENTRY
+_mesa_GetnUniformui64vARB(GLuint, GLint, GLsizei, GLuint64 *);
+
+void GLAPIENTRY
 _mesa_UniformMatrix2dv(GLint, GLsizei, GLboolean, const GLdouble *);
 void GLAPIENTRY
 _mesa_UniformMatrix3dv(GLint, GLsizei, GLboolean, const GLdouble *);
@@ -347,6 +357,78 @@ void GLAPIENTRY
 _mesa_ProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count,
                                 GLboolean transpose, const GLdouble *value);
 
+void GLAPIENTRY
+_mesa_Uniform1i64ARB(GLint, GLint64);
+void GLAPIENTRY
+_mesa_Uniform2i64ARB(GLint, GLint64, GLint64);
+void GLAPIENTRY
+_mesa_Uniform3i64ARB(GLint, GLint64, GLint64, GLint64);
+void GLAPIENTRY
+_mesa_Uniform4i64ARB(GLint, GLint64, GLint64, GLint64, GLint64);
+
+void GLAPIENTRY
+_mesa_Uniform1i64vARB(GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_Uniform2i64vARB(GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_Uniform3i64vARB(GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_Uniform4i64vARB(GLint, GLsizei, const GLint64 *);
+
+void GLAPIENTRY
+_mesa_Uniform1ui64ARB(GLint, GLuint64);
+void GLAPIENTRY
+_mesa_Uniform2ui64ARB(GLint, GLuint64, GLuint64);
+void GLAPIENTRY
+_mesa_Uniform3ui64ARB(GLint, GLuint64, GLuint64, GLuint64);
+void GLAPIENTRY
+_mesa_Uniform4ui64ARB(GLint, GLuint64, GLuint64, GLuint64, GLuint64);
+
+void GLAPIENTRY
+_mesa_Uniform1ui64vARB(GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_Uniform2ui64vARB(GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_Uniform3ui64vARB(GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_Uniform4ui64vARB(GLint, GLsizei, const GLuint64 *);
+
+void GLAPIENTRY
+_mesa_ProgramUniform1i64ARB(GLuint, GLint, GLint64);
+void GLAPIENTRY
+_mesa_ProgramUniform2i64ARB(GLuint, GLint, GLint64, GLint64);
+void GLAPIENTRY
+_mesa_ProgramUniform3i64ARB(GLuint, GLint, GLint64, GLint64, GLint64);
+void GLAPIENTRY
+_mesa_ProgramUniform4i64ARB(GLuint, GLint, GLint64, GLint64, GLint64, GLint64);
+
+void GLAPIENTRY
+_mesa_ProgramUniform1i64vARB(GLuint, GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform2i64vARB(GLuint, GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform3i64vARB(GLuint, GLint, GLsizei, const GLint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform4i64vARB(GLuint, GLint, GLsizei, const GLint64 *);
+
+void GLAPIENTRY
+_mesa_ProgramUniform1ui64ARB(GLuint, GLint, GLuint64);
+void GLAPIENTRY
+_mesa_ProgramUniform2ui64ARB(GLuint, GLint, GLuint64, GLuint64);
+void GLAPIENTRY
+_mesa_ProgramUniform3ui64ARB(GLuint, GLint, GLuint64, GLuint64, GLuint64);
+void GLAPIENTRY
+_mesa_ProgramUniform4ui64ARB(GLuint, GLint, GLuint64, GLuint64, GLuint64, GLuint64);
+
+void GLAPIENTRY
+_mesa_ProgramUniform1ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform2ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform3ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *);
+void GLAPIENTRY
+_mesa_ProgramUniform4ui64vARB(GLuint, GLint, GLsizei, const GLuint64 *);
+
 void
 _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shader_program,
 	      GLint location, GLsizei count,
-- 
2.5.5



More information about the mesa-dev mailing list