diff options
author | Paul Berry <[email protected]> | 2014-01-06 13:31:58 -0800 |
---|---|---|
committer | Paul Berry <[email protected]> | 2014-02-05 09:01:54 -0800 |
commit | 347dde82e65663562d6d2930bf861ec8c8079362 (patch) | |
tree | 5d01ef522b21bf323892375a5d3cd406efcc1b38 /src/mesa | |
parent | 47d480e3e4850ef8934775570444feea503295d7 (diff) |
mesa/cs: Implement MAX_COMPUTE_WORK_GROUP_SIZE constant.
v2: Document that the 3-element array MaxComputeWorkGroupSize is
indexed by dimension.
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/context.c | 5 | ||||
-rw-r--r-- | src/mesa/main/get.c | 8 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 69835a59eaf..abebd82874a 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -700,6 +700,11 @@ _mesa_init_constants(struct gl_context *ctx) /* GL_ARB_vertex_attrib_binding */ ctx->Const.MaxVertexAttribRelativeOffset = 2047; ctx->Const.MaxVertexAttribBindings = MAX_VERTEX_GENERIC_ATTRIBS; + + /* GL_ARB_compute_shader */ + ctx->Const.MaxComputeWorkGroupSize[0] = 1024; + ctx->Const.MaxComputeWorkGroupSize[1] = 1024; + ctx->Const.MaxComputeWorkGroupSize[2] = 64; } diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index f22acff0b36..acd4d8c290b 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1927,6 +1927,14 @@ find_value_indexed(const char *func, GLenum pname, GLuint index, union value *v) v->value_int = ctx->ImageUnits[index].Format; return TYPE_INT; + + case GL_MAX_COMPUTE_WORK_GROUP_SIZE: + if (!_mesa_is_desktop_gl(ctx) || !ctx->Extensions.ARB_compute_shader) + goto invalid_enum; + if (index >= 3) + goto invalid_value; + v->value_int = ctx->Const.MaxComputeWorkGroupSize[index]; + return TYPE_INT; } invalid_enum: diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 6af4db65c2e..08c5505f8c1 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -3378,6 +3378,9 @@ struct gl_constants GLuint MaxCombinedImageUnitsAndFragmentOutputs; GLuint MaxImageSamples; GLuint MaxCombinedImageUniforms; + + /** GL_ARB_compute_shader */ + GLuint MaxComputeWorkGroupSize[3]; /* Array of x, y, z dimensions */ }; |