zink: flag the gfx pipeline dirty and unset pipeline shader module on shader change

there's no need to leave this until the module updating when the info
is known much earlier

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12428>
This commit is contained in:
Mike Blumenkrantz
2021-05-14 18:31:50 -04:00
committed by Marge Bot
parent f676e6a64b
commit 26b5f4c45e
+5 -1
View File
@@ -881,8 +881,12 @@ bind_stage(struct zink_context *ctx, enum pipe_shader_type stage,
ctx->compute_stage = shader;
if (shader)
zink_select_launch_grid(ctx);
} else
} else {
ctx->gfx_stages[stage] = shader;
ctx->gfx_pipeline_state.combined_dirty = true;
if (!shader)
ctx->gfx_pipeline_state.modules[stage] = VK_NULL_HANDLE;
}
ctx->dirty_shader_stages |= 1 << stage;
if (shader && shader->nir->info.num_inlinable_uniforms)
ctx->shader_has_inlinable_uniforms_mask |= 1 << stage;