The copy cases were already doing the right thing; the basic updates
missed the check for the sampler being immutable.
Fixes #2569
}
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;
}
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;
}