Module: Mesa Branch: staging/22.0 Commit: df0c813cb2e4be3a7027f763408cb7b20837d175 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df0c813cb2e4be3a7027f763408cb7b20837d175
Author: Mike Blumenkrantz <[email protected]> Date: Fri Mar 25 18:11:54 2022 -0400 zink: force push descriptors cache update if hashing detects changes this was previously only forced if the program pointer changed, but programs can be freed and reused, and these are definite cases where the last set cannot be reused, so jam it in cc: mesa-stable Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15591> (cherry picked from commit d415c28e64dd5f281067130b39e5e6b22bc2e963) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_descriptors.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 68d4417b2b6..5d8a3dec2b2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1692,7 +1692,7 @@ "description": "zink: force push descriptors cache update if hashing detects changes", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "because_sha": null }, { diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index f60e0913f57..fcb986049fd 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -1710,6 +1710,8 @@ zink_context_update_descriptor_states(struct zink_context *ctx, struct zink_prog first = false; } } + ctx->dd->changed[pg->is_compute][ZINK_DESCRIPTOR_TYPES] |= ctx->dd->push_state[pg->is_compute] != hash; + ctx->dd->changed[pg->is_compute][ZINK_DESCRIPTOR_TYPES] |= pg->dd->push_usage != ctx->dd->last_push_usage[pg->is_compute]; ctx->dd->push_state[pg->is_compute] = hash; ctx->dd->push_valid[pg->is_compute] = true; ctx->dd->last_push_usage[pg->is_compute] = pg->dd->push_usage;
