summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-01-20 10:02:07 -0800
committerEric Anholt <[email protected]>2018-02-02 16:27:49 -0800
commit2a97f1d3ef7a346113cd0a74d1c07d944a7edac4 (patch)
treefbb67ba5e0e2d76bdaf4b6eb90549a3ce59cfc32 /src/mesa
parent1429cd74c2c03a311d92a60b66806db3d96d6b16 (diff)
gallium: Add a new A4B4G4R4 pipe format for Broadcom.
The VC5 HW puts A in the low bits and R in the high bits. We can't just swizzle in the shaders because the blending HW can't pick what channel A is in, so make a new format to match it. Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/state_tracker/st_format.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index cc72ba406e6..c50ce1e14bb 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -84,6 +84,8 @@ st_mesa_format_to_pipe_format(const struct st_context *st,
return PIPE_FORMAT_A1B5G5R5_UNORM;
case MESA_FORMAT_B4G4R4A4_UNORM:
return PIPE_FORMAT_B4G4R4A4_UNORM;
+ case MESA_FORMAT_A4B4G4R4_UNORM:
+ return PIPE_FORMAT_A4B4G4R4_UNORM;
case MESA_FORMAT_B5G6R5_UNORM:
return PIPE_FORMAT_B5G6R5_UNORM;
case MESA_FORMAT_B2G3R3_UNORM:
@@ -567,6 +569,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
return MESA_FORMAT_A1B5G5R5_UNORM;
case PIPE_FORMAT_B4G4R4A4_UNORM:
return MESA_FORMAT_B4G4R4A4_UNORM;
+ case PIPE_FORMAT_A4B4G4R4_UNORM:
+ return MESA_FORMAT_A4B4G4R4_UNORM;
case PIPE_FORMAT_B5G6R5_UNORM:
return MESA_FORMAT_B5G6R5_UNORM;
case PIPE_FORMAT_B2G3R3_UNORM:
@@ -1155,7 +1159,8 @@ static const struct format_mapping format_map[] = {
},
{
{ GL_RGBA4, GL_RGBA2, 0 },
- { PIPE_FORMAT_B4G4R4A4_UNORM, DEFAULT_RGBA_FORMATS }
+ { PIPE_FORMAT_B4G4R4A4_UNORM, PIPE_FORMAT_A4B4G4R4_UNORM,
+ DEFAULT_RGBA_FORMATS }
},
{
{ GL_RGB5_A1, 0 },
@@ -1170,6 +1175,7 @@ static const struct format_mapping format_map[] = {
{
{ GL_RGB4 },
{ PIPE_FORMAT_B4G4R4X4_UNORM, PIPE_FORMAT_B4G4R4A4_UNORM,
+ PIPE_FORMAT_A4B4G4R4_UNORM,
DEFAULT_RGB_FORMATS }
},
{