aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2021-01-26 03:38:33 -0300
committerGitHub <noreply@github.com>2021-01-26 17:38:33 +1100
commite453ba69f42057d36559b2c84b6ad9f01eaf4c86 (patch)
treec7c62a2f40a2197bc9e1a41ab1e45a1a5c93a382 /Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
parentc19cfca183cbbae8091688a292242032c3f337cb (diff)
Add support for shader atomic min/max (S32) (#1948)
Diffstat (limited to 'Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs')
-rw-r--r--Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
index 733805cd..8c73e698 100644
--- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
+++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs
@@ -244,6 +244,14 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
// decide which helper functions are needed on the final generated code.
switch (operation.Inst)
{
+ case Instruction.AtomicMaxS32 | Instruction.MrShared:
+ case Instruction.AtomicMinS32 | Instruction.MrShared:
+ context.Info.HelperFunctionsMask |= HelperFunctionsMask.AtomicMinMaxS32Shared;
+ break;
+ case Instruction.AtomicMaxS32 | Instruction.MrStorage:
+ case Instruction.AtomicMinS32 | Instruction.MrStorage:
+ context.Info.HelperFunctionsMask |= HelperFunctionsMask.AtomicMinMaxS32Storage;
+ break;
case Instruction.MultiplyHighS32:
context.Info.HelperFunctionsMask |= HelperFunctionsMask.MultiplyHighS32;
break;