Mesa (master): main/cs: Implement query for COMPUTE_WORK_GROUP_SIZE.
Paul Berry
stereotype441 at kemper.freedesktop.org
Wed Feb 5 17:26:00 UTC 2014
Module: Mesa
Branch: master
Commit: f5c5438e1fb9b5b1e83c7081da518d9943fc82e8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5c5438e1fb9b5b1e83c7081da518d9943fc82e8
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Jan 9 04:03:30 2014 -0800
main/cs: Implement query for COMPUTE_WORK_GROUP_SIZE.
v2: Improve error message.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
---
src/mesa/main/shaderapi.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 571e13c..65b6b16 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -663,6 +663,24 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, GLint *param
*params = shProg->NumAtomicBuffers;
return;
+ case GL_COMPUTE_WORK_GROUP_SIZE: {
+ int i;
+ if (!_mesa_is_desktop_gl(ctx) || !ctx->Extensions.ARB_compute_shader)
+ break;
+ if (!shProg->LinkStatus) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetProgramiv(program not "
+ "linked)");
+ return;
+ }
+ if (shProg->_LinkedShaders[MESA_SHADER_COMPUTE] == NULL) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetProgramiv(no compute "
+ "shaders)");
+ return;
+ }
+ for (i = 0; i < 3; i++)
+ params[i] = shProg->Comp.LocalSize[i];
+ return;
+ }
default:
break;
}
More information about the mesa-commit
mailing list