+ VkImageCreateInfo image_info = { };
+ image_info.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
+ image_info.format = static_cast<VkFormat>(get_vulkan_pixelformat(self.storage_fmt));
+ image_info.extent.width = 1;
+ image_info.extent.height = 1;
+ image_info.extent.depth = 1;
+ image_info.mipLevels = 1;
+ image_info.arrayLayers = 1;
+ image_info.samples = VK_SAMPLE_COUNT_1_BIT;
+ image_info.tiling = VK_IMAGE_TILING_OPTIMAL;
+ image_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+ image_info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
+
+ image_info.usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
+ PixelComponents comp = get_components(self.storage_fmt);
+ if(comp==DEPTH_COMPONENT || comp==STENCIL_INDEX)
+ image_info.usage |= VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
+ else
+ image_info.usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
+
+ fill_image_info(&image_info);
+
+ /* SwapChainTexture may have already provided the image. Create_info is
+ filled anyway because some of its fields are used for view_info. */