Explorar o código

Fix sampled multisample image size (#2984)

gdkchan %!s(int64=4) %!d(string=hai) anos
pai
achega
952c6e4d45
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  1. 7 0
      Ryujinx.Graphics.Gpu/Image/TexturePool.cs

+ 7 - 0
Ryujinx.Graphics.Gpu/Image/TexturePool.cs

@@ -196,6 +196,13 @@ namespace Ryujinx.Graphics.Gpu.Image
             int width = target == Target.TextureBuffer ? descriptor.UnpackBufferTextureWidth() : descriptor.UnpackWidth();
             int height = descriptor.UnpackHeight();
 
+            if (target == Target.Texture2DMultisample || target == Target.Texture2DMultisampleArray)
+            {
+                // This is divided back before the backend texture is created.
+                width *= samplesInX;
+                height *= samplesInY;
+            }
+
             // We use 2D targets for 1D textures as that makes texture cache
             // management easier. We don't know the target for render target
             // and copies, so those would normally use 2D targets, which are