[PATCH v2 0/4] Add ETC2 block patching for HALTI0

Christian Gmeiner christian.gmeiner at gmail.com
Tue Feb 26 18:15:27 UTC 2019


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



More information about the etnaviv mailing list