zink: copy the non-dirty shader stages when updating gfx program
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 1 Sep 2022 17:37:41 +0000 (13:37 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 26 Sep 2022 17:12:31 +0000 (17:12 +0000)
typo during refactoring

Fixes: d8455e5ebfa ("zink: change u_foreach_bit to regular for loop in zink_gfx_program_update")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786>

src/gallium/drivers/zink/zink_program.c

index a07f4ee..3c3641a 100644 (file)
@@ -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 */