kk: Correctly release pipeline handles at shader destroy

The condition to release Metal pipelines incorrectly checks which shader
stage we are destroying leading to leads when graphics pipelines had to
be released.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
(cherry picked from commit 622ebba476)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40092>
This commit is contained in:
Aitor Camacho 2026-01-22 19:12:51 +09:00 committed by Eric Engestrom
parent 9a63c20469
commit 024143cca4
2 changed files with 3 additions and 3 deletions

View file

@ -15984,7 +15984,7 @@
"description": "kk: Correctly release pipeline handles at shader destroy",
"nominated": false,
"nomination_type": 0,
"resolution": 4,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -569,9 +569,9 @@ kk_shader_destroy(struct vk_device *vk_dev, struct vk_shader *vk_shader,
struct kk_device *dev = container_of(vk_dev, struct kk_device, vk);
struct kk_shader *shader = container_of(vk_shader, struct kk_shader, vk);
if (shader->pipeline.cs) {
if (shader->info.stage == MESA_SHADER_COMPUTE) {
mtl_release(shader->pipeline.cs);
} else if (shader->pipeline.gfx.handle) {
} else if (shader->info.stage == MESA_SHADER_VERTEX) {
mtl_release(shader->pipeline.gfx.handle);
if (shader->pipeline.gfx.mtl_depth_stencil_state_handle)
mtl_release(shader->pipeline.gfx.mtl_depth_stencil_state_handle);