[Mesa-dev] [PATCH] mesa: Don't advertise GL_OES_read_format in core profile

Kenneth Graunke kenneth at whitecape.org
Tue Jan 24 07:12:02 UTC 2017


On Monday, January 23, 2017 11:23:13 AM PST Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> OpenGL ES implementations are not allowed to ship ARB extensions, and
> OpenGL implementations are not allowed to ship OES extensions.
> 
> The functionality is also included in GL_ARB_ES2_compatibility.  Ever
> OpenGL core-profile driver currently exposes both extensions.  I don't
> know of any applications that explicitly check for GL_OES_read_format,
> so removing it seems very unlikely to cause problems.  No functionality
> is removed.
> 
> I have left this extension in place for compatibility profile.  There
> are still OpenGL 1.x drivers in Mesa, and adding code to check for
> compatibility profile and not GL_ARB_ES2_compatibility for
> GL_IMPLEMENTATION_COLOR_READ_TYPE and GL_IMPLEMENTATION_COLOR_READ_FORMAT
> just feels dumb.
> 
> Three other other alternatives considered:
> 
>  - Remove the string from compatibility profile drivers but leave the
>    functionality in place.
> 
>  - Add a flag to expose the extension string, and set it in every OpenGL
>    driver that does not expose GL_ARB_ES2_compatibility (and those
>    drivers only).  I tried this.  You can't have two instances of an
>    extension in the extension table (one dummy_true for ES1 and one with
>    a flag for compatibility profile), so the implementation requires a
>    bit of effort.
> 
>  - Only expose the extension in compatibility if the version is less
>    than 2.0.  I didn't see an easy way to do this.
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: mesa-stable at lists.freedesktop.org
> ---
>  src/mesa/main/extensions_table.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
> index 91918c2..b12a9af 100644
> --- a/src/mesa/main/extensions_table.h
> +++ b/src/mesa/main/extensions_table.h
> @@ -364,7 +364,7 @@ EXT(OES_point_size_array                    , dummy_true
>  EXT(OES_point_sprite                        , ARB_point_sprite                       ,  x ,  x , ES1,  x , 2004)
>  EXT(OES_primitive_bounding_box              , OES_primitive_bounding_box             ,  x ,  x ,  x ,  31, 2014)
>  EXT(OES_query_matrix                        , dummy_true                             ,  x ,  x , ES1,  x , 2003)
> -EXT(OES_read_format                         , dummy_true                             , GLL, GLC, ES1,  x , 2003)
> +EXT(OES_read_format                         , dummy_true                             , GLL,  x , ES1,  x , 2003)
>  EXT(OES_rgb8_rgba8                          , dummy_true                             ,  x ,  x , ES1, ES2, 2005)
>  EXT(OES_sample_shading                      , OES_sample_variables                   ,  x ,  x ,  x ,  30, 2014)
>  EXT(OES_sample_variables                    , OES_sample_variables                   ,  x ,  x ,  x ,  30, 2014)
> 

Thanks for doing this, Ian.  Seems like a good start - we probably ought
to drop it for legacy GL as well...but I agree that adding extra checks
seems dumb.  And there's no conformance for that...so...*shrug*.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170123/f280fac9/attachment.sig>


More information about the mesa-dev mailing list