From f0b00c1ae92a2e8fdff9c532e7f2f79ad708b184 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 2 Sep 2021 04:17:43 +0100 Subject: Fix TXQ for 3D textures. (#2613) * Fix TXQ for 3D textures. Assumes the texture is 3D if the component mask contains Z. This fixes a bug in UE4 games where parts of the map had garbage pointers to lighting voxels, as the lookup 3D texture was not being initialized. Most notable game is THPS1+2. May need another PR to keep image store data alive and properly flush it in order using the AutoDeleteCache. * Get sampler type for TextureSize from bound textures. --- Ryujinx.Graphics.Shader/IGpuAccessor.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Ryujinx.Graphics.Shader/IGpuAccessor.cs') diff --git a/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/Ryujinx.Graphics.Shader/IGpuAccessor.cs index 84c30479..9ae399f7 100644 --- a/Ryujinx.Graphics.Shader/IGpuAccessor.cs +++ b/Ryujinx.Graphics.Shader/IGpuAccessor.cs @@ -1,4 +1,6 @@ -namespace Ryujinx.Graphics.Shader +using Ryujinx.Graphics.Shader.Decoders; + +namespace Ryujinx.Graphics.Shader { public interface IGpuAccessor { @@ -79,9 +81,9 @@ return true; } - bool QueryIsTextureBuffer(int handle, int cbufSlot = -1) + SamplerType QuerySamplerType(int handle, int cbufSlot = -1) { - return false; + return SamplerType.Texture2D; } bool QueryIsTextureRectangle(int handle, int cbufSlot = -1) -- cgit v1.2.3