From bba73cd799889bb48a2b6f6f750a5005cc5ac068 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Tue, 28 Feb 2017 14:25:58 +1300 Subject: layers: Fix state recorded for swapchain images Reorder the fields to match the declaration, initialize tiling & type. Previously the image type ended up as VK_IMAGE_TYPE_1D due to the default initialization, which caused bad behavior in later validation. Fixes #1508. Signed-off-by: Chris Forbes --- layers/core_validation.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'layers/core_validation.cpp') diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index c7327f7e..daa0360d 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -10606,13 +10606,16 @@ VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR(VkDevice device, VkSwapchai image_layout_node.format = swapchain_node->createInfo.imageFormat; // Add imageMap entries for each swapchain image VkImageCreateInfo image_ci = {}; - image_ci.mipLevels = 1; - image_ci.arrayLayers = swapchain_node->createInfo.imageArrayLayers; - image_ci.usage = swapchain_node->createInfo.imageUsage; + image_ci.flags = 0; + image_ci.imageType = VK_IMAGE_TYPE_2D; image_ci.format = swapchain_node->createInfo.imageFormat; - image_ci.samples = VK_SAMPLE_COUNT_1_BIT; image_ci.extent.width = swapchain_node->createInfo.imageExtent.width; image_ci.extent.height = swapchain_node->createInfo.imageExtent.height; + image_ci.mipLevels = 1; + image_ci.arrayLayers = swapchain_node->createInfo.imageArrayLayers; + image_ci.samples = VK_SAMPLE_COUNT_1_BIT; + image_ci.tiling = VK_IMAGE_TILING_OPTIMAL; + image_ci.usage = swapchain_node->createInfo.imageUsage; image_ci.sharingMode = swapchain_node->createInfo.imageSharingMode; dev_data->imageMap[pSwapchainImages[i]] = unique_ptr(new IMAGE_STATE(pSwapchainImages[i], &image_ci)); auto &image_state = dev_data->imageMap[pSwapchainImages[i]]; -- cgit v1.2.3