InstEmitMove.cs 893 B

1234567891011121314151617181920212223242526272829303132
  1. using Ryujinx.Graphics.Shader.Decoders;
  2. using Ryujinx.Graphics.Shader.IntermediateRepresentation;
  3. using Ryujinx.Graphics.Shader.Translation;
  4. using static Ryujinx.Graphics.Shader.Instructions.InstEmitHelper;
  5. namespace Ryujinx.Graphics.Shader.Instructions
  6. {
  7. static partial class InstEmit
  8. {
  9. public static void Mov(EmitterContext context)
  10. {
  11. OpCodeAlu op = (OpCodeAlu)context.CurrOp;
  12. context.Copy(GetDest(context), GetSrcB(context));
  13. }
  14. public static void Sel(EmitterContext context)
  15. {
  16. OpCodeAlu op = (OpCodeAlu)context.CurrOp;
  17. Operand pred = GetPredicate39(context);
  18. Operand srcA = GetSrcA(context);
  19. Operand srcB = GetSrcB(context);
  20. Operand res = context.ConditionalSelect(pred, srcA, srcB);
  21. context.Copy(GetDest(context), res);
  22. }
  23. }
  24. }