util: add most missing formats with reversed RGB channel order

This will be used for RGB->BGR enum translation.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9615>
This commit is contained in:
Marek Olšák 2021-03-15 19:51:42 -04:00 committed by Marge Bot
parent 9064d801a9
commit aff4c790ea
4 changed files with 43 additions and 0 deletions

View file

@ -493,6 +493,19 @@ enum pipe_format {
PIPE_FORMAT_R8_G8B8_420_UNORM,
PIPE_FORMAT_B8G8R8X8_SNORM,
PIPE_FORMAT_B8G8R8X8_UINT,
PIPE_FORMAT_B8G8R8X8_SINT,
PIPE_FORMAT_A8R8G8B8_SNORM,
PIPE_FORMAT_A8R8G8B8_SINT,
PIPE_FORMAT_X8R8G8B8_SNORM,
PIPE_FORMAT_X8R8G8B8_SINT,
PIPE_FORMAT_R5G5B5X1_UNORM,
PIPE_FORMAT_X1R5G5B5_UNORM,
PIPE_FORMAT_R4G4B4X4_UNORM,
PIPE_FORMAT_B10G10R10X2_SNORM,
PIPE_FORMAT_R5G6B5_SRGB,
PIPE_FORMAT_COUNT
};

View file

@ -967,15 +967,29 @@ util_format_snorm8_to_sint8(enum pipe_format format)
case PIPE_FORMAT_R8G8B8X8_SNORM:
return PIPE_FORMAT_R8G8B8X8_SINT;
case PIPE_FORMAT_B8G8R8X8_SNORM:
return PIPE_FORMAT_B8G8R8X8_SINT;
case PIPE_FORMAT_R8A8_SNORM:
return PIPE_FORMAT_R8A8_SINT;
case PIPE_FORMAT_G8R8_SNORM:
return PIPE_FORMAT_G8R8_SINT;
case PIPE_FORMAT_A8R8G8B8_SNORM:
return PIPE_FORMAT_A8R8G8B8_SINT;
case PIPE_FORMAT_X8R8G8B8_SNORM:
return PIPE_FORMAT_X8R8G8B8_SINT;
case PIPE_FORMAT_A8B8G8R8_SNORM:
return PIPE_FORMAT_A8B8G8R8_SINT;
case PIPE_FORMAT_X8B8G8R8_SNORM:
return PIPE_FORMAT_X8B8G8R8_SINT;
case PIPE_FORMAT_R10G10B10A2_SNORM:
return PIPE_FORMAT_R10G10B10A2_SINT;
case PIPE_FORMAT_B10G10R10A2_SNORM:
return PIPE_FORMAT_B10G10R10A2_SINT;
default:
return format;
}

View file

@ -67,19 +67,29 @@ PIPE_FORMAT_NONE , plain, 1, 1, 1, u8 , , , , x0
# Typical rendertarget formats
PIPE_FORMAT_B8G8R8A8_UNORM , plain, 1, 1, 1, un8 , un8 , un8 , un8 , zyxw, rgb
PIPE_FORMAT_B8G8R8X8_UNORM , plain, 1, 1, 1, un8 , un8 , un8 , x8 , zyx1, rgb
PIPE_FORMAT_B8G8R8X8_SNORM , plain, 1, 1, 1, sn8 , sn8 , sn8 , x8 , zyx1, rgb
PIPE_FORMAT_B8G8R8X8_UINT , plain, 1, 1, 1, up8 , up8 , up8 , x8 , zyx1, rgb
PIPE_FORMAT_B8G8R8X8_SINT , plain, 1, 1, 1, sp8 , sp8 , sp8 , x8 , zyx1, rgb
PIPE_FORMAT_A8R8G8B8_UNORM , plain, 1, 1, 1, un8 , un8 , un8 , un8 , yzwx, rgb
PIPE_FORMAT_A8R8G8B8_SNORM , plain, 1, 1, 1, sn8 , sn8 , sn8 , sn8 , yzwx, rgb
PIPE_FORMAT_A8R8G8B8_SINT , plain, 1, 1, 1, sp8 , sp8 , sp8 , sp8 , yzwx, rgb
PIPE_FORMAT_X8R8G8B8_UNORM , plain, 1, 1, 1, x8 , un8 , un8 , un8 , yzw1, rgb
PIPE_FORMAT_X8R8G8B8_SNORM , plain, 1, 1, 1, x8 , sn8 , sn8 , sn8 , yzw1, rgb
PIPE_FORMAT_X8R8G8B8_SINT , plain, 1, 1, 1, x8 , sp8 , sp8 , sp8 , yzw1, rgb
PIPE_FORMAT_A8B8G8R8_UNORM , plain, 1, 1, 1, un8 , un8 , un8 , un8 , wzyx, rgb
PIPE_FORMAT_X8B8G8R8_UNORM , plain, 1, 1, 1, x8 , un8 , un8 , un8 , wzy1, rgb
# PIPE_FORMAT_R8G8B8A8_UNORM is below
PIPE_FORMAT_R8G8B8X8_UNORM , plain, 1, 1, 1, un8 , un8 , un8 , x8 , xyz1, rgb
PIPE_FORMAT_R5G5B5A1_UNORM , plain, 1, 1, 1, un5 , un5 , un5 , un1 , xyzw, rgb, un1 , un5 , un5 , un5 , wzyx
PIPE_FORMAT_R5G5B5X1_UNORM , plain, 1, 1, 1, un5 , un5 , un5 , x1 , xyz1, rgb, x1 , un5 , un5 , un5 , wzy1
PIPE_FORMAT_B5G5R5X1_UNORM , plain, 1, 1, 1, un5 , un5 , un5 , x1 , zyx1, rgb, x1 , un5 , un5 , un5 , yzw1
PIPE_FORMAT_B5G5R5A1_UNORM , plain, 1, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb, un1 , un5 , un5 , un5 , yzwx
PIPE_FORMAT_X1B5G5R5_UNORM , plain, 1, 1, 1, x1 , un5 , un5 , un5 , wzy1, rgb, un5 , un5 , un5 , x1 , xyz1
PIPE_FORMAT_A1R5G5B5_UNORM , plain, 1, 1, 1, un1 , un5 , un5 , un5 , yzwx, rgb, un5 , un5 , un5 , un1 , zyxw
PIPE_FORMAT_X1R5G5B5_UNORM , plain, 1, 1, 1, x1 , un5 , un5 , un5 , yzw1, rgb, un5 , un5 , un5 , x1 , zyx1
PIPE_FORMAT_A1B5G5R5_UNORM , plain, 1, 1, 1, un1 , un5 , un5 , un5 , wzyx, rgb, un5 , un5 , un5 , un1 , xyzw
PIPE_FORMAT_R4G4B4A4_UNORM , plain, 1, 1, 1, un4 , un4 , un4 , un4 , xyzw, rgb, un4 , un4 , un4 , un4 , wzyx
PIPE_FORMAT_R4G4B4X4_UNORM , plain, 1, 1, 1, un4 , un4 , un4 , x4 , xyz1, rgb, x4 , un4 , un4 , un4 , wzy1
PIPE_FORMAT_B4G4R4A4_UNORM , plain, 1, 1, 1, un4 , un4 , un4 , un4 , zyxw, rgb, un4 , un4 , un4 , un4 , yzwx
PIPE_FORMAT_B4G4R4X4_UNORM , plain, 1, 1, 1, un4 , un4 , un4 , x4 , zyx1, rgb, x4 , un4 , un4 , un4 , yzw1
PIPE_FORMAT_A4R4G4B4_UNORM , plain, 1, 1, 1, un4 , un4 , un4 , un4 , yzwx, rgb, un4 , un4 , un4 , un4 , zyxw
@ -510,6 +520,7 @@ PIPE_FORMAT_R8G8B8X8_SRGB , plain, 1, 1, 1, un8, un8, un8, x8, xyz
PIPE_FORMAT_R8G8B8X8_UINT , plain, 1, 1, 1, up8, up8, up8, x8, xyz1, rgb
PIPE_FORMAT_R8G8B8X8_SINT , plain, 1, 1, 1, sp8, sp8, sp8, x8, xyz1, rgb
PIPE_FORMAT_B10G10R10X2_UNORM , plain, 1, 1, 1, un10, un10, un10, x2, zyx1, rgb, x2 , un10, un10, un10, yzw1
PIPE_FORMAT_B10G10R10X2_SNORM , plain, 1, 1, 1, sn10, sn10, sn10, x2, zyx1, rgb, x2 , sn10, sn10, sn10, yzw1
PIPE_FORMAT_R16G16B16X16_UNORM , plain, 1, 1, 1, un16, un16, un16, x16, xyz1, rgb
PIPE_FORMAT_R16G16B16X16_SNORM , plain, 1, 1, 1, sn16, sn16, sn16, x16, xyz1, rgb
PIPE_FORMAT_R16G16B16X16_FLOAT , plain, 1, 1, 1, f16, f16, f16, x16, xyz1, rgb
@ -534,6 +545,7 @@ PIPE_FORMAT_R10G10B10A2_UINT , plain, 1, 1, 1, up10 , up10 , up10, up2 ,
PIPE_FORMAT_R10G10B10A2_SINT , plain, 1, 1, 1, sp10 , sp10 , sp10, sp2 , xyzw, rgb, sp2 , sp10, sp10, sp10, wzyx
PIPE_FORMAT_B5G6R5_SRGB , plain, 1, 1, 1, un5 , un6 , un5 , , zyx1, srgb, un5 , un6 , un5 , , xyz1
PIPE_FORMAT_R5G6B5_SRGB , plain, 1, 1, 1, un5 , un6 , un5 , , xyz1, srgb, un5 , un6 , un5 , , zyx1
PIPE_FORMAT_G8R8_UNORM , plain, 1, 1, 1, un8 , un8 , , , yx01, rgb
PIPE_FORMAT_G8R8_SNORM , plain, 1, 1, 1, sn8 , sn8 , , , yx01, rgb

Can't render this file because it contains an unexpected character in line 8 and column 3.

View file

@ -982,6 +982,8 @@ util_format_srgb(enum pipe_format format)
return PIPE_FORMAT_DXT3_SRGBA;
case PIPE_FORMAT_DXT5_RGBA:
return PIPE_FORMAT_DXT5_SRGBA;
case PIPE_FORMAT_R5G6B5_UNORM:
return PIPE_FORMAT_R5G6B5_SRGB;
case PIPE_FORMAT_B5G6R5_UNORM:
return PIPE_FORMAT_B5G6R5_SRGB;
case PIPE_FORMAT_BPTC_RGBA_UNORM:
@ -1090,6 +1092,8 @@ util_format_linear(enum pipe_format format)
return PIPE_FORMAT_DXT3_RGBA;
case PIPE_FORMAT_DXT5_SRGBA:
return PIPE_FORMAT_DXT5_RGBA;
case PIPE_FORMAT_R5G6B5_SRGB:
return PIPE_FORMAT_R5G6B5_UNORM;
case PIPE_FORMAT_B5G6R5_SRGB:
return PIPE_FORMAT_B5G6R5_UNORM;
case PIPE_FORMAT_BPTC_SRGBA: