On Thu, 2015-10-29 at 00:52 -0700, Jordan Justen wrote:
> Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
> ---
>  src/mesa/main/api_validate.c |  2 +-
>  src/mesa/main/pipelineobj.c  | 11 +++++++++++
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
> index c59b6f3..46f39e7 100644
> --- a/src/mesa/main/api_validate.c
> +++ b/src/mesa/main/api_validate.c
> @@ -923,7 +923,7 @@ check_valid_to_compute(struct gl_context *ctx, const char 
> *function)
>      * "An INVALID_OPERATION error is generated if there is no active program
>      *  for the compute shader stage."
>      */
> -   prog = ctx->Shader.CurrentProgram[MESA_SHADER_COMPUTE];
> +   prog = ctx->_Shader->CurrentProgram[MESA_SHADER_COMPUTE];
>     if (prog == NULL || prog->_LinkedShaders[MESA_SHADER_COMPUTE] == NULL) {
>        _mesa_error(ctx, GL_INVALID_OPERATION,
>                    "%s(no active compute shader)",

This hunk won't apply on current master, there is no such comment before
this line. Maybe this is part of another series of patches?

For the rest of the patch:
Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>

> diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c
> index c8c50fa..58730f4 100644
> --- a/src/mesa/main/pipelineobj.c
> +++ b/src/mesa/main/pipelineobj.c
> @@ -255,6 +255,8 @@ _mesa_UseProgramStages(GLuint pipeline, GLbitfield 
> stages, GLuint program)
>     if (_mesa_has_tessellation(ctx))
>        any_valid_stages |= GL_TESS_CONTROL_SHADER_BIT |
>                            GL_TESS_EVALUATION_SHADER_BIT;
> +   if (_mesa_has_compute_shaders(ctx))
> +      any_valid_stages |= GL_COMPUTE_SHADER_BIT;
>  
>     if (stages != GL_ALL_SHADER_BITS && (stages & ~any_valid_stages) != 0) {
>        _mesa_error(ctx, GL_INVALID_VALUE, "glUseProgramStages(Stages)");
> @@ -336,6 +338,9 @@ _mesa_UseProgramStages(GLuint pipeline, GLbitfield 
> stages, GLuint program)
>  
>     if ((stages & GL_TESS_EVALUATION_SHADER_BIT) != 0)
>        _mesa_use_shader_program(ctx, GL_TESS_EVALUATION_SHADER, shProg, pipe);
> +
> +   if ((stages & GL_COMPUTE_SHADER_BIT) != 0)
> +      _mesa_use_shader_program(ctx, GL_COMPUTE_SHADER, shProg, pipe);
>  }
>  
>  /**
> @@ -669,6 +674,12 @@ _mesa_GetProgramPipelineiv(GLuint pipeline, GLenum 
> pname, GLint *params)
>        *params = pipe->CurrentProgram[MESA_SHADER_FRAGMENT]
>           ? pipe->CurrentProgram[MESA_SHADER_FRAGMENT]->Name : 0;
>        return;
> +   case GL_COMPUTE_SHADER:
> +      if (!_mesa_has_compute_shaders(ctx))
> +         break;
> +      *params = pipe->CurrentProgram[MESA_SHADER_COMPUTE]
> +         ? pipe->CurrentProgram[MESA_SHADER_COMPUTE]->Name : 0;
> +      return;
>     default:
>        break;
>     }


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to