[Mesa-dev] [PATCH 03/13] gallium: Introduce 32-bit bytewise format names

Marek Olšák maraeo at gmail.com
Thu May 16 08:02:51 PDT 2013


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 <ajax at redhat.com> wrote:
> From: Richard Sandiford <r.sandiford at uk.ibm.com>
>
> RGBA8888 has R at byte 0 and A at byte 3, regardless of platform
> endianness.
>
> Reviewed-by: Adam Jackson <ajax at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list