st/bitmap: only release YUV samplerviews

this is consistent with other callers of st_get_sampler_views() and
avoids desync in the sv cache

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14934
Fixes: 73da0dcddc ("gallium: eliminate frontend refcounting from samplerviews")

Acked-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 1a5c660ef5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>
This commit is contained in:
Mike Blumenkrantz 2026-02-25 10:07:49 -05:00 committed by Eric Engestrom
parent 0486f6bf8b
commit f1a64582dd
2 changed files with 3 additions and 3 deletions

View file

@ -6124,7 +6124,7 @@
"description": "st/bitmap: only release YUV samplerviews",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "73da0dcddcb351f46544b207de55a4cb81654cb8",
"notes": null

View file

@ -255,8 +255,8 @@ setup_render_state(struct gl_context *ctx,
pipe->set_sampler_views(pipe, MESA_SHADER_FRAGMENT, 0, num_views, 0,
sampler_views);
st->state.num_sampler_views[MESA_SHADER_FRAGMENT] = num_views;
for (unsigned i = 0; i < num_views; i++)
/* only free YUV samplerviews */
u_foreach_bit(i, extra_sampler_views)
pipe->sampler_view_release(pipe, sampler_views[i]);
}