aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2021-10-24 19:40:20 -0300
committerGitHub <noreply@github.com>2021-10-24 19:40:20 -0300
commit04dfb86fdeb10f45c0a286309eb18affd47191af (patch)
tree1971dfb3f30ed7fc831f8e6aaf698d6f299100e3 /Ryujinx.Graphics.Shader/Instructions
parent51fa1b2cb0bb54c0eb235c9d1fa68a7e1abaf464 (diff)
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
Diffstat (limited to 'Ryujinx.Graphics.Shader/Instructions')
-rw-r--r--Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs8
1 files changed, 4 insertions, 4 deletions
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());