diff --git a/Ryujinx.Graphics.OpenGL/TextureCopyUnscaled.cs b/Ryujinx.Graphics.OpenGL/TextureCopyUnscaled.cs index 2597214a..cf13db8a 100644 --- a/Ryujinx.Graphics.OpenGL/TextureCopyUnscaled.cs +++ b/Ryujinx.Graphics.OpenGL/TextureCopyUnscaled.cs @@ -14,19 +14,19 @@ namespace Ryujinx.Graphics.OpenGL int srcDepth = src.DepthOrLayers; int srcLevels = src.Levels; - srcWidth = Math.Max(1, srcWidth >> dstLevel); - srcHeight = Math.Max(1, srcHeight >> dstLevel); - - if (src.Target == Target.Texture3D) - { - srcDepth = Math.Max(1, srcDepth >> dstLevel); - } - int dstWidth = dst.Width; int dstHeight = dst.Height; int dstDepth = dst.DepthOrLayers; int dstLevels = dst.Levels; + dstWidth = Math.Max(1, dstWidth >> dstLevel); + dstHeight = Math.Max(1, dstHeight >> dstLevel); + + if (dst.Target == Target.Texture3D) + { + dstDepth = Math.Max(1, dstDepth >> dstLevel); + } + // When copying from a compressed to a non-compressed format, // the non-compressed texture will have the size of the texture // in blocks (not in texels), so we must adjust that size to