Reviewed-by: Marta Lofstedt <marta.lofst...@intel.com>
> -----Original Message----- > From: Justen, Jordan L > Sent: Monday, November 2, 2015 9:36 AM > To: mesa-dev@lists.freedesktop.org > Cc: Justen, Jordan L; Iago Toral Quiroga; Lofstedt, Marta > Subject: [PATCH v2 1/2] mesa: Update DispatchComputeIndirect errors for > indirect parameter > > There is some discrepancy between the return values for some error cases > for the DispatchComputeIndirect call in the ARB_compute_shader > specification. Regarding the indirect parameter, in one place the extension > spec lists that the error returned for invalid values should be > INVALID_OPERATION, while later it specifies INVALID_VALUE. > > The OpenGL 4.3 and OpenGLES 3.1 specifications appear to be consistent in > requiring the INVALID_VALUE error return in this case. > > Here we update the code to match the main specifications, and update the > citations use the main specification rather than the extension specification. > > v2: > * Updates based on review from Iago > > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Iago Toral Quiroga <ito...@igalia.com> > Cc: Marta Lofstedt <marta.lofst...@intel.com> > --- > src/mesa/main/api_validate.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c > index 1f729e8..a3ee8c0 100644 > --- a/src/mesa/main/api_validate.c > +++ b/src/mesa/main/api_validate.c > @@ -960,20 +960,19 @@ valid_dispatch_indirect(struct gl_context *ctx, > if (!check_valid_to_compute(ctx, name)) > return GL_FALSE; > > - /* From the ARB_compute_shader specification: > + /* From the OpenGL 4.3 Core Specification, Chapter 19, Compute Shaders: > * > - * "An INVALID_OPERATION error is generated [...] if <indirect> is less > - * than zero or not a multiple of the size, in basic machine units, of > - * uint." > + * "An INVALID_VALUE error is generated if indirect is negative or is not > a > + * multiple of four." > */ > if ((GLintptr)indirect & (sizeof(GLuint) - 1)) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, GL_INVALID_VALUE, > "%s(indirect is not aligned)", name); > return GL_FALSE; > } > > if ((GLintptr)indirect < 0) { > - _mesa_error(ctx, GL_INVALID_OPERATION, > + _mesa_error(ctx, GL_INVALID_VALUE, > "%s(indirect is less than zero)", name); > return GL_FALSE; > } > -- > 2.6.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev