It should be documented somewhere why certain formats are named xyzw8888 and the others are named x8y8z8w8.
Marek On Thu, May 16, 2013 at 3:06 PM, Adam Jackson <a...@redhat.com> wrote: > From: Richard Sandiford <r.sandif...@uk.ibm.com> > > RGBA8888 has R at byte 0 and A at byte 3, regardless of platform > endianness. > > Reviewed-by: Adam Jackson <a...@redhat.com> > --- > src/gallium/include/pipe/p_format.h | 38 > +++++++++++++++++++++++++++++-------- > 1 file changed, 30 insertions(+), 8 deletions(-) > > diff --git a/src/gallium/include/pipe/p_format.h > b/src/gallium/include/pipe/p_format.h > index 098b25b..1289983 100644 > --- a/src/gallium/include/pipe/p_format.h > +++ b/src/gallium/include/pipe/p_format.h > @@ -33,6 +33,7 @@ > extern "C" { > #endif > > +#include "p_config.h" > > enum pipe_type { > PIPE_TYPE_UNORM = 0, > @@ -53,10 +54,10 @@ enum pipe_type { > > enum pipe_format { > PIPE_FORMAT_NONE = 0, > - PIPE_FORMAT_B8G8R8A8_UNORM = 1, > - PIPE_FORMAT_B8G8R8X8_UNORM = 2, > - PIPE_FORMAT_A8R8G8B8_UNORM = 3, > - PIPE_FORMAT_X8R8G8B8_UNORM = 4, > + PIPE_FORMAT_ARGB8888_UNORM = 1, > + PIPE_FORMAT_XRGB8888_UNORM = 2, > + PIPE_FORMAT_BGRA8888_UNORM = 3, > + PIPE_FORMAT_BGRX8888_UNORM = 4, > PIPE_FORMAT_B5G5R5A1_UNORM = 5, > PIPE_FORMAT_B4G4R4A4_UNORM = 6, > PIPE_FORMAT_B5G6R5_UNORM = 7, > @@ -119,8 +120,8 @@ enum pipe_format { > PIPE_FORMAT_R8_UNORM = 64, > PIPE_FORMAT_R8G8_UNORM = 65, > PIPE_FORMAT_R8G8B8_UNORM = 66, > - PIPE_FORMAT_R8G8B8A8_UNORM = 67, > - PIPE_FORMAT_X8B8G8R8_UNORM = 68, > + PIPE_FORMAT_ABGR8888_UNORM = 67, > + PIPE_FORMAT_RGBX8888_UNORM = 68, > PIPE_FORMAT_R8_USCALED = 69, > PIPE_FORMAT_R8G8_USCALED = 70, > PIPE_FORMAT_R8G8B8_USCALED = 71, > @@ -180,7 +181,7 @@ enum pipe_format { > PIPE_FORMAT_R5SG5SB6U_NORM = 120, > > /* TODO: re-order these */ > - PIPE_FORMAT_A8B8G8R8_UNORM = 121, > + PIPE_FORMAT_RGBA8888_UNORM = 121, > PIPE_FORMAT_B5G5R5X1_UNORM = 122, > PIPE_FORMAT_R10G10B10A2_USCALED = 123, > PIPE_FORMAT_R11G11B10_FLOAT = 124, > @@ -193,7 +194,7 @@ enum pipe_format { > PIPE_FORMAT_B10G10R10A2_UNORM = 131, > PIPE_FORMAT_R10SG10SB10SA2U_NORM = 132, > PIPE_FORMAT_R8G8Bx_SNORM = 133, > - PIPE_FORMAT_R8G8B8X8_UNORM = 134, > + PIPE_FORMAT_XBGR8888_UNORM = 134, > PIPE_FORMAT_B4G4R4X4_UNORM = 135, > > /* some stencil samplers formats */ > @@ -343,6 +344,27 @@ enum pipe_format { > PIPE_FORMAT_COUNT > }; > > +#if defined(PIPE_ARCH_LITTLE_ENDIAN) > +#define PIPE_FORMAT_R8G8B8A8_UNORM PIPE_FORMAT_ABGR8888_UNORM > +#define PIPE_FORMAT_R8G8B8X8_UNORM PIPE_FORMAT_XBGR8888_UNORM > +#define PIPE_FORMAT_B8G8R8X8_UNORM PIPE_FORMAT_XRGB8888_UNORM > +#define PIPE_FORMAT_B8G8R8A8_UNORM PIPE_FORMAT_ARGB8888_UNORM > +#define PIPE_FORMAT_B8G8R8X8_UNORM PIPE_FORMAT_XRGB8888_UNORM > +#define PIPE_FORMAT_A8R8G8B8_UNORM PIPE_FORMAT_BGRA8888_UNORM > +#define PIPE_FORMAT_X8R8G8B8_UNORM PIPE_FORMAT_BGRX8888_UNORM > +#define PIPE_FORMAT_A8B8G8R8_UNORM PIPE_FORMAT_RGBA8888_UNORM > +#define PIPE_FORMAT_X8B8G8R8_UNORM PIPE_FORMAT_RGBX8888_UNORM > +#elif defined(PIPE_ARCH_BIG_ENDIAN) > +#define PIPE_FORMAT_R8G8B8A8_UNORM PIPE_FORMAT_RGBA8888_UNORM > +#define PIPE_FORMAT_R8G8B8X8_UNORM PIPE_FORMAT_RGBX8888_UNORM > +#define PIPE_FORMAT_B8G8R8A8_UNORM PIPE_FORMAT_BGRA8888_UNORM > +#define PIPE_FORMAT_B8G8R8X8_UNORM PIPE_FORMAT_BGRX8888_UNORM > +#define PIPE_FORMAT_A8R8G8B8_UNORM PIPE_FORMAT_ARGB8888_UNORM > +#define PIPE_FORMAT_X8R8G8B8_UNORM PIPE_FORMAT_XRGB8888_UNORM > +#define PIPE_FORMAT_A8B8G8R8_UNORM PIPE_FORMAT_ABGR8888_UNORM > +#define PIPE_FORMAT_X8B8G8R8_UNORM PIPE_FORMAT_XBGR8888_UNORM > +#endif > + > enum pipe_video_chroma_format > { > PIPE_VIDEO_CHROMA_FORMAT_420, > -- > 1.8.2.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev