summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-02-28 09:55:09 -0800
committerCorbin Simpson <[email protected]>2009-02-28 09:56:35 -0800
commit5f1fdaabd1686c37c45f3ad4cf125fce1df3a4a8 (patch)
treee1ea5c526867694e89142a78e9490cdc8ff8f6e4
parentd1559eac6d7f9ee8757a2adc6271eb951efc546f (diff)
r300-gallium: Cleanup color formats.
-rw-r--r--src/gallium/drivers/r300/r300_screen.c17
-rw-r--r--src/gallium/drivers/r300/r300_state_inlines.h17
2 files changed, 19 insertions, 15 deletions
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index 470e1e2acb9..2fcd5048128 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -179,8 +179,11 @@ static boolean check_tex_2d_format(enum pipe_format format, boolean is_r500)
{
switch (format) {
/* Colorbuffer */
+ case PIPE_FORMAT_A4R4G4B4_UNORM:
+ case PIPE_FORMAT_R5G6B5_UNORM:
+ case PIPE_FORMAT_A1R5G5B5_UNORM:
case PIPE_FORMAT_A8R8G8B8_UNORM:
- /* Texture */
+ /* Colorbuffer or texture */
case PIPE_FORMAT_I8_UNORM:
/* Z buffer */
case PIPE_FORMAT_Z16_UNORM:
@@ -188,29 +191,25 @@ static boolean check_tex_2d_format(enum pipe_format format, boolean is_r500)
case PIPE_FORMAT_Z24S8_UNORM:
return TRUE;
- /* XXX Supported yet unimplemented formats: */
- case PIPE_FORMAT_A1R5G5B5_UNORM:
- case PIPE_FORMAT_R5G6B5_UNORM:
/* XXX These don't even exist
case PIPE_FORMAT_A32R32G32B32:
case PIPE_FORMAT_A16R16G16B16: */
/* XXX Insert YUV422 packed VYUY and YVYU here */
- /* XXX What the deuce is UV88? (r3xx accel page 14) */
- case PIPE_FORMAT_A4R4G4B4_UNORM:
+ /* XXX What the deuce is UV88? (r3xx accel page 14)
debug_printf("r300: Warning: Got unimplemented format: %s in %s\n",
pf_name(format), __FUNCTION__);
- return FALSE;
+ return FALSE; */
/* XXX Supported yet unimplemented r5xx formats: */
/* XXX Again, what is UV1010 this time? (r5xx accel page 148) */
/* XXX Even more that don't exist
case PIPE_FORMAT_A10R10G10B10_UNORM:
case PIPE_FORMAT_A2R10G10B10_UNORM:
- case PIPE_FORMAT_I10_UNORM: */
+ case PIPE_FORMAT_I10_UNORM:
debug_printf(
"r300: Warning: Got unimplemented r500 format: %s in %s\n",
pf_name(format), __FUNCTION__);
- return FALSE;
+ return FALSE; */
default:
debug_printf("r300: Warning: Got unsupported format: %s in %s\n",
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index e686e1fec6e..361443a6923 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -265,21 +265,24 @@ static INLINE uint32_t r300_anisotropy(float max_aniso)
static INLINE uint32_t r300_translate_colorformat(enum pipe_format format)
{
switch (format) {
- case PIPE_FORMAT_A8R8G8B8_UNORM:
- return R300_COLOR_FORMAT_ARGB8888;
+ /* 8-bit buffers */
case PIPE_FORMAT_I8_UNORM:
return R300_COLOR_FORMAT_I8;
- case PIPE_FORMAT_A1R5G5B5_UNORM:
- return R300_COLOR_FORMAT_ARGB1555;
+ /* 16-bit buffers */
case PIPE_FORMAT_R5G6B5_UNORM:
return R300_COLOR_FORMAT_RGB565;
+ case PIPE_FORMAT_A1R5G5B5_UNORM:
+ return R300_COLOR_FORMAT_ARGB1555;
+ case PIPE_FORMAT_A4R4G4B4_UNORM:
+ return R300_COLOR_FORMAT_ARGB4444;
+ /* 32-bit buffers */
+ case PIPE_FORMAT_A8R8G8B8_UNORM:
+ return R300_COLOR_FORMAT_ARGB8888;
/* XXX Not in pipe_format
case PIPE_FORMAT_A32R32G32B32:
return R300_COLOR_FORMAT_ARGB32323232;
case PIPE_FORMAT_A16R16G16B16:
return R300_COLOR_FORMAT_ARGB16161616; */
- case PIPE_FORMAT_A4R4G4B4_UNORM:
- return R300_COLOR_FORMAT_ARGB4444;
/* XXX Not in pipe_format
case PIPE_FORMAT_A10R10G10B10_UNORM:
return R500_COLOR_FORMAT_ARGB10101010;
@@ -299,8 +302,10 @@ static INLINE uint32_t r300_translate_colorformat(enum pipe_format format)
static INLINE uint32_t r300_translate_zsformat(enum pipe_format format)
{
switch (format) {
+ /* 16-bit depth, no stencil */
case PIPE_FORMAT_Z16_UNORM:
return R300_DEPTHFORMAT_16BIT_INT_Z;
+ /* 24-bit depth, 8-bit stencil */
case PIPE_FORMAT_Z24S8_UNORM:
return R300_DEPTHFORMAT_24BIT_INT_Z_8BIT_STENCIL;
default: