[Mesa-dev] [PATCH 06/11] radeonsi: move handling of DBG_NO_OPT_VARIANT into si_shader_selector_key
Marek Olšák
maraeo at gmail.com
Thu Jun 1 18:18:24 UTC 2017
From: Marek Olšák <marek.olsak at amd.com>
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 5a22add..55e881c 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -1431,20 +1431,23 @@ static inline void si_shader_selector_key(struct pipe_context *ctx,
sel->info.uses_linear_sample > 1;
}
}
key->part.ps.epilog.alpha_func = si_get_alpha_test_func(sctx);
break;
}
default:
assert(0);
}
+
+ if (unlikely(sctx->screen->b.debug_flags & DBG_NO_OPT_VARIANT))
+ memset(&key->opt, 0, sizeof(key->opt));
}
static void si_build_shader_variant(void *job, int thread_index)
{
struct si_shader *shader = (struct si_shader *)job;
struct si_shader_selector *sel = shader->selector;
struct si_screen *sscreen = sel->screen;
LLVMTargetMachineRef tm;
struct pipe_debug_callback *debug = &shader->compiler_ctx_state.debug;
int r;
@@ -1526,24 +1529,20 @@ static int si_shader_select_with_key(struct si_screen *sscreen,
struct si_shader_ctx_state *state,
struct si_compiler_ctx_state *compiler_state,
struct si_shader_key *key,
int thread_index)
{
struct si_shader_selector *sel = state->cso;
struct si_shader_selector *previous_stage_sel = NULL;
struct si_shader *current = state->current;
struct si_shader *iter, *shader = NULL;
- if (unlikely(sscreen->b.debug_flags & DBG_NO_OPT_VARIANT)) {
- memset(&key->opt, 0, sizeof(key->opt));
- }
-
again:
/* Check if we don't need to change anything.
* This path is also used for most shaders that don't need multiple
* variants, it will cost just a computation of the key and this
* test. */
if (likely(current &&
memcmp(¤t->key, key, sizeof(*key)) == 0 &&
(!current->is_optimized ||
util_queue_fence_is_signalled(¤t->optimized_ready))))
return current->compilation_failed ? -1 : 0;
--
2.7.4
More information about the mesa-dev
mailing list