[Mesa-dev] [PATCH 0/5] Fix handling of LnAn and RnGn formats for big-endian
Richard Sandiford
rsandifo at linux.vnet.ibm.com
Mon Jul 21 08:43:16 PDT 2014
MESA_FORMAT_LnAn_* puts the luminance in the low part of the integer and
the alpha in the high part. The same goes for MESA_FORMAT_RnGn with the
red and green channels.
This series fixes gallium to be consistent with that layout on big-endian.
Following the convention established last year, PIPE_FORMAT_LAnn and
PIPE_FORMAT_RGnn are the equivalent gallium formats. Where defined,
PIPE_FORMAT_LnAn puts the luminance first in memory and the alpha
last in memory.
Patch 1 also fixes an endianness bug in mesa swrast for MESA_FORMAT_L8A8_SRGB.
AFAICT all other L/A and R/G formats are handled correctly.
Richard Sandiford (5):
swrast: Fix handling of MESA_FORMAT_L8A8_SRGB for big-endian
util: Add PIPE_FORMAT_AnLn and PIPE_FORMAT_GnRn formats
util: Define PIPE_FORMAT_{LA,AL,RG,GR}nn aliases
Add MESA_FORMAT_A8L8_{SNORM,SRGB}
Fix handling of LA and RG formats for big-endian
src/gallium/auxiliary/util/u_format.csv | 9 ++++
src/gallium/include/pipe/p_format.h | 42 ++++++++++++++++
src/mesa/drivers/dri/i965/brw_surface_formats.c | 2 +
src/mesa/main/format_pack.c | 37 ++++++++++++++
src/mesa/main/format_unpack.c | 29 +++++++++++
src/mesa/main/formats.c | 28 +++++++++++
src/mesa/main/formats.h | 2 +
src/mesa/main/texformat.c | 3 ++
src/mesa/main/texstore.c | 10 +++-
src/mesa/state_tracker/st_format.c | 64 ++++++++++++++++++-------
src/mesa/swrast/s_texfetch.c | 2 +
src/mesa/swrast/s_texfetch_tmp.h | 30 ++++++++++--
12 files changed, 237 insertions(+), 21 deletions(-)
--
1.8.3.1
More information about the mesa-dev
mailing list