Implement CSET and CSETP shader instructions (#4318)
* Implement CSET and CSETP shader instructions * Shader cache version bump * Fix CC.HI
This commit is contained in:
parent
2747f12591
commit
6adf15e479
6 changed files with 90 additions and 42 deletions
|
@ -257,7 +257,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
|
|||
}
|
||||
else
|
||||
{
|
||||
// TODO: Support CC here aswell (condition).
|
||||
// TODO: Support CC here as well (condition).
|
||||
foreach (SyncTarget target in targets.Values)
|
||||
{
|
||||
PushOpInfo pushOpInfo = target.PushOpInfo;
|
||||
|
@ -318,21 +318,5 @@ namespace Ryujinx.Graphics.Shader.Instructions
|
|||
context.BranchIfTrue(label, pred);
|
||||
}
|
||||
}
|
||||
|
||||
private static Operand GetCondition(EmitterContext context, Ccc cond, int defaultCond = IrConsts.True)
|
||||
{
|
||||
// TODO: More condition codes, figure out how they work.
|
||||
switch (cond)
|
||||
{
|
||||
case Ccc.Eq:
|
||||
case Ccc.Equ:
|
||||
return GetZF();
|
||||
case Ccc.Ne:
|
||||
case Ccc.Neu:
|
||||
return context.BitwiseNot(GetZF());
|
||||
}
|
||||
|
||||
return Const(defaultCond);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue