[Mesa-dev] [PATCH] mesa: allow multisampled format info to be returned on GLES 3.1
Ilia Mirkin
imirkin at alum.mit.edu
Sun Feb 14 18:28:09 UTC 2016
On Sun, Feb 14, 2016 at 5:36 AM, Timothy Arceri
<timothy.arceri at collabora.com> wrote:
> 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
Sure thing. That's also the style that Marta went with in her change
(although I hadn't seen that back when I composed this commit).
>
> It would also be nice to update the comment to say that multisampling
> was added in 3.1 so the rule no longer applies.
Actually MS existed in 3.0 as well, just not for integer formats.
>
> 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.
Interesting. I'll have a closer look, thanks for digging through the
specs! I wonder if we already have such a function [to determine the
renderability of a format]. If not, I think that would go beyond the
scope of this change...
-ilia
>
>> > /* 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