HALTI0 GPUs have broken ETC2 support (for RGB and RGBA) formats. The blob driver does per-block patching. The patching is quite simple: color swaping.
This patch series adds support for the needed block patching and enabled ETC2 support for HALTI0. Passes all tested formats of the following piglit: spec/!opengl es 3.0/oes_compressed_etc2_texture-miptree_gles3 Christian Gmeiner (4): etnaviv: implement ETC2 block patching for HALTI0 etnaviv: keep track of mapped bo address etnaviv: hook-up etc2 patching etnaviv: enable ETC2 texture compression support for HALTI0 GPUs src/gallium/drivers/etnaviv/Makefile.sources | 2 + src/gallium/drivers/etnaviv/etnaviv_context.h | 1 + src/gallium/drivers/etnaviv/etnaviv_etc2.c | 149 ++++++++++++++++++ src/gallium/drivers/etnaviv/etnaviv_etc2.h | 51 ++++++ .../drivers/etnaviv/etnaviv_resource.c | 3 + .../drivers/etnaviv/etnaviv_resource.h | 5 + src/gallium/drivers/etnaviv/etnaviv_screen.c | 12 +- .../drivers/etnaviv/etnaviv_transfer.c | 74 +++++++-- src/gallium/drivers/etnaviv/meson.build | 2 + 9 files changed, 279 insertions(+), 20 deletions(-) create mode 100644 src/gallium/drivers/etnaviv/etnaviv_etc2.c create mode 100644 src/gallium/drivers/etnaviv/etnaviv_etc2.h -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev