vulkan/wsi: include builddir for generated headers
[mesa.git] / src / mesa / main / compute.c
index 53e7a500f6136c51b74dbfd517111be8b134ef9c..bb6253906bc53b11b05894a3a6a95548deb347e7 100644 (file)
@@ -41,6 +41,9 @@ _mesa_DispatchCompute(GLuint num_groups_x,
    if (!_mesa_validate_DispatchCompute(ctx, num_groups))
       return;
 
+   if (num_groups_x == 0u || num_groups_y == 0u || num_groups_z == 0u)
+       return;
+
    ctx->Driver.DispatchCompute(ctx, num_groups);
 }
 
@@ -57,3 +60,28 @@ _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)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   const GLuint num_groups[3] = { num_groups_x, num_groups_y, num_groups_z };
+   const GLuint group_size[3] = { group_size_x, group_size_y, group_size_z };
+
+   if (MESA_VERBOSE & VERBOSE_API)
+      _mesa_debug(ctx,
+                  "glDispatchComputeGroupSizeARB(%d, %d, %d, %d, %d, %d)\n",
+                  num_groups_x, num_groups_y, num_groups_z,
+                  group_size_x, group_size_y, group_size_z);
+
+   if (!_mesa_validate_DispatchComputeGroupSizeARB(ctx, num_groups,
+                                                   group_size))
+      return;
+
+   if (num_groups_x == 0u || num_groups_y == 0u || num_groups_z == 0u)
+       return;
+
+   ctx->Driver.DispatchComputeGroupSize(ctx, num_groups, group_size);
+}