[Mesa-dev] [PATCH 01/27] mapi: add support for ARB_gpu_shader_int64.
Dave Airlie
airlied at gmail.com
Mon Jun 20 05:06:47 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 0d7c338..390f949 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 79e1ba1..bf21107 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 d02f92e..4d88266 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