[Mesa-dev] Wrong colors in 3D apps on big-endian systems

Christian Zigotzky chzigotzky at xenosoft.de
Tue Mar 11 09:51:54 PDT 2014


On 11.03.2014 16:25, Richard Sandiford wrote:
> I just mean changing instances of things like PIPE_FORMAT_A8R8G8B8_UNORM
> to PIPE_FORMAT_ARGB8888_UNORM in the relevant parts of the r600 support
> (which is I think what Michel also meant -- like I say, I'm not really
> adding anything new here).  PIPE_FORMAT_ARGB8888_UNORM always has the
> alpha channel in the low bits of a 32-bit int according to host endianness,
> whereas PIPE_FORMAT_A8R8G8B8_UNORM always has the alpha channel in the
> first byte of memory.
>
> I can't say for sure which the "revelavant parts" are because I don't
> know the r600 code.
>
> Thanks,
> Richard
>
>
I have replaced PIPE_FORMAT_A8R8G8B8_UNORM with 
PIPE_FORMAT_ARGB8888_UNORM in the files r600_state.c and 
evergreen_state.c. But I get the following error:

make[3]: Entering directory 
`/home/christian/Downloads/Mesa-10.1.0/src/gallium/drivers/r600'
   CC       r600_state.lo
r600_state.c: In function 'r600_translate_colorswap':
r600_state.c:262:2: error: duplicate case value
r600_state.c:258:2: error: previously used here
r600_state.c: In function 'r600_translate_colorformat':
r600_state.c:427:2: error: duplicate case value
r600_state.c:425:2: error: previously used here
make[3]: *** [r600_state.lo] Fehler 1
make[3]: Leaving directory 
`/home/christian/Downloads/Mesa-10.1.0/src/gallium/drivers/r600'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory 
`/home/christian/Downloads/Mesa-10.1.0/src/gallium/drivers'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/christian/Downloads/Mesa-10.1.0/src'
make: *** [all-recursive] Fehler 1



More information about the mesa-dev mailing list