zink: fix `final_hash` update in `zink_gfx_program_update`
authorantonino <antonino.maniscalco@collabora.com>
Wed, 15 Mar 2023 12:09:34 +0000 (13:09 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 15 Mar 2023 18:00:20 +0000 (18:00 +0000)
commit1538a28803d58ccfb754979d701fae8a92e72bda
treec383c28531f64d0cf8cad8c93858ca9e6c7cb80e
parent78198d634d1e55b4d58945bda5f46bbe327e8902
zink: fix `final_hash` update in `zink_gfx_program_update`

The logic that updates `ctx->gfx_pipeline_state.final_hash` assumed that
the program is replaced. It is supposed to xor `final_hash` with the
hash first and then with the new hash however when the program is
updated it end up xor-ing the new hash twice so it does nothing.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fixes: 15450d2c2e2 ("zink: incrementally hash all pipeline component hashes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21925>
src/gallium/drivers/zink/zink_program.c