summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2012-11-15 09:34:13 -0500
committerAlex Deucher <[email protected]>2012-11-15 12:10:48 -0500
commit565c29f221660fbcf9cd49780a9baf937586b768 (patch)
tree4f97d9d0f348d298fae91fae38d82361674cbc57
parent34d487b64d467a568d197de8376dcba88418bea1 (diff)
radeonsi: assert the CB format is valid (v2)
Assert the the CB format is valid and default to the INVALID hw format rather than ~0U when the format doesn't match for non-debug builds. v2: use INVALID hw format rather than ~0U Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_state.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index fbc636dece4..31a55a22006 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -831,7 +831,7 @@ static uint32_t si_translate_colorformat(enum pipe_format format)
case PIPE_FORMAT_R4A4_UNORM:
case PIPE_FORMAT_A4R4_UNORM:
default:
- return ~0U; /* Unsupported. */
+ return V_028C70_COLOR_INVALID; /* Unsupported. */
}
}
@@ -1432,7 +1432,7 @@ static bool si_is_vertex_format_supported(struct pipe_screen *screen, enum pipe_
static bool si_is_colorbuffer_format_supported(enum pipe_format format)
{
- return si_translate_colorformat(format) != ~0U &&
+ return si_translate_colorformat(format) != V_028C70_COLOR_INVALID &&
si_translate_colorswap(format) != ~0U;
}
@@ -1606,6 +1606,7 @@ static void si_cb(struct r600_context *rctx, struct si_pm4_state *pm4,
}
format = si_translate_colorformat(surf->base.format);
+ assert(format != V_028C70_COLOR_INVALID);
swap = si_translate_colorswap(surf->base.format);
if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) {
endian = V_028C70_ENDIAN_NONE;