[Mesa-dev] [PATCH v2 0/5] improved the support for ETC2 formats on Gen 7

Eleni Maria Stea estea at igalia.com
Sun Feb 3 13:07:31 UTC 2019


Intel Gen7 GPUs don't support the ETC2 formats natively and in order to
show the pixels properly we convert them to RGBA and create RGBA miptrees.
The problem with that is that the GetCompressed* functions that should
return the compressed pixel values return the RGBA instead.

These patches are an attempt to give a solution to this problem, by
using 2 miptrees: the main to stores the ETC values and the generic
shadow (mt->shadow) to store the RGBA. Each time that the main miptree
is unmapped we unpack the ETC to RGBA and we update the shadow. Similarly,
we update all the mipmap levels of the image (if necessary) before the
drawing, for the CopyImageSubData to work.

Also, the OES_copy_image extension that couldn't work on Gen 7 due to the
lack of the ETC support is now enabled back.

Eleni Maria Stea (4):
  i965: Removed assertions from intel_miptree_map_etc
  i965: Faking the ETC2 compression on Gen < 8 GPUs using two miptrees.
  i965: Fixed the CopyImageSubData for ETC2 on Gen < 8
  i965: Enabled the OES_copy_image extension on Gen 7 GPUs

Nanley Chery (1):
  i965: Rename intel_mipmap_tree::r8stencil_* -> ::shadow_*

 src/mesa/drivers/dri/i965/brw_draw.c          |   5 +
 .../drivers/dri/i965/brw_wm_surface_state.c   |  13 +-
 src/mesa/drivers/dri/i965/intel_extensions.c  |  18 ++-
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 152 +++++++++++++++---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h |  36 ++++-
 5 files changed, 188 insertions(+), 36 deletions(-)

-- 
2.20.1



More information about the mesa-dev mailing list