r600g: fix color format, indentation, defines
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
parent
6e6103004c
commit
27041d7cb3
|
@ -695,7 +695,7 @@ static struct radeon_state *r600_cb(struct r600_context *rctx, int cb)
|
|||
ntype = 0;
|
||||
desc = util_format_description(rtex->resource.base.b.format);
|
||||
if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB)
|
||||
ntype = NUM_FORMAT_SRGB;
|
||||
ntype = V_0280A0_NUMBER_SRGB;
|
||||
|
||||
format = r600_translate_colorformat(rtex->resource.base.b.format);
|
||||
swap = r600_translate_colorswap(rtex->resource.base.b.format);
|
||||
|
|
|
@ -147,117 +147,117 @@ static uint32_t r600_translate_colorswap(enum pipe_format format)
|
|||
{
|
||||
switch (format) {
|
||||
/* 8-bit buffers. */
|
||||
case PIPE_FORMAT_A8_UNORM:
|
||||
case PIPE_FORMAT_I8_UNORM:
|
||||
case PIPE_FORMAT_L8_UNORM:
|
||||
case PIPE_FORMAT_R8_UNORM:
|
||||
case PIPE_FORMAT_R8_SNORM:
|
||||
return SWAP_STD;
|
||||
case PIPE_FORMAT_A8_UNORM:
|
||||
case PIPE_FORMAT_I8_UNORM:
|
||||
case PIPE_FORMAT_L8_UNORM:
|
||||
case PIPE_FORMAT_R8_UNORM:
|
||||
case PIPE_FORMAT_R8_SNORM:
|
||||
return V_0280A0_SWAP_STD;
|
||||
|
||||
/* 16-bit buffers. */
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
return SWAP_STD_REV;
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
return V_0280A0_SWAP_STD_REV;
|
||||
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5X1_UNORM:
|
||||
return SWAP_ALT;
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5X1_UNORM:
|
||||
return V_0280A0_SWAP_ALT;
|
||||
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4X4_UNORM:
|
||||
return SWAP_ALT;
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4X4_UNORM:
|
||||
return V_0280A0_SWAP_ALT;
|
||||
/* 32-bit buffers. */
|
||||
|
||||
case PIPE_FORMAT_A8B8G8R8_SRGB:
|
||||
return SWAP_STD_REV;
|
||||
case PIPE_FORMAT_B8G8R8A8_SRGB:
|
||||
return SWAP_ALT;
|
||||
case PIPE_FORMAT_A8B8G8R8_SRGB:
|
||||
return V_0280A0_SWAP_STD_REV;
|
||||
case PIPE_FORMAT_B8G8R8A8_SRGB:
|
||||
return V_0280A0_SWAP_ALT;
|
||||
|
||||
case PIPE_FORMAT_B8G8R8A8_UNORM:
|
||||
case PIPE_FORMAT_B8G8R8X8_UNORM:
|
||||
return SWAP_ALT;
|
||||
case PIPE_FORMAT_B8G8R8A8_UNORM:
|
||||
case PIPE_FORMAT_B8G8R8X8_UNORM:
|
||||
return V_0280A0_SWAP_ALT;
|
||||
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
return SWAP_ALT_REV;
|
||||
case PIPE_FORMAT_R8G8B8A8_SNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
return SWAP_STD;
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
return V_0280A0_SWAP_ALT_REV;
|
||||
case PIPE_FORMAT_R8G8B8A8_SNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
return V_0280A0_SWAP_STD;
|
||||
|
||||
case PIPE_FORMAT_A8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_X8B8G8R8_UNORM:
|
||||
// case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
|
||||
return SWAP_STD_REV;
|
||||
case PIPE_FORMAT_A8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_X8B8G8R8_UNORM:
|
||||
// case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
|
||||
return V_0280A0_SWAP_STD_REV;
|
||||
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
|
||||
return SWAP_STD;
|
||||
return V_0280A0_SWAP_STD;
|
||||
|
||||
case PIPE_FORMAT_R10G10B10A2_UNORM:
|
||||
case PIPE_FORMAT_R10G10B10X2_SNORM:
|
||||
case PIPE_FORMAT_B10G10R10A2_UNORM:
|
||||
case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
|
||||
return SWAP_STD_REV;
|
||||
case PIPE_FORMAT_R10G10B10A2_UNORM:
|
||||
case PIPE_FORMAT_R10G10B10X2_SNORM:
|
||||
case PIPE_FORMAT_B10G10R10A2_UNORM:
|
||||
case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
|
||||
return V_0280A0_SWAP_STD_REV;
|
||||
|
||||
/* 64-bit buffers. */
|
||||
case PIPE_FORMAT_R16G16B16A16_UNORM:
|
||||
case PIPE_FORMAT_R16G16B16A16_SNORM:
|
||||
// return V_0280A0_COLOR_16_16_16_16;
|
||||
case PIPE_FORMAT_R16G16B16A16_FLOAT:
|
||||
// return V_0280A0_COLOR_16_16_16_16_FLOAT;
|
||||
case PIPE_FORMAT_R16G16B16A16_UNORM:
|
||||
case PIPE_FORMAT_R16G16B16A16_SNORM:
|
||||
// return V_0280A0_COLOR_16_16_16_16;
|
||||
case PIPE_FORMAT_R16G16B16A16_FLOAT:
|
||||
// return V_0280A0_COLOR_16_16_16_16_FLOAT;
|
||||
|
||||
/* 128-bit buffers. */
|
||||
case PIPE_FORMAT_R32G32B32A32_FLOAT:
|
||||
// return V_0280A0_COLOR_32_32_32_32_FLOAT;
|
||||
case PIPE_FORMAT_R32G32B32A32_FLOAT:
|
||||
// return V_0280A0_COLOR_32_32_32_32_FLOAT;
|
||||
return 0;
|
||||
default:
|
||||
R600_ERR("unsupported colorswap format %d\n", format);
|
||||
return ~0;
|
||||
}
|
||||
return ~0;
|
||||
|
||||
}
|
||||
|
||||
static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
|
||||
{
|
||||
switch (format) {
|
||||
/* 8-bit buffers. */
|
||||
case PIPE_FORMAT_A8_UNORM:
|
||||
case PIPE_FORMAT_I8_UNORM:
|
||||
case PIPE_FORMAT_L8_UNORM:
|
||||
case PIPE_FORMAT_R8_UNORM:
|
||||
case PIPE_FORMAT_R8_SNORM:
|
||||
case PIPE_FORMAT_A8_UNORM:
|
||||
case PIPE_FORMAT_I8_UNORM:
|
||||
case PIPE_FORMAT_L8_UNORM:
|
||||
case PIPE_FORMAT_R8_UNORM:
|
||||
case PIPE_FORMAT_R8_SNORM:
|
||||
return V_0280A0_COLOR_8;
|
||||
|
||||
/* 16-bit buffers. */
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
return V_0280A0_COLOR_5_6_5;
|
||||
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5X1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5X1_UNORM:
|
||||
return V_0280A0_COLOR_1_5_5_5;
|
||||
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4X4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4X4_UNORM:
|
||||
return V_0280A0_COLOR_4_4_4_4;
|
||||
|
||||
/* 32-bit buffers. */
|
||||
case PIPE_FORMAT_B8G8R8A8_UNORM:
|
||||
case PIPE_FORMAT_B8G8R8X8_UNORM:
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_A8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_SNORM:
|
||||
case PIPE_FORMAT_X8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
|
||||
case PIPE_FORMAT_A8B8G8R8_SRGB:
|
||||
case PIPE_FORMAT_B8G8R8A8_SRGB:
|
||||
case PIPE_FORMAT_A8B8G8R8_SRGB:
|
||||
case PIPE_FORMAT_A8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_B8G8R8A8_SRGB:
|
||||
case PIPE_FORMAT_B8G8R8A8_UNORM:
|
||||
case PIPE_FORMAT_B8G8R8X8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_SNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
|
||||
case PIPE_FORMAT_X8B8G8R8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
return V_0280A0_COLOR_8_8_8_8;
|
||||
|
||||
case PIPE_FORMAT_R10G10B10A2_UNORM:
|
||||
case PIPE_FORMAT_R10G10B10X2_SNORM:
|
||||
case PIPE_FORMAT_B10G10R10A2_UNORM:
|
||||
case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
|
||||
case PIPE_FORMAT_R10G10B10A2_UNORM:
|
||||
case PIPE_FORMAT_R10G10B10X2_SNORM:
|
||||
case PIPE_FORMAT_B10G10R10A2_UNORM:
|
||||
case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
|
||||
return V_0280A0_COLOR_10_10_10_2;
|
||||
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
|
@ -265,25 +265,24 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
|
|||
return V_0280A0_COLOR_24_8;
|
||||
|
||||
/* 64-bit buffers. */
|
||||
case PIPE_FORMAT_R16G16B16A16_UNORM:
|
||||
case PIPE_FORMAT_R16G16B16A16_SNORM:
|
||||
case PIPE_FORMAT_R16G16B16A16_UNORM:
|
||||
case PIPE_FORMAT_R16G16B16A16_SNORM:
|
||||
return V_0280A0_COLOR_16_16_16_16;
|
||||
case PIPE_FORMAT_R16G16B16A16_FLOAT:
|
||||
case PIPE_FORMAT_R16G16B16A16_FLOAT:
|
||||
return V_0280A0_COLOR_16_16_16_16_FLOAT;
|
||||
case PIPE_FORMAT_R32G32_FLOAT:
|
||||
case PIPE_FORMAT_R32G32_FLOAT:
|
||||
return V_0280A0_COLOR_32_32_FLOAT;
|
||||
|
||||
/* 128-bit buffers. */
|
||||
case PIPE_FORMAT_R32G32B32_FLOAT:
|
||||
case PIPE_FORMAT_R32G32B32A32_FLOAT:
|
||||
case PIPE_FORMAT_R32G32B32_FLOAT:
|
||||
case PIPE_FORMAT_R32G32B32A32_FLOAT:
|
||||
return V_0280A0_COLOR_32_32_32_32_FLOAT;
|
||||
|
||||
/* YUV buffers. */
|
||||
case PIPE_FORMAT_UYVY:
|
||||
// return R300_COLOR_FORMAT_YVYU;
|
||||
case PIPE_FORMAT_YUYV:
|
||||
// return R300_COLOR_FORMAT_VYUY;
|
||||
default:
|
||||
case PIPE_FORMAT_UYVY:
|
||||
case PIPE_FORMAT_YUYV:
|
||||
default:
|
||||
R600_ERR("unsupported color format %d\n", format);
|
||||
return ~0; /* Unsupported. */
|
||||
}
|
||||
}
|
||||
|
|
|
@ -209,12 +209,24 @@
|
|||
#define S_0280A0_NUMBER_TYPE(x) (((x) & 0x7) << 12)
|
||||
#define G_0280A0_NUMBER_TYPE(x) (((x) >> 12) & 0x7)
|
||||
#define C_0280A0_NUMBER_TYPE 0xFFFF8FFF
|
||||
#define V_0280A0_NUMBER_UNORM 0x00000000
|
||||
#define V_0280A0_NUMBER_SNORM 0x00000001
|
||||
#define V_0280A0_NUMBER_USCALED 0x00000002
|
||||
#define V_0280A0_NUMBER_SSCALED 0x00000003
|
||||
#define V_0280A0_NUMBER_UINT 0x00000004
|
||||
#define V_0280A0_NUMBER_SINT 0x00000005
|
||||
#define V_0280A0_NUMBER_SRGB 0x00000006
|
||||
#define V_0280A0_NUMBER_FLOAT 0x00000007
|
||||
#define S_0280A0_READ_SIZE(x) (((x) & 0x1) << 15)
|
||||
#define G_0280A0_READ_SIZE(x) (((x) >> 15) & 0x1)
|
||||
#define C_0280A0_READ_SIZE 0xFFFF7FFF
|
||||
#define S_0280A0_COMP_SWAP(x) (((x) & 0x3) << 16)
|
||||
#define G_0280A0_COMP_SWAP(x) (((x) >> 16) & 0x3)
|
||||
#define C_0280A0_COMP_SWAP 0xFFFCFFFF
|
||||
#define V_0280A0_SWAP_STD 0x00000000
|
||||
#define V_0280A0_SWAP_ALT 0x00000001
|
||||
#define V_0280A0_SWAP_STD_REV 0x00000002
|
||||
#define V_0280A0_SWAP_ALT_REV 0x00000003
|
||||
#define S_0280A0_TILE_MODE(x) (((x) & 0x3) << 18)
|
||||
#define G_0280A0_TILE_MODE(x) (((x) >> 18) & 0x3)
|
||||
#define C_0280A0_TILE_MODE 0xFFF3FFFF
|
||||
|
@ -1169,11 +1181,4 @@
|
|||
#define G_0286D4_PNT_SPRITE_TOP_1(x) (((x) >> 14) & 0x1)
|
||||
#define C_0286D4_PNT_SPRITE_TOP_1 0xFFFFBFFF
|
||||
|
||||
/* temporary swap */
|
||||
#define SWAP_STD 0
|
||||
#define SWAP_ALT 1
|
||||
#define SWAP_STD_REV 2
|
||||
#define SWAP_ALT_REV 3
|
||||
|
||||
#define NUM_FORMAT_SRGB 6
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue