Support conditional on BRK and SYNC shader instructions (#1878)

* Support conditional on BRK and SYNC shader instructions

* Add TODO comment and bump cache version
This commit is contained in:
gdkchan 2021-01-08 22:55:55 -03:00 committed by GitHub
parent a9cb31e75f
commit b9200dd734
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 13 deletions

View file

@ -146,6 +146,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
}
else
{
// TODO: Support CC here aswell (condition).
foreach (KeyValuePair<OpCodePush, int> kv in op.Targets)
{
OpCodePush pushOp = kv.Key;
@ -176,9 +177,9 @@ namespace Ryujinx.Graphics.Shader.Instructions
Operand pred = Register(op.Predicate);
if (op is OpCodeBranch opBranch && opBranch.Condition != Condition.Always)
if (op is OpCodeConditional opCond && opCond.Condition != Condition.Always)
{
Operand cond = GetCondition(context, opBranch.Condition);
Operand cond = GetCondition(context, opCond.Condition);
if (op.Predicate.IsPT)
{