From 6f9d8135fc502cb9b673f3de780d5bc757cf1cb4 Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Thu, 22 Feb 2018 16:25:16 -0700 Subject: 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 --- layers/core_validation.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'layers/core_validation.cpp') 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); -- cgit v1.2.3