diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2019-12-14 14:51:00 -0300 |
|---|---|---|
| committer | Thog <thog@protonmail.com> | 2020-01-09 02:13:00 +0100 |
| commit | 2eccc7023ae0d1247378516b14507d422e4915c5 (patch) | |
| tree | 8ae9a8905394717347a775997ae0347483a9b0d8 /Ryujinx.Graphics.Shader/Translation | |
| parent | 1a550e810c71670e5a2f032ec136fb2f5f57ac9c (diff) | |
Partial support for shader memory barriers
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation')
| -rw-r--r-- | Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs index e39d8c64..14675a55 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContextInsts.cs @@ -61,6 +61,11 @@ namespace Ryujinx.Graphics.Shader.Translation return context.Add(Instruction.Ballot, Local(), a); } + public static Operand Barrier(this EmitterContext context) + { + return context.Add(Instruction.Barrier); + } + public static Operand BitCount(this EmitterContext context, Operand a) { return context.Add(Instruction.BitCount, Local(), a); @@ -336,6 +341,11 @@ namespace Ryujinx.Graphics.Shader.Translation return context.Add(Instruction.SwizzleAdd, Local(), a, b, Const(mask)); } + public static Operand GroupMemoryBarrier(this EmitterContext context) + { + return context.Add(Instruction.GroupMemoryBarrier); + } + public static Operand IAbsNeg(this EmitterContext context, Operand a, bool abs, bool neg) { return context.INegate(context.IAbsolute(a, abs), neg); @@ -476,6 +486,11 @@ namespace Ryujinx.Graphics.Shader.Translation return context.Add(Instruction.LoadShared, Local(), a); } + public static Operand MemoryBarrier(this EmitterContext context) + { + return context.Add(Instruction.MemoryBarrier); + } + public static Operand MultiplyHighS32(this EmitterContext context, Operand a, Operand b) { return context.Add(Instruction.MultiplyHighS32, Local(), a, b); |
