aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorDave Houlton <daveh@lunarg.com>2018-02-22 16:25:16 -0700
committerDave Houlton <daveh@lunarg.com>2018-02-26 11:34:00 -0700
commit6f9d8135fc502cb9b673f3de780d5bc757cf1cb4 (patch)
tree2be3bb2cb446fd56ecdc1da8de95761279fa8f5e /layers/core_validation.cpp
parent03d808291f6dd6f2d81a4b47fd0d8394253f754c (diff)
downloadusermoji-6f9d8135fc502cb9b673f3de780d5bc757cf1cb4.tar.xz
layers: Record 3D image slice layouts
Fixes a bug in image layout state handling that appeared with khr_maintenance1. When a 3D image which was created with the VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR flag is transitioned between layouts, we now also record a transition for each depth slice, treating it as an array layer subresource. The actual fix is just two lines within TransitionImageLayouts(). Also included are some debug-enabling refactoring to distinguish layout state updates vs additions, and support for new aspect mask bits. Change-Id: Ibb5131a6dba8fcdeafe5e6d94af2decf751842ec
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index a22a2614..d5668a72 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -2815,6 +2815,7 @@ static void PostCallRecordQueueSubmit(layer_data *dev_data, VkQueue queue, uint3
cbs.push_back(submit->pCommandBuffers[i]);
for (auto secondaryCmdBuffer : cb_node->linkedCommandBuffers) {
cbs.push_back(secondaryCmdBuffer->commandBuffer);
+ UpdateCmdBufImageLayouts(dev_data, secondaryCmdBuffer);
}
UpdateCmdBufImageLayouts(dev_data, cb_node);
incrementResources(dev_data, cb_node);