pvr: fix segfault in dEQP-VK.ycbcr.query.*
authorLuigi Santivetti <luigi.santivetti@imgtec.com>
Thu, 9 Mar 2023 15:54:35 +0000 (15:54 +0000)
committerMarge Bot <emma+marge@anholt.net>
Wed, 29 Mar 2023 00:17:40 +0000 (00:17 +0000)
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22061>

src/imagination/vulkan/pvr_descriptor_set.c

index 2c0737b..2c32d28 100644 (file)
@@ -1191,7 +1191,6 @@ pvr_descriptor_set_create(struct pvr_device *device,
    struct pvr_descriptor_set *set;
    VkResult result;
    size_t size;
-   void *map;
 
    size = sizeof(*set) + sizeof(set->descriptors[0]) * layout->descriptor_count;
 
@@ -1231,7 +1230,6 @@ pvr_descriptor_set_create(struct pvr_device *device,
    set->layout = layout;
    set->pool = pool;
 
-   map = set->pvr_bo->bo->map;
    for (uint32_t i = 0; i < layout->binding_count; i++) {
       const struct pvr_descriptor_set_layout_binding *binding =
          &layout->bindings[i];
@@ -1254,6 +1252,7 @@ pvr_descriptor_set_create(struct pvr_device *device,
                                                  binding,
                                                  stage,
                                                  j);
+            void *map = set->pvr_bo->bo->map;
 
             if (binding->type == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER)
                offset_in_dwords += 4;