diff options
author | Alex Deucher <[email protected]> | 2012-11-15 09:34:13 -0500 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2012-11-15 12:10:48 -0500 |
commit | 565c29f221660fbcf9cd49780a9baf937586b768 (patch) | |
tree | 4f97d9d0f348d298fae91fae38d82361674cbc57 | |
parent | 34d487b64d467a568d197de8376dcba88418bea1 (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.c | 5 |
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; |