Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-12-03 Thread Erik Faye-Lund
On Mon, 2018-12-03 at 12:15 -0500, Marek Olšák wrote:
> Looks good. Feel free to push this.

Thanks, pushed :)

> 
> Marek
> 
> On Mon, Dec 3, 2018 at 5:05 AM Erik Faye-Lund <
> erik.faye-l...@collabora.com> wrote:
> > On Fri, 2018-11-30 at 18:15 -0500, Marek Olšák wrote:
> > > On Fri, Nov 30, 2018 at 5:57 PM Ian Romanick  > >
> > > wrote:
> > > > On 11/30/2018 02:17 PM, Marek Olšák wrote:
> > > > > 
> > > > > 
> > > > > On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> > > > >  > > > erik.faye-l...@collabora.com>> wrote:
> > > > > 
> > > > > S3_s3tc is the extension that enables this functionality
> > on
> > > > desktop, so
> > > > > let's check for that one. The _mesa_has_S3_s3tc() helper
> > > > already
> > > > > verifies the API according to the extension-table.
> > > > > 
> > > > > Signed-off-by: Erik Faye-Lund <
> > erik.faye-l...@collabora.com
> > > > > >
> > > > > ---
> > > > >  src/mesa/main/glformats.c | 8 +++-
> > > > >  1 file changed, 3 insertions(+), 5 deletions(-)
> > > > > 
> > > > > diff --git a/src/mesa/main/glformats.c
> > > > b/src/mesa/main/glformats.c
> > > > > index 9a507d11b96..b2c18aa6d94 100644
> > > > > --- a/src/mesa/main/glformats.c
> > > > > +++ b/src/mesa/main/glformats.c
> > > > > @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const
> > struct
> > > > > gl_context *ctx, GLenum format)
> > > > > case GL_RGB4_S3TC:
> > > > > case GL_RGBA_S3TC:
> > > > > case GL_RGBA4_S3TC:
> > > > > -  return _mesa_is_desktop_gl(ctx) &&
> > > > > - ctx->Extensions.ANGLE_texture_compression_dxt;
> > > > > +  return _mesa_has_S3_s3tc(ctx);
> > > > > case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> > > > >return ctx->API == API_OPENGL_COMPAT
> > > > >   && ctx->Extensions.ATI_texture_compression_3dc;
> > > > > @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const
> > struct
> > > > > gl_context *ctx, GLenum format)
> > > > >*/
> > > > >   return ctx-
> > > > >Extensions.ANGLE_texture_compression_dxt;
> > > > >} else {
> > > > > - return _mesa_is_desktop_gl(ctx)
> > > > > -&& ctx->Extensions.EXT_texture_sRGB
> > > > > -&& ctx-
> > >Extensions.EXT_texture_compression_s3tc;
> > > > > + return _mesa_has_EXT_texture_sRGB(ctx) &&
> > > > > +_mesa_has_S3_s3tc(ctx);
> > > > > 
> > > > > This looks like it should be
> > > > _mesa_has_EXT_texture_compression_s3tc.
> > > > 
> > > > I haven't looked at the code to verify, but I think
> > > > _mesa_has_EXT_texture_compression_s3tc can be true in OpenGL
> > ES,
> > > > but
> > > > _mesa_has_S3_s3tc cannot.  The original code has
> > > > _mesa_is_desktop_gl, so
> > > > we don't want to allow ES.  But I also thought
> > _mesa_has_S3_s3tc
> > > > wasn't
> > > > allowed in core profile, so that might not be right either?
> > > 
> > > They are all allowed by core & compat. EXT_texture_sRGB is only
> > > available in desktop GL, so any s3tc extension should work, but
> > > EXT_texture_sRGB defines interactions with
> > > EXT_texture_compression_s3tc, not S3_s3tc.
> > > 
> > 
> > Hmm, good catch! I've fixed this up locally, and amended the commit
> > message to point this out:
> > 
> > ---8<---
> > commit f86fc25d5ad8afb434f14d07ccf78598e40ec700
> > Author: Erik Faye-Lund 
> > Date:   Thu Nov 15 16:01:49 2018 +0100
> > 
> > mesa/main: clean up S3_s3tc check
> > 
> > S3_s3tc is the extension that enables this functionality on
> > desktop, so
> > let's check for that one. The _mesa_has_S3_s3tc() helper
> > already
> > verifies the API according to the extension-table.
> > 
> > As for the second hunk, we currently already only expose
> > EXT_texture_compression_s3tc on desktop so by using the helper
> > instead,
> > we get rid of this detail here, and once we enable it for GLES
> > we'll
> > automaticall get the interaction right.
> > 
> > Signed-off-by: Erik Faye-Lund 
> > 
> > diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> > index 9a507d11b96..a4db1ed16d4 100644
> > --- a/src/mesa/main/glformats.c
> > +++ b/src/mesa/main/glformats.c
> > @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> > gl_context *ctx, GLenum format)
> > case GL_RGB4_S3TC:
> > case GL_RGBA_S3TC:
> > case GL_RGBA4_S3TC:
> > -  return _mesa_is_desktop_gl(ctx) &&
> > - ctx->Extensions.ANGLE_texture_compression_dxt;
> > +  return _mesa_has_S3_s3tc(ctx);
> > case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> >return ctx->API == API_OPENGL_COMPAT
> >   && ctx->Extensions.ATI_texture_compression_3dc;
> > @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> > gl_context *ctx, GLenum format)
> >*/
> >   return ctx->Extensions.ANGLE_texture_compression_dxt;
> >} 

Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-12-03 Thread Marek Olšák
Looks good. Feel free to push this.

Marek

On Mon, Dec 3, 2018 at 5:05 AM Erik Faye-Lund 
wrote:

> On Fri, 2018-11-30 at 18:15 -0500, Marek Olšák wrote:
> > On Fri, Nov 30, 2018 at 5:57 PM Ian Romanick 
> > wrote:
> > > On 11/30/2018 02:17 PM, Marek Olšák wrote:
> > > >
> > > >
> > > > On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> > > >  > > erik.faye-l...@collabora.com>> wrote:
> > > >
> > > > S3_s3tc is the extension that enables this functionality on
> > > desktop, so
> > > > let's check for that one. The _mesa_has_S3_s3tc() helper
> > > already
> > > > verifies the API according to the extension-table.
> > > >
> > > > Signed-off-by: Erik Faye-Lund  > > > >
> > > > ---
> > > >  src/mesa/main/glformats.c | 8 +++-
> > > >  1 file changed, 3 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/src/mesa/main/glformats.c
> > > b/src/mesa/main/glformats.c
> > > > index 9a507d11b96..b2c18aa6d94 100644
> > > > --- a/src/mesa/main/glformats.c
> > > > +++ b/src/mesa/main/glformats.c
> > > > @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> > > > gl_context *ctx, GLenum format)
> > > > case GL_RGB4_S3TC:
> > > > case GL_RGBA_S3TC:
> > > > case GL_RGBA4_S3TC:
> > > > -  return _mesa_is_desktop_gl(ctx) &&
> > > > - ctx->Extensions.ANGLE_texture_compression_dxt;
> > > > +  return _mesa_has_S3_s3tc(ctx);
> > > > case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> > > >return ctx->API == API_OPENGL_COMPAT
> > > >   && ctx->Extensions.ATI_texture_compression_3dc;
> > > > @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> > > > gl_context *ctx, GLenum format)
> > > >*/
> > > >   return ctx-
> > > >Extensions.ANGLE_texture_compression_dxt;
> > > >} else {
> > > > - return _mesa_is_desktop_gl(ctx)
> > > > -&& ctx->Extensions.EXT_texture_sRGB
> > > > -&& ctx->Extensions.EXT_texture_compression_s3tc;
> > > > + return _mesa_has_EXT_texture_sRGB(ctx) &&
> > > > +_mesa_has_S3_s3tc(ctx);
> > > >
> > > > This looks like it should be
> > > _mesa_has_EXT_texture_compression_s3tc.
> > >
> > > I haven't looked at the code to verify, but I think
> > > _mesa_has_EXT_texture_compression_s3tc can be true in OpenGL ES,
> > > but
> > > _mesa_has_S3_s3tc cannot.  The original code has
> > > _mesa_is_desktop_gl, so
> > > we don't want to allow ES.  But I also thought _mesa_has_S3_s3tc
> > > wasn't
> > > allowed in core profile, so that might not be right either?
> >
> > They are all allowed by core & compat. EXT_texture_sRGB is only
> > available in desktop GL, so any s3tc extension should work, but
> > EXT_texture_sRGB defines interactions with
> > EXT_texture_compression_s3tc, not S3_s3tc.
> >
>
> Hmm, good catch! I've fixed this up locally, and amended the commit
> message to point this out:
>
> ---8<---
> commit f86fc25d5ad8afb434f14d07ccf78598e40ec700
> Author: Erik Faye-Lund 
> Date:   Thu Nov 15 16:01:49 2018 +0100
>
> mesa/main: clean up S3_s3tc check
>
> S3_s3tc is the extension that enables this functionality on
> desktop, so
> let's check for that one. The _mesa_has_S3_s3tc() helper already
> verifies the API according to the extension-table.
>
> As for the second hunk, we currently already only expose
> EXT_texture_compression_s3tc on desktop so by using the helper
> instead,
> we get rid of this detail here, and once we enable it for GLES
> we'll
> automaticall get the interaction right.
>
> Signed-off-by: Erik Faye-Lund 
>
> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> index 9a507d11b96..a4db1ed16d4 100644
> --- a/src/mesa/main/glformats.c
> +++ b/src/mesa/main/glformats.c
> @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> gl_context *ctx, GLenum format)
> case GL_RGB4_S3TC:
> case GL_RGBA_S3TC:
> case GL_RGBA4_S3TC:
> -  return _mesa_is_desktop_gl(ctx) &&
> - ctx->Extensions.ANGLE_texture_compression_dxt;
> +  return _mesa_has_S3_s3tc(ctx);
> case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
>return ctx->API == API_OPENGL_COMPAT
>   && ctx->Extensions.ATI_texture_compression_3dc;
> @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> gl_context *ctx, GLenum format)
>*/
>   return ctx->Extensions.ANGLE_texture_compression_dxt;
>} else {
> - return _mesa_is_desktop_gl(ctx)
> -&& ctx->Extensions.EXT_texture_sRGB
> -&& ctx->Extensions.EXT_texture_compression_s3tc;
> + return _mesa_has_EXT_texture_sRGB(ctx) &&
> +_mesa_has_EXT_texture_compression_s3tc(ctx);
>}
> case MESA_FORMAT_LAYOUT_FXT1:
>return _mesa_is_desktop_gl(ctx)
> ---8<---
>
>

Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-12-03 Thread Erik Faye-Lund
On Fri, 2018-11-30 at 18:15 -0500, Marek Olšák wrote:
> On Fri, Nov 30, 2018 at 5:57 PM Ian Romanick 
> wrote:
> > On 11/30/2018 02:17 PM, Marek Olšák wrote:
> > > 
> > > 
> > > On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> > >  > erik.faye-l...@collabora.com>> wrote:
> > > 
> > > S3_s3tc is the extension that enables this functionality on
> > desktop, so
> > > let's check for that one. The _mesa_has_S3_s3tc() helper
> > already
> > > verifies the API according to the extension-table.
> > > 
> > > Signed-off-by: Erik Faye-Lund  > > >
> > > ---
> > >  src/mesa/main/glformats.c | 8 +++-
> > >  1 file changed, 3 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/src/mesa/main/glformats.c
> > b/src/mesa/main/glformats.c
> > > index 9a507d11b96..b2c18aa6d94 100644
> > > --- a/src/mesa/main/glformats.c
> > > +++ b/src/mesa/main/glformats.c
> > > @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> > > gl_context *ctx, GLenum format)
> > > case GL_RGB4_S3TC:
> > > case GL_RGBA_S3TC:
> > > case GL_RGBA4_S3TC:
> > > -  return _mesa_is_desktop_gl(ctx) &&
> > > - ctx->Extensions.ANGLE_texture_compression_dxt;
> > > +  return _mesa_has_S3_s3tc(ctx);
> > > case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> > >return ctx->API == API_OPENGL_COMPAT
> > >   && ctx->Extensions.ATI_texture_compression_3dc;
> > > @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> > > gl_context *ctx, GLenum format)
> > >*/
> > >   return ctx-
> > >Extensions.ANGLE_texture_compression_dxt;
> > >} else {
> > > - return _mesa_is_desktop_gl(ctx)
> > > -&& ctx->Extensions.EXT_texture_sRGB
> > > -&& ctx->Extensions.EXT_texture_compression_s3tc;
> > > + return _mesa_has_EXT_texture_sRGB(ctx) &&
> > > +_mesa_has_S3_s3tc(ctx);
> > > 
> > > This looks like it should be
> > _mesa_has_EXT_texture_compression_s3tc.
> > 
> > I haven't looked at the code to verify, but I think
> > _mesa_has_EXT_texture_compression_s3tc can be true in OpenGL ES,
> > but
> > _mesa_has_S3_s3tc cannot.  The original code has
> > _mesa_is_desktop_gl, so
> > we don't want to allow ES.  But I also thought _mesa_has_S3_s3tc
> > wasn't
> > allowed in core profile, so that might not be right either?
> 
> They are all allowed by core & compat. EXT_texture_sRGB is only
> available in desktop GL, so any s3tc extension should work, but
> EXT_texture_sRGB defines interactions with
> EXT_texture_compression_s3tc, not S3_s3tc.
> 

Hmm, good catch! I've fixed this up locally, and amended the commit
message to point this out:

---8<---
commit f86fc25d5ad8afb434f14d07ccf78598e40ec700
Author: Erik Faye-Lund 
Date:   Thu Nov 15 16:01:49 2018 +0100

mesa/main: clean up S3_s3tc check

S3_s3tc is the extension that enables this functionality on
desktop, so
let's check for that one. The _mesa_has_S3_s3tc() helper already
verifies the API according to the extension-table.

As for the second hunk, we currently already only expose
EXT_texture_compression_s3tc on desktop so by using the helper
instead,
we get rid of this detail here, and once we enable it for GLES
we'll
automaticall get the interaction right.

Signed-off-by: Erik Faye-Lund 

diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index 9a507d11b96..a4db1ed16d4 100644
--- a/src/mesa/main/glformats.c
+++ b/src/mesa/main/glformats.c
@@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
gl_context *ctx, GLenum format)
case GL_RGB4_S3TC:
case GL_RGBA_S3TC:
case GL_RGBA4_S3TC:
-  return _mesa_is_desktop_gl(ctx) &&
- ctx->Extensions.ANGLE_texture_compression_dxt;
+  return _mesa_has_S3_s3tc(ctx);
case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
   return ctx->API == API_OPENGL_COMPAT
  && ctx->Extensions.ATI_texture_compression_3dc;
@@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
gl_context *ctx, GLenum format)
   */
  return ctx->Extensions.ANGLE_texture_compression_dxt;
   } else {
- return _mesa_is_desktop_gl(ctx)
-&& ctx->Extensions.EXT_texture_sRGB
-&& ctx->Extensions.EXT_texture_compression_s3tc;
+ return _mesa_has_EXT_texture_sRGB(ctx) &&
+_mesa_has_EXT_texture_compression_s3tc(ctx);
   }
case MESA_FORMAT_LAYOUT_FXT1:
   return _mesa_is_desktop_gl(ctx)
---8<---

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-11-30 Thread Ian Romanick
On 11/30/2018 03:15 PM, Marek Olšák wrote:
> On Fri, Nov 30, 2018 at 5:57 PM Ian Romanick  > wrote:
> 
> On 11/30/2018 02:17 PM, Marek Olšák wrote:
> >
> >
> > On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> >  
>  >> wrote:
> >
> >     S3_s3tc is the extension that enables this functionality on
> desktop, so
> >     let's check for that one. The _mesa_has_S3_s3tc() helper already
> >     verifies the API according to the extension-table.
> >
> >     Signed-off-by: Erik Faye-Lund  
> >      >>
> >     ---
> >      src/mesa/main/glformats.c | 8 +++-
> >      1 file changed, 3 insertions(+), 5 deletions(-)
> >
> >     diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> >     index 9a507d11b96..b2c18aa6d94 100644
> >     --- a/src/mesa/main/glformats.c
> >     +++ b/src/mesa/main/glformats.c
> >     @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> >     gl_context *ctx, GLenum format)
> >         case GL_RGB4_S3TC:
> >         case GL_RGBA_S3TC:
> >         case GL_RGBA4_S3TC:
> >     -      return _mesa_is_desktop_gl(ctx) &&
> >     -         ctx->Extensions.ANGLE_texture_compression_dxt;
> >     +      return _mesa_has_S3_s3tc(ctx);
> >         case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> >            return ctx->API == API_OPENGL_COMPAT
> >               && ctx->Extensions.ATI_texture_compression_3dc;
> >     @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> >     gl_context *ctx, GLenum format)
> >                */
> >               return ctx->Extensions.ANGLE_texture_compression_dxt;
> >            } else {
> >     -         return _mesa_is_desktop_gl(ctx)
> >     -            && ctx->Extensions.EXT_texture_sRGB
> >     -            && ctx->Extensions.EXT_texture_compression_s3tc;
> >     +         return _mesa_has_EXT_texture_sRGB(ctx) &&
> >     +            _mesa_has_S3_s3tc(ctx);
> >
> > This looks like it should be _mesa_has_EXT_texture_compression_s3tc.
> 
> I haven't looked at the code to verify, but I think
> _mesa_has_EXT_texture_compression_s3tc can be true in OpenGL ES, but
> _mesa_has_S3_s3tc cannot.  The original code has _mesa_is_desktop_gl, so
> we don't want to allow ES.  But I also thought _mesa_has_S3_s3tc wasn't
> allowed in core profile, so that might not be right either?
> 
> 
> They are all allowed by core & compat. EXT_texture_sRGB is only
> available in desktop GL, so any s3tc extension should work, but
> EXT_texture_sRGB defines interactions with EXT_texture_compression_s3tc,
> not S3_s3tc.

Ah.  That makes sense.

> Marek

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-11-30 Thread Marek Olšák
On Fri, Nov 30, 2018 at 5:57 PM Ian Romanick  wrote:

> On 11/30/2018 02:17 PM, Marek Olšák wrote:
> >
> >
> > On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> > mailto:erik.faye-l...@collabora.com>>
> wrote:
> >
> > S3_s3tc is the extension that enables this functionality on desktop,
> so
> > let's check for that one. The _mesa_has_S3_s3tc() helper already
> > verifies the API according to the extension-table.
> >
> > Signed-off-by: Erik Faye-Lund  > >
> > ---
> >  src/mesa/main/glformats.c | 8 +++-
> >  1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> > index 9a507d11b96..b2c18aa6d94 100644
> > --- a/src/mesa/main/glformats.c
> > +++ b/src/mesa/main/glformats.c
> > @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> > gl_context *ctx, GLenum format)
> > case GL_RGB4_S3TC:
> > case GL_RGBA_S3TC:
> > case GL_RGBA4_S3TC:
> > -  return _mesa_is_desktop_gl(ctx) &&
> > - ctx->Extensions.ANGLE_texture_compression_dxt;
> > +  return _mesa_has_S3_s3tc(ctx);
> > case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
> >return ctx->API == API_OPENGL_COMPAT
> >   && ctx->Extensions.ATI_texture_compression_3dc;
> > @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> > gl_context *ctx, GLenum format)
> >*/
> >   return ctx->Extensions.ANGLE_texture_compression_dxt;
> >} else {
> > - return _mesa_is_desktop_gl(ctx)
> > -&& ctx->Extensions.EXT_texture_sRGB
> > -&& ctx->Extensions.EXT_texture_compression_s3tc;
> > + return _mesa_has_EXT_texture_sRGB(ctx) &&
> > +_mesa_has_S3_s3tc(ctx);
> >
> > This looks like it should be _mesa_has_EXT_texture_compression_s3tc.
>
> I haven't looked at the code to verify, but I think
> _mesa_has_EXT_texture_compression_s3tc can be true in OpenGL ES, but
> _mesa_has_S3_s3tc cannot.  The original code has _mesa_is_desktop_gl, so
> we don't want to allow ES.  But I also thought _mesa_has_S3_s3tc wasn't
> allowed in core profile, so that might not be right either?
>

They are all allowed by core & compat. EXT_texture_sRGB is only available
in desktop GL, so any s3tc extension should work, but EXT_texture_sRGB
defines interactions with EXT_texture_compression_s3tc, not S3_s3tc.

Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-11-30 Thread Ian Romanick
On 11/30/2018 02:17 PM, Marek Olšák wrote:
> 
> 
> On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund
> mailto:erik.faye-l...@collabora.com>> wrote:
> 
> S3_s3tc is the extension that enables this functionality on desktop, so
> let's check for that one. The _mesa_has_S3_s3tc() helper already
> verifies the API according to the extension-table.
> 
> Signed-off-by: Erik Faye-Lund  >
> ---
>  src/mesa/main/glformats.c | 8 +++-
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> index 9a507d11b96..b2c18aa6d94 100644
> --- a/src/mesa/main/glformats.c
> +++ b/src/mesa/main/glformats.c
> @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct
> gl_context *ctx, GLenum format)
>     case GL_RGB4_S3TC:
>     case GL_RGBA_S3TC:
>     case GL_RGBA4_S3TC:
> -      return _mesa_is_desktop_gl(ctx) &&
> -         ctx->Extensions.ANGLE_texture_compression_dxt;
> +      return _mesa_has_S3_s3tc(ctx);
>     case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
>        return ctx->API == API_OPENGL_COMPAT
>           && ctx->Extensions.ATI_texture_compression_3dc;
> @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct
> gl_context *ctx, GLenum format)
>            */
>           return ctx->Extensions.ANGLE_texture_compression_dxt;
>        } else {
> -         return _mesa_is_desktop_gl(ctx)
> -            && ctx->Extensions.EXT_texture_sRGB
> -            && ctx->Extensions.EXT_texture_compression_s3tc;
> +         return _mesa_has_EXT_texture_sRGB(ctx) &&
> +            _mesa_has_S3_s3tc(ctx);
> 
> This looks like it should be _mesa_has_EXT_texture_compression_s3tc.

I haven't looked at the code to verify, but I think
_mesa_has_EXT_texture_compression_s3tc can be true in OpenGL ES, but
_mesa_has_S3_s3tc cannot.  The original code has _mesa_is_desktop_gl, so
we don't want to allow ES.  But I also thought _mesa_has_S3_s3tc wasn't
allowed in core profile, so that might not be right either?

> Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 03/29] mesa/main: clean up S3_s3tc check

2018-11-30 Thread Marek Olšák
On Fri, Nov 23, 2018 at 5:54 AM Erik Faye-Lund 
wrote:

> S3_s3tc is the extension that enables this functionality on desktop, so
> let's check for that one. The _mesa_has_S3_s3tc() helper already
> verifies the API according to the extension-table.
>
> Signed-off-by: Erik Faye-Lund 
> ---
>  src/mesa/main/glformats.c | 8 +++-
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
> index 9a507d11b96..b2c18aa6d94 100644
> --- a/src/mesa/main/glformats.c
> +++ b/src/mesa/main/glformats.c
> @@ -1352,8 +1352,7 @@ _mesa_is_compressed_format(const struct gl_context
> *ctx, GLenum format)
> case GL_RGB4_S3TC:
> case GL_RGBA_S3TC:
> case GL_RGBA4_S3TC:
> -  return _mesa_is_desktop_gl(ctx) &&
> - ctx->Extensions.ANGLE_texture_compression_dxt;
> +  return _mesa_has_S3_s3tc(ctx);
> case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI:
>return ctx->API == API_OPENGL_COMPAT
>   && ctx->Extensions.ATI_texture_compression_3dc;
> @@ -1378,9 +1377,8 @@ _mesa_is_compressed_format(const struct gl_context
> *ctx, GLenum format)
>*/
>   return ctx->Extensions.ANGLE_texture_compression_dxt;
>} else {
> - return _mesa_is_desktop_gl(ctx)
> -&& ctx->Extensions.EXT_texture_sRGB
> -&& ctx->Extensions.EXT_texture_compression_s3tc;
> + return _mesa_has_EXT_texture_sRGB(ctx) &&
> +_mesa_has_S3_s3tc(ctx);
>

This looks like it should be _mesa_has_EXT_texture_compression_s3tc.

Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev