On Thursday 05 March 2015, Ian Romanick wrote: > On 03/05/2015 10:56 AM, Fredrik Höglund wrote: > > There is no need to check if these extensions are supported here; > > if the data type is not supported, we will already have returned a > > GL_INVALID_ENUM error. > > From where would GL_INVALID_ENUM have been generated? Is that the > "(typeBit & legalTypesMask) == 0x0" check?
Yeah. > Do we have any piglit tests that verify this? We'd have to find some > driver that doesn't support these extensions to try it... I've written a new more extensive piglit test for ARB_dsa that verifies it. The third patch in this series actually fixes a bug uncovered by that test. > > --- > > src/mesa/main/varray.c | 20 +++++--------------- > > 1 file changed, 5 insertions(+), 15 deletions(-) > > > > diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c > > index 42e7f89..efc1431 100644 > > --- a/src/mesa/main/varray.c > > +++ b/src/mesa/main/varray.c > > @@ -301,17 +301,9 @@ update_array_format(struct gl_context *ctx, > > * ... > > * • size is BGRA and normalized is FALSE;" > > */ > > - bool bgra_error = false; > > - > > - if (ctx->Extensions.ARB_vertex_type_2_10_10_10_rev) { > > - if (type != GL_UNSIGNED_INT_2_10_10_10_REV && > > - type != GL_INT_2_10_10_10_REV && > > - type != GL_UNSIGNED_BYTE) > > - bgra_error = true; > > - } else if (type != GL_UNSIGNED_BYTE) > > - bgra_error = true; > > - > > - if (bgra_error) { > > + if (type != GL_UNSIGNED_INT_2_10_10_10_REV && > > + type != GL_INT_2_10_10_10_REV && > > + type != GL_UNSIGNED_BYTE) { > > _mesa_error(ctx, GL_INVALID_OPERATION, "%s(size=GL_BGRA and > > type=%s)", > > func, _mesa_lookup_enum_by_nr(type)); > > return false; > > @@ -331,8 +323,7 @@ update_array_format(struct gl_context *ctx, > > return false; > > } > > > > - if (ctx->Extensions.ARB_vertex_type_2_10_10_10_rev && > > - (type == GL_UNSIGNED_INT_2_10_10_10_REV || > > + if ((type == GL_UNSIGNED_INT_2_10_10_10_REV || > > type == GL_INT_2_10_10_10_REV) && size != 4) { > > _mesa_error(ctx, GL_INVALID_OPERATION, "%s(size=%d)", func, size); > > return false; > > @@ -351,8 +342,7 @@ update_array_format(struct gl_context *ctx, > > return false; > > } > > > > - if (ctx->Extensions.ARB_vertex_type_10f_11f_11f_rev && > > - type == GL_UNSIGNED_INT_10F_11F_11F_REV && size != 3) { > > + if (type == GL_UNSIGNED_INT_10F_11F_11F_REV && size != 3) { > > _mesa_error(ctx, GL_INVALID_OPERATION, "%s(size=%d)", func, size); > > return false; > > } > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev