From 04dfb86fdeb10f45c0a286309eb18affd47191af Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 24 Oct 2021 19:40:20 -0300 Subject: Preserve image types for shader bindless surface instructions (.D variants) (#2779) * Preserve image types for SULD/SUST .D variants * Make format unknown for surface atomic if bindless and not sized --- Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Ryujinx.Graphics.Shader/Instructions') diff --git a/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs b/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs index a47d6650..f78f9db8 100644 --- a/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs +++ b/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs @@ -264,8 +264,8 @@ namespace Ryujinx.Graphics.Shader.Instructions } // TODO: FP and 64-bit formats. - TextureFormat format = !isBindless && (size == SuatomSize.Sd32 || size == SuatomSize.Sd64) - ? context.Config.GetTextureFormatAtomic(imm) + TextureFormat format = size == SuatomSize.Sd32 || size == SuatomSize.Sd64 + ? (isBindless ? TextureFormat.Unknown : context.Config.GetTextureFormatAtomic(imm)) : GetTextureFormat(size); if (compareAndSwap) @@ -516,8 +516,8 @@ namespace Ryujinx.Graphics.Shader.Instructions } // TODO: FP and 64-bit formats. - TextureFormat format = !isBindless && (size == SuatomSize.Sd32 || size == SuatomSize.Sd64) - ? context.Config.GetTextureFormatAtomic(imm) + TextureFormat format = size == SuatomSize.Sd32 || size == SuatomSize.Sd64 + ? (isBindless ? TextureFormat.Unknown : context.Config.GetTextureFormatAtomic(imm)) : GetTextureFormat(size); sourcesList.Add(Rb()); -- cgit v1.2.3