Browse Source

Reduce copy destination size by target mipmap level, rather than source size. (#959)

* Change destination size by target mipmap level, rather than source.

* Check dst for Texture3D rather than src.
riperiperi 6 years ago
parent
commit
f35af5f703
1 changed files with 8 additions and 8 deletions
  1. 8 8
      Ryujinx.Graphics.OpenGL/TextureCopyUnscaled.cs

+ 8 - 8
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