From 27681093e25892944f8dcdb7a86450c1ec202d34 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 13 Apr 2018 09:34:15 -0700 Subject: Don't clobber immutable samplers in update The copy cases were already doing the right thing; the basic updates missed the check for the sampler being immutable. Fixes #2569 --- layers/descriptor_sets.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'layers/descriptor_sets.cpp') diff --git a/layers/descriptor_sets.cpp b/layers/descriptor_sets.cpp index 57f30347..f9d64568 100644 --- a/layers/descriptor_sets.cpp +++ b/layers/descriptor_sets.cpp @@ -1358,7 +1358,9 @@ bool cvdescriptorset::ValidateImageUpdate(VkImageView image_view, VkImageLayout } void cvdescriptorset::SamplerDescriptor::WriteUpdate(const VkWriteDescriptorSet *update, const uint32_t index) { - sampler_ = update->pImageInfo[index].sampler; + if (!immutable_) { + sampler_ = update->pImageInfo[index].sampler; + } updated = true; } @@ -1390,7 +1392,9 @@ cvdescriptorset::ImageSamplerDescriptor::ImageSamplerDescriptor(const VkSampler void cvdescriptorset::ImageSamplerDescriptor::WriteUpdate(const VkWriteDescriptorSet *update, const uint32_t index) { updated = true; const auto &image_info = update->pImageInfo[index]; - sampler_ = image_info.sampler; + if (!immutable_) { + sampler_ = image_info.sampler; + } image_view_ = image_info.imageView; image_layout_ = image_info.imageLayout; } -- cgit v1.2.3