diff options
| author | Chris Forbes <chrisforbes@google.com> | 2016-06-30 12:43:36 +1200 |
|---|---|---|
| committer | Chris Forbes <chrisforbes@google.com> | 2016-07-01 12:02:30 +1200 |
| commit | 100e6950ddcd2c74529040adf3655050d586ef73 (patch) | |
| tree | 7da8e261718f6ed76ee7758b3df37ea4abd6d0a6 /layers/core_validation.cpp | |
| parent | 022ef21c868d944e7227b4f32e85767fbced53c7 (diff) | |
| download | usermoji-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.cpp | 13 |
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)); } } |
