[Mesa-dev] [PATCH 01/50] mapi: Add support for ARB_gpu_shader_int64.

Ian Romanick idr at freedesktop.org
Tue Nov 29 03:25:16 UTC 2016


From: Dave Airlie <airlied at redhat.com>

Just add the boilerplate xml code.

v2 (idr): Update dispatch_sanity.  Only add extension functions in core
profile.

v3 (idr): Remove comment line from gl_API.xml.  Suggested by Matt.

Signed-off-by: Dave Airlie <airlied at redhat.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com> [v1]
Reviewed-by: Matt Turner <mattst88 at gmail.com>
---
 src/mapi/glapi/gen/ARB_gpu_shader_int64.xml | 262 ++++++++++++++++++++++++++++
 src/mapi/glapi/gen/Makefile.am              |   1 +
 src/mapi/glapi/gen/apiexec.py               |  39 +++++
 src/mapi/glapi/gen/gl_API.xml               |   2 +
 src/mesa/main/tests/dispatch_sanity.cpp     |  38 ++++
 src/mesa/main/uniforms.c                    | 182 +++++++++++++++++++
 src/mesa/main/uniforms.h                    |  82 +++++++++
 7 files changed, 606 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 bd51157..079b1bb 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -139,6 +139,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/apiexec.py b/src/mapi/glapi/gen/apiexec.py
index 4bdc95d..e5e1b7d 100644
--- a/src/mapi/glapi/gen/apiexec.py
+++ b/src/mapi/glapi/gen/apiexec.py
@@ -252,4 +252,43 @@ functions = {
     "GetQueryBufferObjectuiv": exec_info(core=31),
     "GetQueryBufferObjecti64v": exec_info(core=31),
     "GetQueryBufferObjectui64v": exec_info(core=31),
+
+    # GL_ARB_gpu_shader_int64 - nominally requires OpenGL 4.0, and Mesa
+    # only supports 4.0 in core profile.
+    "Uniform1i64ARB": exec_info(core=31),
+    "Uniform2i64ARB": exec_info(core=31),
+    "Uniform3i64ARB": exec_info(core=31),
+    "Uniform4i64ARB": exec_info(core=31),
+    "Uniform1i64vARB": exec_info(core=31),
+    "Uniform2i64vARB": exec_info(core=31),
+    "Uniform3i64vARB": exec_info(core=31),
+    "Uniform4i64vARB": exec_info(core=31),
+    "Uniform1ui64ARB": exec_info(core=31),
+    "Uniform2ui64ARB": exec_info(core=31),
+    "Uniform3ui64ARB": exec_info(core=31),
+    "Uniform4ui64ARB": exec_info(core=31),
+    "Uniform1ui64vARB": exec_info(core=31),
+    "Uniform2ui64vARB": exec_info(core=31),
+    "Uniform3ui64vARB": exec_info(core=31),
+    "Uniform4ui64vARB": exec_info(core=31),
+    "GetUniformi64vARB": exec_info(core=31),
+    "GetUniformui64vARB": exec_info(core=31),
+    "GetnUniformi64vARB": exec_info(core=31),
+    "GetnUniformui64vARB": exec_info(core=31),
+    "ProgramUniform1i64ARB": exec_info(core=31),
+    "ProgramUniform2i64ARB": exec_info(core=31),
+    "ProgramUniform3i64ARB": exec_info(core=31),
+    "ProgramUniform4i64ARB": exec_info(core=31),
+    "ProgramUniform1i64vARB": exec_info(core=31),
+    "ProgramUniform2i64vARB": exec_info(core=31),
+    "ProgramUniform3i64vARB": exec_info(core=31),
+    "ProgramUniform4i64vARB": exec_info(core=31),
+    "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),
 }
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 00c9bb7..4c69502 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -8361,6 +8361,8 @@
 
 </category>
 
+<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/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 3fdd80a..2ea8704 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -1872,6 +1872,44 @@ const struct function gl_core_functions_possible[] = {
    /* GL_ARB_ES3_2_compatibility */
    { "glPrimitiveBoundingBoxARB", 45, -1 },
 
+   /* GL_ARB_gpu_shader_int64 */
+   { "glUniform1i64ARB", 45, -1 },
+   { "glUniform2i64ARB", 45, -1 },
+   { "glUniform3i64ARB", 45, -1 },
+   { "glUniform4i64ARB", 45, -1 },
+   { "glUniform1ui64ARB", 45, -1 },
+   { "glUniform2ui64ARB", 45, -1 },
+   { "glUniform3ui64ARB", 45, -1 },
+   { "glUniform4ui64ARB", 45, -1 },
+   { "glUniform1i64vARB", 45, -1 },
+   { "glUniform2i64vARB", 45, -1 },
+   { "glUniform3i64vARB", 45, -1 },
+   { "glUniform4i64vARB", 45, -1 },
+   { "glUniform1ui64vARB", 45, -1 },
+   { "glUniform2ui64vARB", 45, -1 },
+   { "glUniform3ui64vARB", 45, -1 },
+   { "glUniform4ui64vARB", 45, -1 },
+   { "glGetUniformi64vARB", 45, -1 },
+   { "glGetUniformui64vARB", 45, -1 },
+   { "glGetnUniformi64vARB", 45, -1 },
+   { "glGetnUniformui64vARB", 45, -1 },
+   { "glProgramUniform1i64ARB", 45, -1 },
+   { "glProgramUniform2i64ARB", 45, -1 },
+   { "glProgramUniform3i64ARB", 45, -1 },
+   { "glProgramUniform4i64ARB", 45, -1 },
+   { "glProgramUniform1ui64ARB", 45, -1 },
+   { "glProgramUniform2ui64ARB", 45, -1 },
+   { "glProgramUniform3ui64ARB", 45, -1 },
+   { "glProgramUniform4ui64ARB", 45, -1 },
+   { "glProgramUniform1i64vARB", 45, -1 },
+   { "glProgramUniform2i64vARB", 45, -1 },
+   { "glProgramUniform3i64vARB", 45, -1 },
+   { "glProgramUniform4i64vARB", 45, -1 },
+   { "glProgramUniform1ui64vARB", 45, -1 },
+   { "glProgramUniform2ui64vARB", 45, -1 },
+   { "glProgramUniform3ui64vARB", 45, -1 },
+   { "glProgramUniform4ui64vARB", 45, -1 },
+
    { NULL, 0, -1 }
 };
 
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index f26fd78..526ccbf 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)
@@ -1612,3 +1633,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.7.4



More information about the mesa-dev mailing list