From 0d4f0f95cc5b9cbeb7980358dbb7dd54f94ed5bb Mon Sep 17 00:00:00 2001 From: elad Date: Mon, 17 Sep 2018 10:55:17 +0300 Subject: [PATCH] rsx: Clamp texture offsets (#5137) * rsx: Clamp texture offsets * rsx: Remove texture location check/hack --- rpcs3/Emu/RSX/RSXTexture.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXTexture.cpp b/rpcs3/Emu/RSX/RSXTexture.cpp index 04c51cc7b4..66b91f45dc 100644 --- a/rpcs3/Emu/RSX/RSXTexture.cpp +++ b/rpcs3/Emu/RSX/RSXTexture.cpp @@ -8,7 +8,7 @@ namespace rsx { u32 fragment_texture::offset() const { - return registers[NV4097_SET_TEXTURE_OFFSET + (m_index * 8)]; + return registers[NV4097_SET_TEXTURE_OFFSET + (m_index * 8)] & 0x7FFFFFFF; } u8 fragment_texture::location() const @@ -121,7 +121,7 @@ namespace rsx bool fragment_texture::enabled() const { - return location() <= 1 && ((registers[NV4097_SET_TEXTURE_CONTROL0 + (m_index * 8)] >> 31) & 0x1); + return ((registers[NV4097_SET_TEXTURE_CONTROL0 + (m_index * 8)] >> 31) & 0x1); } u16 fragment_texture::min_lod() const @@ -279,7 +279,7 @@ namespace rsx u32 vertex_texture::offset() const { - return registers[NV4097_SET_VERTEX_TEXTURE_OFFSET + (m_index * 8)]; + return registers[NV4097_SET_VERTEX_TEXTURE_OFFSET + (m_index * 8)] & 0x7FFFFFFF; } u8 vertex_texture::location() const @@ -349,7 +349,7 @@ namespace rsx bool vertex_texture::enabled() const { - return location() <= 1 && ((registers[NV4097_SET_VERTEX_TEXTURE_CONTROL0 + (m_index * 8)] >> 31) & 0x1); + return ((registers[NV4097_SET_VERTEX_TEXTURE_CONTROL0 + (m_index * 8)] >> 31) & 0x1); } u16 vertex_texture::min_lod() const