diff options
| -rw-r--r-- | layers/core_validation.cpp | 8 | ||||
| -rw-r--r-- | layers/core_validation_types.h | 4 |
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 { |
