From 2f706ff4678ebdff6274ee720b4a6bad013a9c0c Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Thu, 13 Oct 2022 21:48:18 +0200
Subject: [PATCH] Adjust layer count of cube map image

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 src/vkcv/ImageManager.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/vkcv/ImageManager.cpp b/src/vkcv/ImageManager.cpp
index 56e2bc91..93d78f43 100644
--- a/src/vkcv/ImageManager.cpp
+++ b/src/vkcv/ImageManager.cpp
@@ -192,6 +192,7 @@ namespace vkcv {
 		}
 
 		const vma::Allocator &allocator = getCore().getContext().getAllocator();
+		uint32_t requiredArrayLayers = 1;
 
 		vk::ImageType imageType = vk::ImageType::e3D;
 		vk::ImageViewType imageViewType = vk::ImageViewType::e3D;
@@ -212,6 +213,8 @@ namespace vkcv {
 		}
 		
 		if (config.isCubeMapImage()) {
+			requiredArrayLayers = 6;
+			
 			imageViewType = vk::ImageViewType::eCube;
 			createFlags |= vk::ImageCreateFlagBits::eCubeCompatible;
 		} else
@@ -235,7 +238,10 @@ namespace vkcv {
 			)
 		);
 
-		const uint32_t arrayLayers = std::min<uint32_t>(1, imageFormatProperties.maxArrayLayers);
+		const uint32_t arrayLayers = std::min<uint32_t>(
+				requiredArrayLayers,
+				imageFormatProperties.maxArrayLayers
+		);
 
 		const vk::ImageCreateInfo imageCreateInfo(
 			createFlags,
-- 
GitLab