From: Mike Blumenkrantz Date: Fri, 14 May 2021 22:31:50 +0000 (-0400) Subject: zink: flag the gfx pipeline dirty and unset pipeline shader module on shader change X-Git-Tag: upstream/22.3.5~19076 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=26b5f4c45e8f2467fe5b41013e42a516fc01cb0f;p=platform%2Fupstream%2Fmesa.git 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 Part-of: --- diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index bb205f7..c5163e8 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -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;