aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-06-09 06:23:13 +1000
committerIan Romanick <[email protected]>2017-01-20 15:41:23 -0800
commit150f2fa78999ff20a9e21e58b72ae31b7cd845b8 (patch)
treef4dad938d51473d4bbae1b903538b82c1360abd5
parent74c23bde5b8155a84233265c56bedac8f38de14e (diff)
mapi: Add support for ARB_gpu_shader_int64.
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 <[email protected]> Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1] Reviewed-by: Matt Turner <[email protected]>
-rw-r--r--src/mapi/glapi/gen/ARB_gpu_shader_int64.xml262
-rw-r--r--src/mapi/glapi/gen/Makefile.am1
-rw-r--r--src/mapi/glapi/gen/apiexec.py39
-rw-r--r--src/mapi/glapi/gen/gl_API.xml2
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp38
-rw-r--r--src/mesa/main/uniforms.c182
-rw-r--r--src/mesa/main/uniforms.h82
7 files changed, 606 insertions, 0 deletions
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 00000000000..d0e4c546e33
--- /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 bd5115798cb..079b1bb225e 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 4bdc95d68e2..e5e1b7d78cb 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 6e00363b6f6..2f421f5a57d 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 3fdd80a8a07..2ea87043029 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 51db39e63a0..b3d640ed20d 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -896,6 +896,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)
@@ -1611,3 +1632,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 88fe9580167..77e9ba37acf 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,