diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-04-08 17:09:41 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-08 17:09:41 -0300 |
| commit | 36dfd20c879967fc67721ed46ac773d341aa80d9 (patch) | |
| tree | 6f7569630d5cf5955358bc4ebcc0705f16912065 /Ryujinx.Graphics/Gpu/TextureReader.cs | |
| parent | b9aa3966c00b4bb3ff0292dc28ed53ad26cf284b (diff) | |
Use correct pitch value when decoding linear swizzle textures
Diffstat (limited to 'Ryujinx.Graphics/Gpu/TextureReader.cs')
| -rw-r--r-- | Ryujinx.Graphics/Gpu/TextureReader.cs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Ryujinx.Graphics/Gpu/TextureReader.cs b/Ryujinx.Graphics/Gpu/TextureReader.cs index ce66e991..63dd2797 100644 --- a/Ryujinx.Graphics/Gpu/TextureReader.cs +++ b/Ryujinx.Graphics/Gpu/TextureReader.cs @@ -26,7 +26,7 @@ namespace Ryujinx.Graphics.Gpu byte[] Output = new byte[Width * Height * 4]; - ISwizzle Swizzle = GetSwizzle(Texture.Swizzle, Width, 4, Texture.BlockHeight); + ISwizzle Swizzle = GetSwizzle(Texture, 4); fixed (byte* BuffPtr = Output) { @@ -55,7 +55,7 @@ namespace Ryujinx.Graphics.Gpu byte[] Output = new byte[Width * Height * 8]; - ISwizzle Swizzle = GetSwizzle(Texture.Swizzle, Width, 8, Texture.BlockHeight); + ISwizzle Swizzle = GetSwizzle(Texture, 8); fixed (byte* BuffPtr = Output) { @@ -84,7 +84,7 @@ namespace Ryujinx.Graphics.Gpu byte[] Output = new byte[Width * Height * 16]; - ISwizzle Swizzle = GetSwizzle(Texture.Swizzle, Width, 16, Texture.BlockHeight); + ISwizzle Swizzle = GetSwizzle(Texture, 16); fixed (byte* BuffPtr = Output) { @@ -108,20 +108,20 @@ namespace Ryujinx.Graphics.Gpu return Output; } - private static ISwizzle GetSwizzle(TextureSwizzle Swizzle, int Width, int Bpp, int BlockHeight) + private static ISwizzle GetSwizzle(Texture Texture, int Bpp) { - switch (Swizzle) + switch (Texture.Swizzle) { case TextureSwizzle.Pitch: case TextureSwizzle.PitchColorKey: - return new LinearSwizzle(Width, Bpp); + return new LinearSwizzle(Texture.Pitch, Bpp); case TextureSwizzle.BlockLinear: case TextureSwizzle.BlockLinearColorKey: - return new BlockLinearSwizzle(Width, Bpp, BlockHeight); + return new BlockLinearSwizzle(Texture.Width, Bpp, Texture.BlockHeight); } - throw new NotImplementedException(Swizzle.ToString()); + throw new NotImplementedException(Texture.Swizzle.ToString()); } } }
\ No newline at end of file |
