For the series: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
On 19.02.2017 17:27, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com> R600_DEBUG=mono has had no effect since: commit 1fabb297177069e95ec1bb7053acb32f8ec3e092 Author: Marek Olšák <marek.ol...@amd.com> Date: Tue Feb 14 22:08:32 2017 +0100 radeonsi: have separate LS and ES main shader parts in the shader selector Also, this assertion was failing: si_state_shaders.c:1307: si_shader_select_with_key: Assertion `!shader->is_optimized' failed. --- src/gallium/drivers/radeonsi/si_state_shaders.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 727ff33..12ea20b 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -1235,20 +1235,21 @@ again: return -ENOMEM; } shader->selector = sel; shader->key = *key; shader->compiler_ctx_state = *compiler_state; /* Compile the main shader part if it doesn't exist. This can happen * if the initial guess was wrong. */ struct si_shader **mainp = si_get_main_shader_part(sel, key); bool is_pure_monolithic = + sscreen->use_monolithic_shaders || memcmp(&key->mono, &zeroed.mono, sizeof(key->mono)) != 0; if (!*mainp && !is_pure_monolithic) { struct si_shader *main_part = CALLOC_STRUCT(si_shader); if (!main_part) { FREE(shader); pipe_mutex_unlock(sel->mutex); return -ENOMEM; /* skip the draw call */ } @@ -1268,21 +1269,21 @@ again: *mainp = main_part; } /* Monolithic-only shaders don't make a distinction between optimized * and unoptimized. */ shader->is_monolithic = is_pure_monolithic || memcmp(&key->opt, &zeroed.opt, sizeof(key->opt)) != 0; shader->is_optimized = - !sscreen->use_monolithic_shaders && + !is_pure_monolithic && memcmp(&key->opt, &zeroed.opt, sizeof(key->opt)) != 0; if (shader->is_optimized) util_queue_fence_init(&shader->optimized_ready); if (!sel->last_variant) { sel->first_variant = shader; sel->last_variant = shader; } else { sel->last_variant->next_variant = shader; sel->last_variant = shader;
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev