Module: Mesa
Branch: main
Commit: 417c51a511b23492b74d17b4d387bd814e850c15
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=417c51a511b23492b74d17b4d387bd814e850c15

Author: Dave Airlie <[email protected]>
Date:   Thu Jan 12 13:12:17 2023 +1000

lavapipe: fix one more descriptor set reference issue

I thought I'd fixed this already, must have gotten lost in a rebase.

fixes
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.bind_null_descriptor_set.1010

Fixes: 20902d1ed685 ("lavapipe: fix descriptor set layout reference counting in 
layout merge")
Reviewed-by: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20662>

---

 src/gallium/frontends/lavapipe/lvp_pipeline.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c 
b/src/gallium/frontends/lavapipe/lvp_pipeline.c
index ba62d289a84..69b83fc2a0b 100644
--- a/src/gallium/frontends/lavapipe/lvp_pipeline.c
+++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c
@@ -709,7 +709,8 @@ merge_layouts(struct vk_device *device, struct lvp_pipeline 
*dst, struct lvp_pip
    for (unsigned i = 0; i < src->vk.set_count; i++) {
       if (!dst->layout->vk.set_layouts[i]) {
          dst->layout->vk.set_layouts[i] = src->vk.set_layouts[i];
-         vk_descriptor_set_layout_ref(src->vk.set_layouts[i]);
+         if (dst->layout->vk.set_layouts[i])
+            vk_descriptor_set_layout_ref(src->vk.set_layouts[i]);
       }
    }
    dst->layout->vk.set_count = MAX2(dst->layout->vk.set_count,

Reply via email to