[Mesa-dev] [PATCH 0/3] formats.h clean-ups

Brian Paul brianp at vmware.com
Sat Mar 8 17:28:13 PST 2014


This patch series:
1. removes an unnecessary section of comments.
2. Reorders the MESA_FORMAT_x enums to be more logical.
3. Renames MESA_FORMAT_X8Z24_UNORM


Since it's hard to read from the diff, here's how the relevant part of 
formats.h looks afterward (omitting a big comment block at the top):


typedef enum
{
    MESA_FORMAT_NONE = 0,

    /* Packed unorm formats */    /* msb <------ TEXEL BITS -----------> 
lsb */
                                  /* ---- ---- ---- ---- ---- ---- ---- 
---- */
    MESA_FORMAT_A8B8G8R8_UNORM,   /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA 
AAAA */
    MESA_FORMAT_X8B8G8R8_UNORM,   /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx 
xxxx */
    MESA_FORMAT_R8G8B8A8_UNORM,   /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_R8G8B8X8_UNORM,   /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_B8G8R8A8_UNORM,   /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB 
BBBB */
    MESA_FORMAT_B8G8R8X8_UNORM,   /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB 
BBBB */
    MESA_FORMAT_A8R8G8B8_UNORM,   /* BBBB BBBB GGGG GGGG RRRR RRRR AAAA 
AAAA */
    MESA_FORMAT_X8R8G8B8_UNORM,   /* BBBB BBBB GGGG GGGG RRRR RRRR xxxx 
xxxx */
    MESA_FORMAT_L16A16_UNORM,     /* AAAA AAAA AAAA AAAA LLLL LLLL LLLL 
LLLL */
    MESA_FORMAT_A16L16_UNORM,     /* LLLL LLLL LLLL LLLL AAAA AAAA AAAA 
AAAA */
    MESA_FORMAT_B5G6R5_UNORM,                         /* RRRR RGGG GGGB 
BBBB */
    MESA_FORMAT_R5G6B5_UNORM,                         /* BBBB BGGG GGGR 
RRRR */
    MESA_FORMAT_B4G4R4A4_UNORM,                       /* AAAA RRRR GGGG 
BBBB */
    MESA_FORMAT_B4G4R4X4_UNORM,                       /* xxxx RRRR GGGG 
BBBB */
    MESA_FORMAT_A4R4G4B4_UNORM,                       /* BBBB GGGG RRRR 
AAAA */
    MESA_FORMAT_A1B5G5R5_UNORM,                       /* RRRR RGGG GGBB 
BBBA */
    MESA_FORMAT_B5G5R5A1_UNORM,                       /* ARRR RRGG GGGB 
BBBB */
    MESA_FORMAT_B5G5R5X1_UNORM,                       /* xRRR RRGG GGGB 
BBBB */
    MESA_FORMAT_A1R5G5B5_UNORM,                       /* BBBB BGGG GGRR 
RRRA */
    MESA_FORMAT_L8A8_UNORM,                           /* AAAA AAAA LLLL 
LLLL */
    MESA_FORMAT_A8L8_UNORM,                           /* LLLL LLLL AAAA 
AAAA */
    MESA_FORMAT_R8G8_UNORM,                           /* GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_G8R8_UNORM,                           /* RRRR RRRR GGGG 
GGGG */
    MESA_FORMAT_L4A4_UNORM,                                     /* AAAA 
LLLL */
    MESA_FORMAT_B2G3R3_UNORM,                                   /* RRRG 
GGBB */

    MESA_FORMAT_R16G16_UNORM,     /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR 
RRRR */
    MESA_FORMAT_G16R16_UNORM,     /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG 
GGGG */
    MESA_FORMAT_B10G10R10A2_UNORM,/* AARR RRRR RRRR GGGG GGGG GGBB BBBB 
BBBB */
    MESA_FORMAT_B10G10R10X2_UNORM,/* xxRR RRRR RRRR GGGG GGGG GGBB BBBB 
BBBB */
    MESA_FORMAT_R10G10B10A2_UNORM,/* AABB BBBB BBBB GGGG GGGG GGRR RRRR 
RRRR */

    MESA_FORMAT_S8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS 
SSSS */
    MESA_FORMAT_X8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ xxxx 
xxxx */
    MESA_FORMAT_Z24_UNORM_S8_UINT,/* SSSS SSSS ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ 
ZZZZ */
    MESA_FORMAT_Z24_UNORM_X8_UINT,/* xxxx xxxx ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ 
ZZZZ */

    MESA_FORMAT_YCBCR,            /*                     YYYY YYYY UorV 
UorV */
    MESA_FORMAT_YCBCR_REV,        /*                     UorV UorV YYYY 
YYYY */

    MESA_FORMAT_DUDV8,            /*                     DUDU DUDU DVDV 
DVDV */

    /* Array unorm formats */
    MESA_FORMAT_A_UNORM8,      /* ubyte[i] = A */
    MESA_FORMAT_A_UNORM16,     /* ushort[i] = A */
    MESA_FORMAT_L_UNORM8,      /* ubyte[i] = L */
    MESA_FORMAT_L_UNORM16,     /* ushort[i] = L */
    MESA_FORMAT_I_UNORM8,      /* ubyte[i] = I */
    MESA_FORMAT_I_UNORM16,     /* ushort[i] = I */
    MESA_FORMAT_R_UNORM8,      /* ubyte[i] = R */
    MESA_FORMAT_R_UNORM16,     /* ushort[i] = R */
    MESA_FORMAT_BGR_UNORM8,    /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = 
R */
    MESA_FORMAT_RGB_UNORM8,    /* ubyte[i*3] = R, [i*3+1] = G, [i*3+2] = 
B */
    MESA_FORMAT_RGBA_UNORM16,  /* ushort[i] = R, [1] = G, [2] = B, [3] = 
A */
    MESA_FORMAT_RGBX_UNORM16,

    MESA_FORMAT_Z_UNORM16,     /* ushort[i] = Z */
    MESA_FORMAT_Z_UNORM32,     /* uint[i] = Z */
    MESA_FORMAT_S_UINT8,       /* ubyte[i] = S */

    /* Packed signed/normalized formats */
                                  /* msb <------ TEXEL BITS -----------> 
lsb */
                                  /* ---- ---- ---- ---- ---- ---- ---- 
---- */
    MESA_FORMAT_A8B8G8R8_SNORM,   /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA 
AAAA */
    MESA_FORMAT_X8B8G8R8_SNORM,   /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx 
xxxx */
    MESA_FORMAT_R8G8B8A8_SNORM,   /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_R8G8B8X8_SNORM,   /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_R16G16_SNORM,     /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR 
RRRR */
    MESA_FORMAT_G16R16_SNORM,     /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG 
GGGG */
    MESA_FORMAT_R8G8_SNORM,       /*                     GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_G8R8_SNORM,       /*                     RRRR RRRR GGGG 
GGGG */
    MESA_FORMAT_L8A8_SNORM,       /*                     AAAA AAAA LLLL 
LLLL */

    /* Array signed/normalized formats */
    MESA_FORMAT_A_SNORM8,      /* byte[i] = A */
    MESA_FORMAT_A_SNORM16,     /* short[i] = A */
    MESA_FORMAT_L_SNORM8,      /* byte[i] = L */
    MESA_FORMAT_L_SNORM16,     /* short[i] = L */
    MESA_FORMAT_I_SNORM8,      /* byte[i] = I */
    MESA_FORMAT_I_SNORM16,     /* short[i] = I */
    MESA_FORMAT_R_SNORM8,      /* byte[i] = R */
    MESA_FORMAT_R_SNORM16,     /* short[i] = R */
    MESA_FORMAT_LA_SNORM16,    /* short[i * 2] = L, [i * 2 + 1] = A */
    MESA_FORMAT_RGB_SNORM16,   /* short[i*3] = R, [i*3+1] = G, [i*3+2] = 
B */
    MESA_FORMAT_RGBA_SNORM16,  /* ... */
    MESA_FORMAT_RGBX_SNORM16,  /* ... */

    /* Packed sRGB formats */
    MESA_FORMAT_A8B8G8R8_SRGB,    /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA 
AAAA */
    MESA_FORMAT_B8G8R8A8_SRGB,    /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB 
BBBB */
    MESA_FORMAT_B8G8R8X8_SRGB,    /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB 
BBBB */
    MESA_FORMAT_R8G8B8A8_SRGB,    /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_R8G8B8X8_SRGB,    /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR 
RRRR */
    MESA_FORMAT_L8A8_SRGB,                            /* AAAA AAAA LLLL 
LLLL */

    /* Array sRGB formats */
    MESA_FORMAT_L_SRGB8,       /* ubyte[i] = L */
    MESA_FORMAT_BGR_SRGB8,     /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = 
R */

    /* Packed float formats */
    MESA_FORMAT_R9G9B9E5_FLOAT,
    MESA_FORMAT_R11G11B10_FLOAT,   /* BBBB BBBB BBGG GGGG GGGG GRRR RRRR 
RRRR */
    MESA_FORMAT_Z32_FLOAT_S8X24_UINT, /* (float, x24s8) */

    /* Array float formats */
    MESA_FORMAT_A_FLOAT16,
    MESA_FORMAT_A_FLOAT32,
    MESA_FORMAT_L_FLOAT16,
    MESA_FORMAT_L_FLOAT32,
    MESA_FORMAT_LA_FLOAT16,
    MESA_FORMAT_LA_FLOAT32,
    MESA_FORMAT_I_FLOAT16,
    MESA_FORMAT_I_FLOAT32,
    MESA_FORMAT_R_FLOAT16,
    MESA_FORMAT_R_FLOAT32,
    MESA_FORMAT_RG_FLOAT16,
    MESA_FORMAT_RG_FLOAT32,
    MESA_FORMAT_RGB_FLOAT16,
    MESA_FORMAT_RGB_FLOAT32,
    MESA_FORMAT_RGBA_FLOAT16,
    MESA_FORMAT_RGBA_FLOAT32,  /* float[0] = R, [1] = G, [2] = B, [3] = A */
    MESA_FORMAT_RGBX_FLOAT16,
    MESA_FORMAT_RGBX_FLOAT32,
    MESA_FORMAT_Z_FLOAT32,

    /* Packed signed/unsigned non-normalized integer formats */
    MESA_FORMAT_B10G10R10A2_UINT, /* AARR RRRR RRRR GGGG GGGG GGBB BBBB 
BBBB */
    MESA_FORMAT_R10G10B10A2_UINT, /* AABB BBBB BBBB GGGG GGGG GGRR RRRR 
RRRR */

    /* Array signed/unsigned non-normalized integer formats */
    MESA_FORMAT_A_UINT8,
    MESA_FORMAT_A_UINT16,
    MESA_FORMAT_A_UINT32,
    MESA_FORMAT_A_SINT8,
    MESA_FORMAT_A_SINT16,
    MESA_FORMAT_A_SINT32,

    MESA_FORMAT_I_UINT8,
    MESA_FORMAT_I_UINT16,
    MESA_FORMAT_I_UINT32,
    MESA_FORMAT_I_SINT8,
    MESA_FORMAT_I_SINT16,
    MESA_FORMAT_I_SINT32,

    MESA_FORMAT_L_UINT8,
    MESA_FORMAT_L_UINT16,
    MESA_FORMAT_L_UINT32,
    MESA_FORMAT_L_SINT8,
    MESA_FORMAT_L_SINT16,
    MESA_FORMAT_L_SINT32,

    MESA_FORMAT_LA_UINT8,
    MESA_FORMAT_LA_UINT16,
    MESA_FORMAT_LA_UINT32,
    MESA_FORMAT_LA_SINT8,
    MESA_FORMAT_LA_SINT16,
    MESA_FORMAT_LA_SINT32,

    MESA_FORMAT_R_UINT8,
    MESA_FORMAT_R_UINT16,
    MESA_FORMAT_R_UINT32,
    MESA_FORMAT_R_SINT8,
    MESA_FORMAT_R_SINT16,
    MESA_FORMAT_R_SINT32,

    MESA_FORMAT_RG_UINT8,
    MESA_FORMAT_RG_UINT16,
    MESA_FORMAT_RG_UINT32,
    MESA_FORMAT_RG_SINT8,
    MESA_FORMAT_RG_SINT16,
    MESA_FORMAT_RG_SINT32,

    MESA_FORMAT_RGB_UINT8,
    MESA_FORMAT_RGB_UINT16,
    MESA_FORMAT_RGB_UINT32,
    MESA_FORMAT_RGB_SINT8,
    MESA_FORMAT_RGB_SINT16,
    MESA_FORMAT_RGB_SINT32,

    MESA_FORMAT_RGBA_UINT8,
    MESA_FORMAT_RGBA_UINT16,
    MESA_FORMAT_RGBA_UINT32,
    MESA_FORMAT_RGBA_SINT8,
    MESA_FORMAT_RGBA_SINT16,
    MESA_FORMAT_RGBA_SINT32,

    MESA_FORMAT_RGBX_UINT8,
    MESA_FORMAT_RGBX_UINT16,
    MESA_FORMAT_RGBX_UINT32,
    MESA_FORMAT_RGBX_SINT8,
    MESA_FORMAT_RGBX_SINT16,
    MESA_FORMAT_RGBX_SINT32,

    /* DXT compressed formats */
    MESA_FORMAT_RGB_DXT1,
    MESA_FORMAT_RGBA_DXT1,
    MESA_FORMAT_RGBA_DXT3,
    MESA_FORMAT_RGBA_DXT5,

    /* DXT sRGB compressed formats */
    MESA_FORMAT_SRGB_DXT1,
    MESA_FORMAT_SRGBA_DXT1,
    MESA_FORMAT_SRGBA_DXT3,
    MESA_FORMAT_SRGBA_DXT5,

    /* FXT1 compressed formats */
    MESA_FORMAT_RGB_FXT1,
    MESA_FORMAT_RGBA_FXT1,

    /* RGTC compressed formats */
    MESA_FORMAT_R_RGTC1_UNORM,
    MESA_FORMAT_R_RGTC1_SNORM,
    MESA_FORMAT_RG_RGTC2_UNORM,
    MESA_FORMAT_RG_RGTC2_SNORM,

    /* LATC1/2 compressed formats */
    MESA_FORMAT_L_LATC1_UNORM,
    MESA_FORMAT_L_LATC1_SNORM,
    MESA_FORMAT_LA_LATC2_UNORM,
    MESA_FORMAT_LA_LATC2_SNORM,

    /* ETC1/2 compressed formats */
    MESA_FORMAT_ETC1_RGB8,
    MESA_FORMAT_ETC2_RGB8,
    MESA_FORMAT_ETC2_SRGB8,
    MESA_FORMAT_ETC2_RGBA8_EAC,
    MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
    MESA_FORMAT_ETC2_R11_EAC,
    MESA_FORMAT_ETC2_RG11_EAC,
    MESA_FORMAT_ETC2_SIGNED_R11_EAC,
    MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
    MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
    MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,

    MESA_FORMAT_COUNT
} mesa_format;


Finally, the last patch renames MESA_FORMAT_X8Z24_UNORM to 
MESA_FORMAT_X8_UINT_Z24_UNORM, following the example of 
MESA_FORMAT_Z24_UNORM_X8_UINT.  Alternately/conversely, we could rename 
MESA_FORMAT_Z24_UNORM_X8_UINT to MESA_FORMAT_Z24X8_UNORM.

I think either way would be fine (and more consistent than what we have 
now).

No piglit regressions running quick.py on llvmpipe.

-Brian


More information about the mesa-dev mailing list