From 745efa1231e256192c901eeffa1a740dfa7e11ca Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 1 Sep 2022 13:37:41 -0400 Subject: [PATCH] zink: copy the non-dirty shader stages when updating gfx program typo during refactoring Fixes: d8455e5ebfa ("zink: change u_foreach_bit to regular for loop in zink_gfx_program_update") Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_program.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index a07f4ee..3c3641a 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -423,7 +423,7 @@ zink_gfx_program_update(struct zink_context *ctx) if (entry) { prog = (struct zink_gfx_program*)entry->data; for (unsigned i = 0; i < ZINK_GFX_SHADER_COUNT; i++) { - if (prog->stages_present & ctx->dirty_shader_stages & BITFIELD_BIT(i)) + if (prog->stages_present & ~ctx->dirty_shader_stages & BITFIELD_BIT(i)) ctx->gfx_pipeline_state.modules[i] = prog->modules[i]->shader; } /* ensure variants are always updated if keys have changed since last use */ -- 2.7.4