aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu/TextureFactory.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-06-23 02:00:44 -0300
committerGitHub <noreply@github.com>2018-06-23 02:00:44 -0300
commitc26ddd6259796e5b0b187989ce3e21b52edb00a8 (patch)
treeff4decb3f102b07a832e7a5d24fa8ba702126906 /Ryujinx.HLE/Gpu/TextureFactory.cs
parent5182361f4b59069af1f185db73f7569d3031558a (diff)
Fix 3 graphics related issues (#180)
* Fix 3 graphics related bugs * OGLShader shouldn't be public (yet)
Diffstat (limited to 'Ryujinx.HLE/Gpu/TextureFactory.cs')
-rw-r--r--Ryujinx.HLE/Gpu/TextureFactory.cs11
1 files changed, 11 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Gpu/TextureFactory.cs b/Ryujinx.HLE/Gpu/TextureFactory.cs
index 9a92a016..94c6eb18 100644
--- a/Ryujinx.HLE/Gpu/TextureFactory.cs
+++ b/Ryujinx.HLE/Gpu/TextureFactory.cs
@@ -41,6 +41,17 @@ namespace Ryujinx.HLE.Gpu
TextureSwizzle Swizzle = (TextureSwizzle)((Tic[2] >> 21) & 7);
+ if (Swizzle == TextureSwizzle.BlockLinear ||
+ Swizzle == TextureSwizzle.BlockLinearColorKey)
+ {
+ TextureAddress &= ~0x1ffL;
+ }
+ else if (Swizzle == TextureSwizzle.Pitch ||
+ Swizzle == TextureSwizzle.PitchColorKey)
+ {
+ TextureAddress &= ~0x1fL;
+ }
+
int Pitch = (Tic[3] & 0xffff) << 5;
int BlockHeightLog2 = (Tic[3] >> 3) & 7;