mesa: Replace MESA_FORMAT_L8A8/A8L8 UNORM/SNORM/SRGB with an array format.
authorEric Anholt <eric@anholt.net>
Thu, 5 Sep 2019 21:42:15 +0000 (14:42 -0700)
committerEric Anholt <eric@anholt.net>
Sun, 20 Oct 2019 04:39:48 +0000 (04:39 +0000)
commit6a819cabe8d8f445ccb44dcb172e0922dbe016db
tree7f0a8a587c84f16c2333feb29a5e06c9eb3d1c32
parent236b478b2ec0d65ef5dfe1165ae8ab027dde0a42
mesa: Replace MESA_FORMAT_L8A8/A8L8 UNORM/SNORM/SRGB with an array format.

The array format is what the GL API wants (fixing texbos on
big-endian), and matches directly to gallium's corresponding array
format.  The only driver exposing A8L8 was radeon/r200 in big-endian,
where the HW's underlying format was trying to read as array and we
needed to flip things around to make our packed format come out right
(note that while the radeon format tables had both AL and LA,
ChooseTextureFormat would only pick one of them based on endianness).

v2: Don't make r200/radeon use endian swaps.
v3: Rebase on dropping the r200 _be/_le format table removal patch
v4: reword commit message to explain why we can drop both formats
    from radeon.

Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
20 files changed:
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/i915/i830_texstate.c
src/mesa/drivers/dri/i915/i915_context.c
src/mesa/drivers/dri/i915/i915_texstate.c
src/mesa/drivers/dri/i965/brw_surface_formats.c
src/mesa/drivers/dri/nouveau/nv04_surface.c
src/mesa/drivers/dri/r200/r200_tex.h
src/mesa/drivers/dri/radeon/radeon_tex.h
src/mesa/drivers/dri/radeon/radeon_texture.c
src/mesa/drivers/dri/radeon/radeon_texture.h
src/mesa/main/debug.c
src/mesa/main/formats.c
src/mesa/main/formats.csv
src/mesa/main/formats.h
src/mesa/main/texcompress_rgtc.c
src/mesa/main/texformat.c
src/mesa/main/teximage.c
src/mesa/state_tracker/st_format.c
src/mesa/swrast/s_texfetch.c
src/mesa/swrast/s_texfetch_tmp.h