tc: fix zsbuf rp info persistence across fb states

zsbuf info is only part of data8[3], not the whole thing

cc: mesa-stable

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477>
(cherry picked from commit ea85a14c35)
This commit is contained in:
Mike Blumenkrantz 2025-06-13 12:03:04 -04:00 committed by Eric Engestrom
parent 72e64b2713
commit 4f355cd8cc
3 changed files with 3 additions and 3 deletions

View file

@ -694,7 +694,7 @@
"description": "tc: fix zsbuf rp info persistence across fb states",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -1476,7 +1476,7 @@ tc_set_framebuffer_state(struct pipe_context *_pipe,
/* store existing zsbuf data for possible persistence */
uint8_t zsbuf = tc->renderpass_info_recording->has_draw ?
0 :
tc->renderpass_info_recording->data8[3];
tc->renderpass_info_recording->data8[3] & BITFIELD_MASK(4);
bool zsbuf_changed = tc->fb_resources[PIPE_MAX_COLOR_BUFS] !=
(fb->zsbuf ? fb->zsbuf->texture : NULL);

View file

@ -465,7 +465,7 @@ struct tc_renderpass_info {
uint32_t data32[2];
/* cso info is in data16[2] */
uint16_t data16[4];
/* zsbuf fb info is in data8[3] */
/* zsbuf fb info is in data8[3] & BITFIELD_MASK(4) */
uint8_t data8[8];
};
};