From 0c5a309cee868cd6e3870f439f560f5f32eb7c40 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 22 Feb 2015 15:21:59 +0100 Subject: radeonsi: use a switch statement in si_shader_selector_key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Michel Dänzer --- src/gallium/drivers/radeonsi/si_state_shaders.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 610af948f12..e037ce41468 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -356,21 +356,25 @@ static INLINE void si_shader_selector_key(struct pipe_context *ctx, union si_shader_key *key) { struct si_context *sctx = (struct si_context *)ctx; - memset(key, 0, sizeof(*key)); + unsigned i; - if (sel->type == PIPE_SHADER_VERTEX) { - unsigned i; - if (!sctx->vertex_elements) - return; + memset(key, 0, sizeof(*key)); - for (i = 0; i < sctx->vertex_elements->count; ++i) - key->vs.instance_divisors[i] = sctx->vertex_elements->elements[i].instance_divisor; + switch (sel->type) { + case PIPE_SHADER_VERTEX: + if (sctx->vertex_elements) + for (i = 0; i < sctx->vertex_elements->count; ++i) + key->vs.instance_divisors[i] = + sctx->vertex_elements->elements[i].instance_divisor; if (sctx->gs_shader) { key->vs.as_es = 1; key->vs.gs_used_inputs = sctx->gs_shader->gs_used_inputs; } - } else if (sel->type == PIPE_SHADER_FRAGMENT) { + break; + case PIPE_SHADER_GEOMETRY: + break; + case PIPE_SHADER_FRAGMENT: { struct si_state_rasterizer *rs = sctx->queued.named.rasterizer; if (sel->info.properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS]) @@ -398,11 +402,14 @@ static INLINE void si_shader_selector_key(struct pipe_context *ctx, } key->ps.alpha_func = PIPE_FUNC_ALWAYS; - /* Alpha-test should be disabled if colorbuffer 0 is integer. */ if (sctx->queued.named.dsa && !sctx->framebuffer.cb0_is_integer) key->ps.alpha_func = sctx->queued.named.dsa->alpha_func; + break; + } + default: + assert(0); } } -- cgit v1.2.3