Implement SSY/SYNC shader instructions (#382)

* Use a program counter to control shaders' flow

* Cleanup

* Implement SSY/SYNC

* Address feedback

* Fixup commentary

* Fixup Ssy instruction
This commit is contained in:
ReinUsesLisp 2018-08-31 13:14:04 -03:00 committed by gdkchan
parent 7cb6fd8090
commit 42dc925c3d
11 changed files with 313 additions and 268 deletions

View file

@ -43,9 +43,13 @@ namespace Ryujinx.Graphics.Gal.Shader
public const string FlipUniformName = "flip";
public const string InstanceUniformName = "instance";
public const string ProgramName = "program";
public const string ProgramAName = ProgramName + "_a";
public const string ProgramBName = ProgramName + "_b";
public const string BasicBlockName = "bb";
public const string BasicBlockAName = BasicBlockName + "_a";
public const string BasicBlockBName = BasicBlockName + "_b";
public const int SsyStackSize = 16;
public const string SsyStackName = "ssy_stack";
public const string SsyCursorName = "ssy_cursor";
private string[] StagePrefixes = new string[] { "vp", "tcp", "tep", "gp", "fp" };