aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2017-05-18 16:01:20 -0700
committerChris Forbes <chrisf@ijw.co.nz>2017-05-18 19:08:01 -0700
commit0361004649224337563498fc67d9be3c013e1cd4 (patch)
tree7001a06eaf5458a838258995cf12d63609059822 /layers/core_validation.cpp
parentbd5ab535a0ada8182f8c2645fd1a0c92bec09431 (diff)
downloadusermoji-0361004649224337563498fc67d9be3c013e1cd4.tar.xz
tests: Finalize tests for rerecorded case
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp11
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.",