<div dir="ltr"><br><div class="gmail_extra"><br><div>On Tue, Oct 20, 2015 at 8:45 AM, Marek Olšák <span dir="ltr"><<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">NAK. I'd like this extension in compatibility contexts. The fact the<br>
spec requires OpenGL 3.3 was just authors' laziness.<br>
<br></blockquote><div><br>If it's the right thing to do, I can allow all versions of GL compatibility by<br>simply replacing '33' with 'GLL' in a v2. I'll try to nail down what the<br></div><div>actual minimum version required is. <br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Generally, when a spec requires 3.3, we should allow 3.0 at least,<br>
because Mesa doesn't support 3.3 compatibility contexts.<br> 
<br></blockquote><div><br></div><div>I will keep this in mind.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Unless you have a very good _technical_ reason not to support this<br>
extension, it should be supported by all versions. This applies to<br>
other such patches as well.<br>
<br></blockquote><div> </div>GL  3.3 may have introduced a new feature on which this extension is dependent.<br>If this feature is not contained within any other extension and our context version<br>is less than 3.3, we may not be able to actually implement the extension spec as<br>described. I will try to see if this is the case. I agree that technical roadblocks should be the<br>only things which prevent us from advertising certain extensions.<br><br></div><div>Thanks,<br></div><div>Nanley<br></div><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Marek<br>
<div><div><br>
On Tue, Oct 20, 2015 at 12:44 AM, Nanley Chery <<a href="mailto:nanleychery@gmail.com" target="_blank">nanleychery@gmail.com</a>> wrote:<br>
> From: Nanley Chery <<a href="mailto:nanley.g.chery@intel.com" target="_blank">nanley.g.chery@intel.com</a>><br>
><br>
> Stop leaks into GLES1/2 and pre-3.3 GL contexts in all uses.<br>
><br>
> The extension spec lists OpenGL 3.3 as one of the requirements, so<br>
> update the extension table accordingly.<br>
><br>
> v2. Require 3.3 for GL legacy contexts as well (Chad).<br>
><br>
> Signed-off-by: Nanley Chery <<a href="mailto:nanley.g.chery@intel.com" target="_blank">nanley.g.chery@intel.com</a>><br>
> ---<br>
>  src/mesa/main/enable.c           | 4 ++--<br>
>  src/mesa/main/extensions_table.h | 2 +-<br>
>  src/mesa/main/glformats.c        | 2 +-<br>
>  src/mesa/main/queryobj.c         | 2 +-<br>
>  4 files changed, 5 insertions(+), 5 deletions(-)<br>
><br>
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c<br>
> index 42f6799..ee95334 100644<br>
> --- a/src/mesa/main/enable.c<br>
> +++ b/src/mesa/main/enable.c<br>
> @@ -972,7 +972,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)<br>
>           break;<br>
><br>
>        case GL_PRIMITIVE_RESTART_FIXED_INDEX:<br>
> -        if (!_mesa_is_gles3(ctx) && !ctx->Extensions.ARB_ES3_compatibility)<br>
> +        if (!_mesa_is_gles3(ctx) && !_mesa_has_ARB_ES3_compatibility(ctx))<br>
>              goto invalid_enum_error;<br>
>           if (ctx->Array.PrimitiveRestartFixedIndex != state) {<br>
>              FLUSH_VERTICES(ctx, _NEW_TRANSFORM);<br>
> @@ -1582,7 +1582,7 @@ _mesa_IsEnabled( GLenum cap )<br>
>           return ctx->Array.PrimitiveRestart;<br>
><br>
>        case GL_PRIMITIVE_RESTART_FIXED_INDEX:<br>
> -        if (!_mesa_is_gles3(ctx) && !ctx->Extensions.ARB_ES3_compatibility) {<br>
> +        if (!_mesa_is_gles3(ctx) && !_mesa_has_ARB_ES3_compatibility(ctx)) {<br>
>              goto invalid_enum_error;<br>
>           }<br>
>           return ctx->Array.PrimitiveRestartFixedIndex;<br>
> diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h<br>
> index 62e0804..760fbe9 100644<br>
> --- a/src/mesa/main/extensions_table.h<br>
> +++ b/src/mesa/main/extensions_table.h<br>
> @@ -4,7 +4,7 @@<br>
>  #define ES2 1u<br>
>  #define  x ~0u<br>
>  EXT(ARB_ES2_compatibility                   , ARB_ES2_compatibility                  , GLL, GLC,  x ,  x , 2009)<br>
> -EXT(ARB_ES3_compatibility                   , ARB_ES3_compatibility                  , GLL, GLC,  x ,  x , 2012)<br>
> +EXT(ARB_ES3_compatibility                   , ARB_ES3_compatibility                  ,  33,  33,  x ,  x , 2012)<br>
>  EXT(ARB_arrays_of_arrays                    , ARB_arrays_of_arrays                   , GLL, GLC,  x ,  x , 2012)<br>
>  EXT(ARB_base_instance                       , ARB_base_instance                      , GLL, GLC,  x ,  x , 2011)<br>
>  EXT(ARB_blend_func_extended                 , ARB_blend_func_extended                , GLL, GLC,  x ,  x , 2009)<br>
> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c<br>
> index 542dcfc..6b602d8 100644<br>
> --- a/src/mesa/main/glformats.c<br>
> +++ b/src/mesa/main/glformats.c<br>
> @@ -1325,7 +1325,7 @@ _mesa_is_compressed_format(const struct gl_context *ctx, GLenum format)<br>
>        return _mesa_is_gles(ctx)<br>
>           && ctx->Extensions.OES_compressed_ETC1_RGB8_texture;<br>
>     case MESA_FORMAT_LAYOUT_ETC2:<br>
> -      return _mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility;<br>
> +      return _mesa_is_gles3(ctx) || _mesa_has_ARB_ES3_compatibility(ctx);<br>
>     case MESA_FORMAT_LAYOUT_BPTC:<br>
>        return _mesa_has_ARB_texture_compression_bptc(ctx);<br>
>     case MESA_FORMAT_LAYOUT_ASTC:<br>
> diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c<br>
> index 9836685..48fd571 100644<br>
> --- a/src/mesa/main/queryobj.c<br>
> +++ b/src/mesa/main/queryobj.c<br>
> @@ -176,7 +176,7 @@ get_query_binding_point(struct gl_context *ctx, GLenum target, GLuint index)<br>
>        else<br>
>           return NULL;<br>
>     case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:<br>
> -      if (ctx->Extensions.ARB_ES3_compatibility<br>
> +      if (_mesa_has_ARB_ES3_compatibility(ctx)<br>
>            || (ctx->API == API_OPENGLES2 && ctx->Version >= 30))<br>
>           return &ctx->Query.CurrentOcclusionObject;<br>
>        else<br>
> --<br>
> 2.6.1<br>
><br>
</div></div>> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div></div>