Both direct and indirect compute match right now - both check the program, and then check the "other" parameters. If this change is made, I believe that _mesa_validate_DispatchCompute should be adjusted as well.
On Mon, Aug 22, 2016 at 10:06 AM, Marek Olšák <mar...@gmail.com> wrote: > From: Marek Olšák <marek.ol...@amd.com> > > This is required by and fixes GL45-CTS.compute_shader.api-indirect. > > I know it's silly, but it's the path of least resistence. > --- > src/mesa/main/api_validate.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c > index 384a8858..27c17fa 100644 > --- a/src/mesa/main/api_validate.c > +++ b/src/mesa/main/api_validate.c > @@ -1102,40 +1102,40 @@ _mesa_validate_DispatchCompute(struct gl_context *ctx, > return GL_TRUE; > } > > static GLboolean > valid_dispatch_indirect(struct gl_context *ctx, > GLintptr indirect, > GLsizei size, const char *name) > { > const uint64_t end = (uint64_t) indirect + size; > > - if (!check_valid_to_compute(ctx, name)) > - return GL_FALSE; > - > /* From the OpenGL 4.3 Core Specification, Chapter 19, Compute Shaders: > * > * "An INVALID_VALUE error is generated if indirect is negative or is not > a > * multiple of four." > */ > if (indirect & (sizeof(GLuint) - 1)) { > _mesa_error(ctx, GL_INVALID_VALUE, > "%s(indirect is not aligned)", name); > return GL_FALSE; > } > > if (indirect < 0) { > _mesa_error(ctx, GL_INVALID_VALUE, > "%s(indirect is less than zero)", name); > return GL_FALSE; > } > > + if (!check_valid_to_compute(ctx, name)) > + return GL_FALSE; > + > /* From the OpenGL 4.3 Core Specification, Chapter 19, Compute Shaders: > * > * "An INVALID_OPERATION error is generated if no buffer is bound to the > * DRAW_INDIRECT_BUFFER binding, or if the command would source data > * beyond the end of the buffer object." > */ > if (!_mesa_is_bufferobj(ctx->DispatchIndirectBuffer)) { > _mesa_error(ctx, GL_INVALID_OPERATION, > "%s: no buffer bound to DISPATCH_INDIRECT_BUFFER", name); > return GL_FALSE; > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev