diff options
| author | Chris Forbes <chrisforbes@google.com> | 2017-05-18 16:01:20 -0700 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2017-05-18 19:08:01 -0700 |
| commit | 0361004649224337563498fc67d9be3c013e1cd4 (patch) | |
| tree | 7001a06eaf5458a838258995cf12d63609059822 /layers/core_validation.cpp | |
| parent | bd5ab535a0ada8182f8c2645fd1a0c92bec09431 (diff) | |
| download | usermoji-0361004649224337563498fc67d9be3c013e1cd4.tar.xz | |
tests: Finalize tests for rerecorded case
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 06165048..9592df7e 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -3096,12 +3096,19 @@ bool ValidateCmdQueueFlags(layer_data *dev_data, GLOBAL_CB_NODE *cb_node, const return false; } +static char const * GetCauseStr(VK_OBJECT obj) { + if (obj.type == kVulkanObjectTypeDescriptorSet) + return "destroyed or updated"; + if (obj.type == kVulkanObjectTypeCommandBuffer) + return "destroyed or rerecorded"; + return "destroyed"; +} + static bool ReportInvalidCommandBuffer(layer_data *dev_data, GLOBAL_CB_NODE *cb_state, const char *call_source) { bool skip = false; for (auto obj : cb_state->broken_bindings) { const char *type_str = object_string[obj.type]; - // Descriptor sets are a special case that can be either destroyed or updated to invalidate a CB - const char *cause_str = (obj.type == kVulkanObjectTypeDescriptorSet) ? "destroyed or updated" : "destroyed"; + const char *cause_str = GetCauseStr(obj); skip |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, HandleToUint64(cb_state->commandBuffer), __LINE__, DRAWSTATE_INVALID_COMMAND_BUFFER, "DS", "You are adding %s to command buffer 0x%p that is invalid because bound %s 0x%" PRIxLEAST64 " was %s.", |
