From 952c6e4d454082da900a447e6bd1deb272c150c2 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Mon, 10 Jan 2022 04:45:25 -0300 Subject: [PATCH] Fix sampled multisample image size (#2984) --- Ryujinx.Graphics.Gpu/Image/TexturePool.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs index 66cd9d4d13..f936615f10 100644 --- a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs +++ b/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