As far as I can tell, ARB_gpu_shader_int64 and AMD_gpu_shader_int64 are, excluding naming differences, identical. I think we should just expose both.
On 06/08/2016 05:48 PM, Dave Airlie wrote: > From: Dave Airlie <airl...@redhat.com> > > Just add the boilerplate xml code. > > Signed-off-by: Dave Airlie <airl...@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, > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev