From 14258cdb284215ef1031b37507e6726a44ad24d6 Mon Sep 17 00:00:00 2001 From: Samuliak Date: Sat, 23 Nov 2024 08:39:50 +0100 Subject: [PATCH] Revert "only set array length for texture view arrays" This reverts commit d9f857bcc4588e02b5dd7980299da9cceea288cf. --- .../Renderer/Metal/LatteTextureViewMtl.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Cafe/HW/Latte/Renderer/Metal/LatteTextureViewMtl.cpp b/src/Cafe/HW/Latte/Renderer/Metal/LatteTextureViewMtl.cpp index e77e4715..5374126a 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/LatteTextureViewMtl.cpp +++ b/src/Cafe/HW/Latte/Renderer/Metal/LatteTextureViewMtl.cpp @@ -2,7 +2,6 @@ #include "Cafe/HW/Latte/Renderer/Metal/LatteTextureMtl.h" #include "Cafe/HW/Latte/Renderer/Metal/MetalRenderer.h" #include "Cafe/HW/Latte/Renderer/Metal/LatteToMtl.h" -#include "Metal/MTLTexture.hpp" uint32 LatteTextureMtl_AdjustTextureCompSel(Latte::E_GX2SURFFMT format, uint32 compSel) { @@ -159,21 +158,21 @@ MTL::Texture* LatteTextureViewMtl::CreateSwizzledView(uint32 gpuSamplerSwizzle) uint32 baseLevel = firstMip; uint32 levelCount = this->numMip; - uint32 baseLayer = 0; - uint32 layerCount = 1; - - // TODO: check if base texture is 3D texture as well? + uint32 baseLayer; + uint32 layerCount; + // TODO: check if base texture is 3D texture as well if (textureType == MTL::TextureType3D) { cemu_assert_debug(firstMip == 0); cemu_assert_debug(this->numSlice == baseTexture->depth); + baseLayer = 0; + layerCount = 1; } - // Cube array needs to have layer count multiple of 6 as opposed to when creating a texture - else if (textureType == MTL::TextureTypeCubeArray || textureType == MTL::TextureType2DArray) - { - baseLayer = firstSlice; + else + { + baseLayer = firstSlice; layerCount = this->numSlice; - } + } MTL::TextureSwizzleChannels swizzle; swizzle.red = GetMtlTextureSwizzle(compSelR);