[Mesa-dev] [PATCH 0/8] i965: improved the support for ETC2 formats on Gen 7

Eleni Maria Stea estea at igalia.com
Mon Nov 19 08:54:04 UTC 2018


Intel Gen7 GPUs don't have native support for ETC2 formats. We store the
ETC2 images as RGBA in order to render them. This is a problem for
GetCompressed* functions that should return compressed pixel values but
return instead RGBA.

With these patches, we store the compressed image data in the main image
mipmap tree and we use a secondary mipmap tree to store the RGBA values
for the rendering. We perform a lazy update every time that the main
miptree changes.

Fix: KHR-GL46.direct_state_access.textures_compressed_subimage

Eleni Maria Stea (8):
  i965: Removed assertions from intel_miptree_map_etc
  i965: r8stencil_mt/needs_update renamed to shadow_mt/needs_update
  i965: Faking the ETC2 compression on Gen < 8 GPUs using two miptrees.
  i965: Update the shadow miptree from the main to fake the ETC2
    compression
  i965: Fixed the CopyImageSubData for ETC2 on Gen < 8
  i965: Added support for ETC2 mipmaps
  i965: Added support for ETC2 texture arrays on Gen7
  i965: Enabled the OES_copy_image extension on Gen 7 GPUs

 src/mesa/drivers/dri/i965/brw_draw.c          |   3 +
 .../drivers/dri/i965/brw_wm_surface_state.c   |  35 +++-
 src/mesa/drivers/dri/i965/intel_extensions.c  |  18 +-
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 168 +++++++++++++++---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h |  24 ++-
 src/mesa/drivers/dri/i965/intel_tex_image.c   |  45 ++++-
 src/mesa/main/texstore.c                      |  92 +++++-----
 src/mesa/main/texstore.h                      |   9 +
 8 files changed, 315 insertions(+), 79 deletions(-)

-- 
2.19.0



More information about the mesa-dev mailing list