aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--layers/core_validation.cpp8
-rw-r--r--layers/core_validation_types.h4
2 files changed, 9 insertions, 3 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 1f899031..46b1d616 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -4596,12 +4596,16 @@ static void DecrementBoundResources(layer_data const *dev_data, GLOBAL_CB_NODE c
switch (obj.type) {
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: {
auto set_node = getSetNode(dev_data, reinterpret_cast<VkDescriptorSet &>(obj.handle));
- set_node->in_use.fetch_sub(1);
+ if (set_node) {
+ set_node->in_use.fetch_sub(1);
+ }
break;
}
case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: {
auto sampler_node = getSamplerNode(dev_data, reinterpret_cast<VkSampler &>(obj.handle));
- sampler_node->in_use.fetch_sub(1);
+ if (sampler_node) {
+ sampler_node->in_use.fetch_sub(1);
+ }
break;
}
default:
diff --git a/layers/core_validation_types.h b/layers/core_validation_types.h
index 926434d7..8c892629 100644
--- a/layers/core_validation_types.h
+++ b/layers/core_validation_types.h
@@ -164,7 +164,9 @@ struct SAMPLER_NODE : public BASE_NODE {
VkSampler sampler;
VkSamplerCreateInfo createInfo;
- SAMPLER_NODE(const VkSampler *ps, const VkSamplerCreateInfo *pci) : sampler(*ps), createInfo(*pci){};
+ SAMPLER_NODE(const VkSampler *ps, const VkSamplerCreateInfo *pci) : sampler(*ps), createInfo(*pci){
+ in_use.store(0);
+ };
};
class IMAGE_NODE : public BASE_NODE {