[Mesa-dev] [PATCH 26/30] main/cs: Implement query for COMPUTE_WORK_GROUP_SIZE.

Jordan Justen jljusten at gmail.com
Sat Feb 1 22:28:22 PST 2014


On Thu, Jan 9, 2014 at 6:19 PM, Paul Berry <stereotype441 at gmail.com> wrote:
> ---
>  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 053f27b..680d449 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 successfully)");

Nit, but dropping " successfully" sounds better to me. It seems more
likely that they tried to get the value before linking than that they
ignored a link error.

24-26 Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

> +         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;
>     }
> --
> 1.8.5.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list