summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mapi/glapi/gen/ARB_compute_variable_group_size.xml25
-rw-r--r--src/mapi/glapi/gen/Makefile.am1
-rw-r--r--src/mapi/glapi/gen/gl_API.xml4
-rw-r--r--src/mesa/main/compute.c8
-rw-r--r--src/mesa/main/compute.h5
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp3
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 },