diff options
-rw-r--r-- | src/mapi/glapi/gen/ARB_compute_variable_group_size.xml | 25 | ||||
-rw-r--r-- | src/mapi/glapi/gen/Makefile.am | 1 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 4 | ||||
-rw-r--r-- | src/mesa/main/compute.c | 8 | ||||
-rw-r--r-- | src/mesa/main/compute.h | 5 | ||||
-rw-r--r-- | src/mesa/main/tests/dispatch_sanity.cpp | 3 |
6 files changed, 45 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/ARB_compute_variable_group_size.xml b/src/mapi/glapi/gen/ARB_compute_variable_group_size.xml new file mode 100644 index 00000000000..b21c52fa120 --- /dev/null +++ b/src/mapi/glapi/gen/ARB_compute_variable_group_size.xml @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + + +<OpenGLAPI> + +<category name="GL_ARB_compute_variable_group_size" number="153"> + <enum name="MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB" value="0x9344"/> + <enum name="MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" value="0x90EB"/> + <enum name="MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB" value="0x9345"/> + <enum name="MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" value="0x91BF"/> + + <function name="DispatchComputeGroupSizeARB"> + <param name="num_groups_x" type="GLuint"/> + <param name="num_groups_y" type="GLuint"/> + <param name="num_groups_z" type="GLuint"/> + <param name="group_size_x" type="GLuint"/> + <param name="group_size_y" type="GLuint"/> + <param name="group_size_z" type="GLuint"/> + </function> +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index ba5d1442cda..bd5115798cb 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -120,6 +120,7 @@ API_XML = \ ARB_color_buffer_float.xml \ ARB_compressed_texture_pixel_storage.xml \ ARB_compute_shader.xml \ + ARB_compute_variable_group_size.xml \ ARB_copy_buffer.xml \ ARB_copy_image.xml \ ARB_debug_output.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 17c59db97a7..5998ccf95bd 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -8254,7 +8254,9 @@ <enum name="QUERY_BUFFER_BARRIER_BIT" value="0x00008000"/> </category> -<!-- ARB extensions 149 - 153 --> +<!-- ARB extensions 149 - 152 --> + +<xi:include href="ARB_compute_variable_group_size.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <xi:include href="ARB_indirect_parameters.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> diff --git a/src/mesa/main/compute.c b/src/mesa/main/compute.c index b71430f2b12..b052bae7e91 100644 --- a/src/mesa/main/compute.c +++ b/src/mesa/main/compute.c @@ -60,3 +60,11 @@ _mesa_DispatchComputeIndirect(GLintptr indirect) ctx->Driver.DispatchComputeIndirect(ctx, indirect); } + +void GLAPIENTRY +_mesa_DispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, + GLuint num_groups_z, GLuint group_size_x, + GLuint group_size_y, GLuint group_size_z) +{ + +} diff --git a/src/mesa/main/compute.h b/src/mesa/main/compute.h index 0cc034fd61c..8018bbb2858 100644 --- a/src/mesa/main/compute.h +++ b/src/mesa/main/compute.h @@ -35,4 +35,9 @@ _mesa_DispatchCompute(GLuint num_groups_x, extern void GLAPIENTRY _mesa_DispatchComputeIndirect(GLintptr indirect); +extern void GLAPIENTRY +_mesa_DispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, + GLuint num_groups_z, GLuint group_size_x, + GLuint group_size_y, GLuint group_size_z); + #endif diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index 0d3b6abea39..3fdd80a8a07 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -942,6 +942,9 @@ const struct function common_desktop_functions_possible[] = { { "glDispatchCompute", 43, -1 }, { "glDispatchComputeIndirect", 43, -1 }, + /* GL_ARB_compute_variable_group_size */ + { "glDispatchComputeGroupSizeARB", 43, -1 }, + /* GL_EXT_polygon_offset_clamp */ { "glPolygonOffsetClampEXT", 11, -1 }, |