[Mesa-dev] [PATCH] mesa: allow multisampled format info to be returned on GLES 3.1

Timothy Arceri timothy.arceri at collabora.com
Sun Feb 14 10:36:43 UTC 2016


On Sat, 2016-02-13 at 23:50 -0500, Ilia Mirkin wrote:
> Marta, perhaps you can have a look? It's pretty similar to your
> commit
> b6d014f0b (mesa/es3.1: Pass sample count check for multisampled
> textures).
> 
> On Thu, Feb 11, 2016 at 3:04 PM, Ilia Mirkin <imirkin at alum.mit.edu>
> wrote:
> > The restriction on multisampled integer texture formats only
> > applies to
> > GLES 3.0, so don't apply it to GLES 3.1 contexts. This fixes a slew
> > of
> > mesa: allow multisampled 
> > dEQP-GLES31.functional.state_query.internal_format.*
> > 
> > tests, which now all pass.
> > 
> > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> > ---
> >  src/mesa/main/formatquery.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/mesa/main/formatquery.c
> > b/src/mesa/main/formatquery.c
> > index 85f7b6b..cfadffd 100644
> > --- a/src/mesa/main/formatquery.c
> > +++ b/src/mesa/main/formatquery.c
> > @@ -131,7 +131,8 @@ _mesa_GetInternalformativ(GLenum target, GLenum
> > internalformat, GLenum pname,
> >              internalformat, buffer);ctx->API == API_OPENGLES2 &&
> > ctx->Version >= 30
> >        break;
> >     case GL_NUM_SAMPLE_COUNTS: {
> > -      if (_mesa_is_gles3(ctx) &&
> > _mesa_is_enum_format_integer(internalformat)) {
> > +      if (_mesa_is_gles3(ctx) && !_mesa_is_gles31(ctx) &&
> > +          _mesa_is_enum_format_integer(internalformat)) {

IMO it would be much nicer to just have:

ctx->API == API_OPENGLES2 && ctx->Version == 30

It would also be nice to update the comment to say that multisampling
was added in 3.1 so the rule no longer applies.

Looking at the GLES 3.1 spec there is more to it.

An INVALID_ENUM error is generated if internalformat is not color-,
depth- or stencil-renderable.

Where for GL zero is returned.

> >           /* From GL ES 3.0 specification, section 6.1.15 page 236:
> > "Since
> >            * multisampling is not supported for signed and unsigned
> > integer
> >            * internal formats, the value of NUM_SAMPLE_COUNTS will
> > be zero
> > --
> > 2.4.10
> > 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list