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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev