aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-06-30 12:43:36 +1200
committerChris Forbes <chrisforbes@google.com>2016-07-01 12:02:30 +1200
commit100e6950ddcd2c74529040adf3655050d586ef73 (patch)
tree7da8e261718f6ed76ee7758b3df37ea4abd6d0a6 /layers/core_validation.cpp
parent022ef21c868d944e7227b4f32e85767fbced53c7 (diff)
downloadusermoji-100e6950ddcd2c74529040adf3655050d586ef73.tar.xz
layers: Fix render pass begin handling of initial layout
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index a020a4c3..8f0192fc 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -9094,13 +9094,16 @@ static bool VerifyFramebufferAndRenderPassLayouts(layer_data *dev_data, GLOBAL_C
SetLayout(pCB, image, sub, newNode);
continue;
}
- if (newNode.layout != node.layout) {
+ if (newNode.layout != VK_IMAGE_LAYOUT_UNDEFINED &&
+ newNode.layout != node.layout) {
skip_call |=
log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__,
- DRAWSTATE_INVALID_RENDERPASS, "DS", "You cannot start a render pass using attachment %i "
- "where the "
- "initial layout is %s and the layout of the attachment at the "
- "start of the render pass is %s. The layouts must match.",
+ DRAWSTATE_INVALID_RENDERPASS, "DS",
+ "You cannot start a render pass using attachment %u "
+ "where the render pass initial layout is %s and the previous "
+ "known layout of the attachment is %s. The layouts must match, or "
+ "the render pass initial layout for the attachment must be "
+ "VK_IMAGE_LAYOUT_UNDEFINED",
i, string_VkImageLayout(newNode.layout), string_VkImageLayout(node.layout));
}
}