diff options
author | Francisco Jerez <[email protected]> | 2013-09-11 11:31:01 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2013-10-29 12:40:55 -0700 |
commit | e3fd31dc411c023495970ac51ce28b4d0deb80e6 (patch) | |
tree | c3c048583b6a17fbb761238a9768e68379fb2b60 | |
parent | db47074ac02e2b822dd118f4837b32732941b78b (diff) |
glapi: Add support for ARB_shader_atomic_counters.
Add XML file for the dispatch code generator, update the
dispatch_sanity test and add stub definition for the new entry point.
Reviewed-by: Paul Berry <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
-rw-r--r-- | src/mapi/glapi/gen/ARB_shader_atomic_counters.xml | 47 | ||||
-rw-r--r-- | src/mapi/glapi/gen/Makefile.am | 1 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 2 | ||||
-rw-r--r-- | src/mesa/main/tests/dispatch_sanity.cpp | 2 | ||||
-rw-r--r-- | src/mesa/main/uniforms.c | 6 | ||||
-rw-r--r-- | src/mesa/main/uniforms.h | 3 |
6 files changed, 60 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/ARB_shader_atomic_counters.xml b/src/mapi/glapi/gen/ARB_shader_atomic_counters.xml new file mode 100644 index 00000000000..f3b74e9c28c --- /dev/null +++ b/src/mapi/glapi/gen/ARB_shader_atomic_counters.xml @@ -0,0 +1,47 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<OpenGLAPI> + +<category name="GL_ARB_shader_atomic_counters" number="114"> + +<enum name="ATOMIC_COUNTER_BUFFER" value="0x92C0"/> +<enum name="ATOMIC_COUNTER_BUFFER_BINDING" value="0x92C1"/> +<enum name="ATOMIC_COUNTER_BUFFER_START" value="0x92C2"/> +<enum name="ATOMIC_COUNTER_BUFFER_SIZE" value="0x92C3"/> +<enum name="ATOMIC_COUNTER_BUFFER_DATA_SIZE" value="0x92C4"/> +<enum name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS" value="0x92C5"/> +<enum name="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES" value="0x92C6"/> +<enum name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER" value="0x92C7"/> +<enum name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER" value="0x92C8"/> +<enum name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER" value="0x92C9"/> +<enum name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER" value="0x92CA"/> +<enum name="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER" value="0x92CB"/> +<enum name="MAX_VERTEX_ATOMIC_COUNTER_BUFFERS" value="0x92CC"/> +<enum name="MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS" value="0x92CD"/> +<enum name="MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS" value="0x92CE"/> +<enum name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS" value="0x92CF"/> +<enum name="MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS" value="0x92D0"/> +<enum name="MAX_COMBINED_ATOMIC_COUNTER_BUFFERS" value="0x92D1"/> +<enum name="MAX_VERTEX_ATOMIC_COUNTERS" value="0x92D2"/> +<enum name="MAX_TESS_CONTROL_ATOMIC_COUNTERS" value="0x92D3"/> +<enum name="MAX_TESS_EVALUATION_ATOMIC_COUNTERS" value="0x92D4"/> +<enum name="MAX_GEOMETRY_ATOMIC_COUNTERS" value="0x92D5"/> +<enum name="MAX_FRAGMENT_ATOMIC_COUNTERS" value="0x92D6"/> +<enum name="MAX_COMBINED_ATOMIC_COUNTERS" value="0x92D7"/> +<enum name="MAX_ATOMIC_COUNTER_BUFFER_SIZE" value="0x92D8"/> +<enum name="ACTIVE_ATOMIC_COUNTER_BUFFERS" value="0x92D9"/> +<enum name="UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX" value="0x92DA"/> +<enum name="UNSIGNED_INT_ATOMIC_COUNTER" value="0x92DB"/> +<enum name="MAX_ATOMIC_COUNTER_BUFFER_BINDINGS" value="0x92DC"/> + +<function name="GetActiveAtomicCounterBufferiv" offset="assign"> + <param name="program" type="GLuint" /> + <param name="bufferIndex" type="GLuint" /> + <param name="pname" type="GLenum" /> + <param name="params" type="GLint *" /> +</function> + +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index 48af135cb45..3902452163c 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -110,6 +110,7 @@ API_XML = \ ARB_robustness.xml \ ARB_sampler_objects.xml \ ARB_seamless_cube_map.xml \ + ARB_shader_atomic_counters.xml \ ARB_sync.xml \ ARB_texture_buffer_object.xml \ ARB_texture_buffer_range.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 994ed8d1358..45d69b40a03 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -8308,6 +8308,8 @@ <enum name="MIN_MAP_BUFFER_ALIGNMENT" value="0x90BC" /> </category> +<xi:include href="ARB_shader_atomic_counters.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <xi:include href="ARB_texture_storage.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <!-- ARB extension #118 --> diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index d26819c6b84..408dbc0ca74 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -827,7 +827,7 @@ const struct function gl_core_functions_possible[] = { { "glDrawTransformFeedbackInstanced", 43, -1 }, { "glDrawTransformFeedbackStreamInstanced", 43, -1 }, // { "glGetInternalformativ", 43, -1 }, // XXX: Add to xml -// { "glGetActiveAtomicCounterBufferiv", 43, -1 }, // XXX: Add to xml + { "glGetActiveAtomicCounterBufferiv", 43, -1 }, // { "glBindImageTexture", 43, -1 }, // XXX: Add to xml // { "glMemoryBarrier", 43, -1 }, // XXX: Add to xml { "glTexStorage1D", 43, -1 }, diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 1e6f7f483c4..07e7ea37998 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -844,3 +844,9 @@ _mesa_get_uniform_name(const struct gl_uniform_storage *uni, *length += i; } } + +void GLAPIENTRY +_mesa_GetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, + GLenum pname, GLint *params) +{ +} diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h index 92239176e94..f7cac63286b 100644 --- a/src/mesa/main/uniforms.h +++ b/src/mesa/main/uniforms.h @@ -142,6 +142,9 @@ _mesa_UniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); void GLAPIENTRY +_mesa_GetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, + GLenum pname, GLint *params); +void GLAPIENTRY _mesa_GetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, |