OSDN Git Service

radv: don't copy buffer descriptors list for samplers
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 25 Feb 2019 14:28:25 +0000 (15:28 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 6 Mar 2019 21:35:53 +0000 (21:35 +0000)
Sampler descriptors don't have a buffer list.

This fixes some crashes with new CTS
dEQP-VK.binding_model.descriptor_copy.*.sampler_*.

Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit 4924dfc851e52c383380ae56be4d8606684ead7c)

src/amd/vulkan/radv_descriptor_set.c

index bc0ff5c..7f7d682 100644 (file)
@@ -965,7 +965,11 @@ void radv_update_descriptor_sets(
                        }
                        src_ptr += src_binding_layout->size / 4;
                        dst_ptr += dst_binding_layout->size / 4;
-                       dst_buffer_list[j] = src_buffer_list[j];
+
+                       if (src_binding_layout->type != VK_DESCRIPTOR_TYPE_SAMPLER) {
+                               /* Sampler descriptors don't have a buffer list. */
+                               dst_buffer_list[j] = src_buffer_list[j];
+                       }
                }
        }
 }