From 91e1d9a3dced35b75ca35b43dd69c830eef63b17 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Mon, 22 Nov 2021 02:41:26 +0100 Subject: [PATCH] auto layer for image view creation --- addons/gltfLoader/PbrModelTexArray.cs | 2 +- samples/deferred/shadowMapRenderer.cs | 2 +- vke/src/Utils.cs | 2 +- vke/src/base/Image.cs | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/gltfLoader/PbrModelTexArray.cs b/addons/gltfLoader/PbrModelTexArray.cs index e743924..c40a0e7 100644 --- a/addons/gltfLoader/PbrModelTexArray.cs +++ b/addons/gltfLoader/PbrModelTexArray.cs @@ -77,7 +77,7 @@ namespace vke.glTF { transferQ.EndSubmitAndWait (cmd, true); } - texArray.CreateView (VkImageViewType.ImageView2DArray, VkImageAspectFlags.Color, texArray.CreateInfo.arrayLayers); + texArray.CreateView (VkImageViewType.ImageView2DArray, VkImageAspectFlags.Color); texArray.CreateSampler (); texArray.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal; texArray.SetName ("model texArray"); diff --git a/samples/deferred/shadowMapRenderer.cs b/samples/deferred/shadowMapRenderer.cs index 5e059c4..511d387 100644 --- a/samples/deferred/shadowMapRenderer.cs +++ b/samples/deferred/shadowMapRenderer.cs @@ -97,7 +97,7 @@ namespace deferred { //shadow map image shadowMap = new Image (dev, SHADOWMAP_FORMAT, VkImageUsageFlags.DepthStencilAttachment | VkImageUsageFlags.Sampled, VkMemoryPropertyFlags.DeviceLocal, SHADOWMAP_SIZE, SHADOWMAP_SIZE, VkImageType.Image2D, SHADOWMAP_NUM_SAMPLES, VkImageTiling.Optimal, 1, (uint)renderer.lights.Length); - shadowMap.CreateView (VkImageViewType.ImageView2DArray, VkImageAspectFlags.Depth, shadowMap.CreateInfo.arrayLayers); + shadowMap.CreateView (VkImageViewType.ImageView2DArray, VkImageAspectFlags.Depth); shadowMap.CreateSampler (VkSamplerAddressMode.ClampToBorder); shadowMap.Descriptor.imageLayout = VkImageLayout.DepthStencilReadOnlyOptimal; diff --git a/vke/src/Utils.cs b/vke/src/Utils.cs index 8071962..f7786d5 100644 --- a/vke/src/Utils.cs +++ b/vke/src/Utils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Jean-Philippe Bruyère +// Copyright (c) 2019-2022 Jean-Philippe Bruyère // // This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System; diff --git a/vke/src/base/Image.cs b/vke/src/base/Image.cs index a49c035..9c5e815 100644 --- a/vke/src/base/Image.cs +++ b/vke/src/base/Image.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Jean-Philippe Bruyère +// Copyright (c) 2019-2021 Jean-Philippe Bruyère // // This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) using System; @@ -429,7 +429,7 @@ namespace vke { } public void CreateView (VkImageViewType type = VkImageViewType.ImageView2D, VkImageAspectFlags aspectFlags = VkImageAspectFlags.Color, - uint layerCount = 1, uint baseMipLevel = 0, int levelCount = -1, uint baseArrayLayer = 0, + int layerCount = -1, uint baseMipLevel = 0, int levelCount = -1, uint baseArrayLayer = 0, VkComponentSwizzle r = VkComponentSwizzle.R, VkComponentSwizzle g = VkComponentSwizzle.G, VkComponentSwizzle b = VkComponentSwizzle.B, @@ -448,7 +448,7 @@ namespace vke { viewInfo.subresourceRange.baseMipLevel = baseMipLevel; viewInfo.subresourceRange.levelCount = levelCount < 0 ? info.mipLevels : (uint)levelCount; viewInfo.subresourceRange.baseArrayLayer = baseArrayLayer; - viewInfo.subresourceRange.layerCount = layerCount; + viewInfo.subresourceRange.layerCount = layerCount < 0 ? info.arrayLayers : (uint)layerCount; Utils.CheckResult (vkCreateImageView (Dev.VkDev, ref viewInfo, IntPtr.Zero, out view)); -- 2.47.3