ctx->gfx_pipeline_state.final_hash ^= ctx->curr_program->last_variant_hash;
if (entry) {
prog = (struct zink_gfx_program*)entry->data;
- if (prog->is_separable) {
+ if (prog->is_separable && !(zink_debug & ZINK_DEBUG_NOOPT)) {
/* shader variants can't be handled by separable programs: sync and compile */
if (!ZINK_SHADER_KEY_OPTIMAL_IS_DEFAULT(ctx->gfx_pipeline_state.optimal_key))
util_queue_fence_wait(&prog->base.cache_fence);
/* remove old hash */
ctx->gfx_pipeline_state.optimal_key = ctx->gfx_pipeline_state.shader_keys_optimal.key.val;
ctx->gfx_pipeline_state.final_hash ^= ctx->curr_program->last_variant_hash;
- if (ctx->curr_program->is_separable) {
+ if (ctx->curr_program->is_separable && !(zink_debug & ZINK_DEBUG_NOOPT)) {
struct zink_gfx_program *prog = ctx->curr_program;
if (!ZINK_SHADER_KEY_OPTIMAL_IS_DEFAULT(ctx->gfx_pipeline_state.optimal_key)) {
util_queue_fence_wait(&prog->base.cache_fence);