aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs40
1 files changed, 10 insertions, 30 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs b/src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs
index be0cba80..0ba26107 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs
@@ -67,6 +67,11 @@ namespace Ryujinx.Graphics.Shader.Translation
return context.Add(Instruction.AtomicAnd, storageKind, Local(), Const(binding), e0, e1, value);
}
+ public static Operand AtomicCompareAndSwap(this EmitterContext context, StorageKind storageKind, int binding, Operand e0, Operand compare, Operand value)
+ {
+ return context.Add(Instruction.AtomicCompareAndSwap, storageKind, Local(), Const(binding), e0, compare, value);
+ }
+
public static Operand AtomicCompareAndSwap(this EmitterContext context, StorageKind storageKind, int binding, Operand e0, Operand e1, Operand compare, Operand value)
{
return context.Add(Instruction.AtomicCompareAndSwap, storageKind, Local(), Const(binding), e0, e1, compare, value);
@@ -661,16 +666,6 @@ namespace Ryujinx.Graphics.Shader.Translation
: context.Load(storageKind, (int)ioVariable, arrayIndex, elemIndex);
}
- public static Operand LoadLocal(this EmitterContext context, Operand a)
- {
- return context.Add(Instruction.LoadLocal, Local(), a);
- }
-
- public static Operand LoadShared(this EmitterContext context, Operand a)
- {
- return context.Add(Instruction.LoadShared, Local(), a);
- }
-
public static Operand MemoryBarrier(this EmitterContext context)
{
return context.Add(Instruction.MemoryBarrier);
@@ -753,6 +748,11 @@ namespace Ryujinx.Graphics.Shader.Translation
return context.Add(Instruction.Store, storageKind, null, e0, e1, value);
}
+ public static Operand Store(this EmitterContext context, StorageKind storageKind, int binding, Operand e0, Operand value)
+ {
+ return context.Add(Instruction.Store, storageKind, null, Const(binding), e0, value);
+ }
+
public static Operand Store(this EmitterContext context, StorageKind storageKind, int binding, Operand e0, Operand e1, Operand value)
{
return context.Add(Instruction.Store, storageKind, null, Const(binding), e0, e1, value);
@@ -797,26 +797,6 @@ namespace Ryujinx.Graphics.Shader.Translation
: context.Add(Instruction.Store, storageKind, null, Const((int)ioVariable), arrayIndex, elemIndex, value);
}
- public static Operand StoreLocal(this EmitterContext context, Operand a, Operand b)
- {
- return context.Add(Instruction.StoreLocal, null, a, b);
- }
-
- public static Operand StoreShared(this EmitterContext context, Operand a, Operand b)
- {
- return context.Add(Instruction.StoreShared, null, a, b);
- }
-
- public static Operand StoreShared16(this EmitterContext context, Operand a, Operand b)
- {
- return context.Add(Instruction.StoreShared16, null, a, b);
- }
-
- public static Operand StoreShared8(this EmitterContext context, Operand a, Operand b)
- {
- return context.Add(Instruction.StoreShared8, null, a, b);
- }
-
public static Operand UnpackDouble2x32High(this EmitterContext context, Operand a)
{
return UnpackDouble2x32(context, a, 1);