diff options
| author | Chris Forbes <chrisforbes@google.com> | 2018-04-13 09:34:15 -0700 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2018-04-15 17:45:52 -0700 |
| commit | 27681093e25892944f8dcdb7a86450c1ec202d34 (patch) | |
| tree | ae2917ae7a13ce8515c4be19a79a0c6bd57d46b0 /layers/descriptor_sets.cpp | |
| parent | 27fc489851430e984f2ac081e7cfbf05c88f8268 (diff) | |
| download | usermoji-27681093e25892944f8dcdb7a86450c1ec202d34.tar.xz | |
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
Diffstat (limited to 'layers/descriptor_sets.cpp')
| -rw-r--r-- | layers/descriptor_sets.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
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; } |
