[Mesa-dev] [PATCH] mesa: Enable EXT_compressed_ETC1_RGB8_sub_texture

Manolova, Plamena plamena.manolova at intel.com
Mon Jan 23 14:31:09 UTC 2017


Thank you for reviewing guys! AFAIK this extension is a driver-side feature
and can be enabled for all drivers that support ETC1. I'll go ahead and
update my patch.

On Fri, Jan 20, 2017 at 6:25 PM, Jason Ekstrand <jason at jlekstrand.net>
wrote:

> On Fri, Jan 20, 2017 at 10:16 AM, Ilia Mirkin <imirkin at alum.mit.edu>
> wrote:
>
>> What level of support would a driver need to provide? Can this just be
>> enabled for all drivers? [This seems like largely a driver-side
>> feature rather than hardware-based.]
>>
>
> My understanding is that we should just expose this extension on all
> hardware that supports ETC1.  Obviously, if it doesn't support ETC1, you
> don't get this extension. :-)
>
>
>> On Fri, Jan 20, 2017 at 1:12 PM, Plamena Manolova
>> <plamena.manolova at intel.com> wrote:
>> > Since we already have the functionality in place and games
>> > like Game of Thrones seem to depend on this extension, I
>> > think it makes sense to enable it by making it part of
>> > the extension string even though its still a draft:
>> >
>> > https://www.khronos.org/registry/gles/extensions/EXT/EXT_
>> compressed_ETC1_RGB8_sub_texture.txt
>> >
>> > Note: OES_compressed_ETC1_RGB8_sub_texture seems to be listed
>> > in gl2ext.h, but there's no documentation for it in the KHR
>> > registry
>> >
>> > Signed-off-by: Plamena Manolova <plamena.manolova at intel.com>
>> > ---
>> >  src/mesa/drivers/dri/i965/intel_extensions.c | 1 +
>> >  src/mesa/main/extensions_table.h             | 1 +
>> >  src/mesa/main/mtypes.h                       | 1 +
>> >  src/mesa/main/teximage.c                     | 5 +++++
>> >  4 files changed, 8 insertions(+)
>> >
>> > diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c
>> b/src/mesa/drivers/dri/i965/intel_extensions.c
>> > index b674b2f..bdf2fa5 100644
>> > --- a/src/mesa/drivers/dri/i965/intel_extensions.c
>> > +++ b/src/mesa/drivers/dri/i965/intel_extensions.c
>> > @@ -93,6 +93,7 @@ intelInitExtensions(struct gl_context *ctx)
>> >     ctx->Extensions.EXT_blend_equation_separate = true;
>> >     ctx->Extensions.EXT_blend_func_separate = true;
>> >     ctx->Extensions.EXT_blend_minmax = true;
>> > +   ctx->Extensions.EXT_compressed_ETC1_RGB8_sub_texture = true;
>> >     ctx->Extensions.EXT_draw_buffers2 = true;
>> >     ctx->Extensions.EXT_framebuffer_sRGB = true;
>> >     ctx->Extensions.EXT_gpu_program_parameters = true;
>> > diff --git a/src/mesa/main/extensions_table.h
>> b/src/mesa/main/extensions_table.h
>> > index 2de3c59..8b52a97 100644
>> > --- a/src/mesa/main/extensions_table.h
>> > +++ b/src/mesa/main/extensions_table.h
>> > @@ -198,6 +198,7 @@ EXT(EXT_buffer_storage                      ,
>> ARB_buffer_storage
>> >  EXT(EXT_clip_cull_distance                  , ARB_cull_distance
>>               ,  x ,  x ,  x ,  30, 2016)
>> >  EXT(EXT_color_buffer_float                  , dummy_true
>>                ,  x ,  x ,  x ,  30, 2013)
>> >  EXT(EXT_compiled_vertex_array               , dummy_true
>>                , GLL,  x ,  x ,  x , 1996)
>> > +EXT(EXT_compressed_ETC1_RGB8_sub_texture    ,
>> EXT_compressed_ETC1_RGB8_sub_texture   ,  x ,  x , ES1, ES2, 2014)
>> >  EXT(EXT_copy_image                          , OES_copy_image
>>                ,  x ,  x ,  x ,  30, 2014)
>> >  EXT(EXT_copy_texture                        , dummy_true
>>                , GLL,  x ,  x ,  x , 1995)
>> >  EXT(EXT_depth_bounds_test                   , EXT_depth_bounds_test
>>               , GLL, GLC,  x ,  x , 2002)
>> > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
>> > index f04ec51..719e248 100644
>> > --- a/src/mesa/main/mtypes.h
>> > +++ b/src/mesa/main/mtypes.h
>> > @@ -3948,6 +3948,7 @@ struct gl_extensions
>> >     GLboolean EXT_timer_query;
>> >     GLboolean EXT_vertex_array_bgra;
>> >     GLboolean EXT_window_rectangles;
>> > +   GLboolean EXT_compressed_ETC1_RGB8_sub_texture;
>> >     GLboolean OES_copy_image;
>> >     GLboolean OES_primitive_bounding_box;
>> >     GLboolean OES_sample_variables;
>> > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>> > index bc3b76a..14fe4db 100644
>> > --- a/src/mesa/main/teximage.c
>> > +++ b/src/mesa/main/teximage.c
>> > @@ -1323,6 +1323,11 @@ compressedteximage_only_format(const struct
>> gl_context *ctx, GLenum format)
>> >  {
>> >     switch (format) {
>> >     case GL_ETC1_RGB8_OES:
>> > +      if (ctx->Extensions.EXT_compressed_ETC1_RGB8_sub_texture)
>> > +         return false;
>> > +      else
>> > +         return true;
>> > +      break;
>> >     case GL_PALETTE4_RGB8_OES:
>> >     case GL_PALETTE4_RGBA8_OES:
>> >     case GL_PALETTE4_R5_G6_B5_OES:
>> > --
>> > 2.4.3
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170123/a290a99a/attachment-0001.html>


More information about the mesa-dev mailing list