Use multiple dest operands for shader call instructions (#1975)
* Use multiple dest operands for shader call instructions * Passing opNode is no longer needed
This commit is contained in:
parent
f93089a64f
commit
053dcfdb05
7 changed files with 40 additions and 45 deletions
|
@ -289,7 +289,6 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|||
case Instruction.AtomicSwap:
|
||||
case Instruction.AtomicXor:
|
||||
case Instruction.Call:
|
||||
case Instruction.CallOutArgument:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -306,7 +305,9 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|||
|
||||
for (int index = 0; index < node.DestsCount; index++)
|
||||
{
|
||||
if (node.GetDest(index).Type != OperandType.LocalVariable)
|
||||
Operand dest = node.GetDest(index);
|
||||
|
||||
if (dest != null && dest.Type != OperandType.LocalVariable)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -319,7 +320,9 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|||
{
|
||||
for (int index = 0; index < node.DestsCount; index++)
|
||||
{
|
||||
if (node.GetDest(index).UseOps.Count != 0)
|
||||
Operand dest = node.GetDest(index);
|
||||
|
||||
if (dest != null && dest.UseOps.Count != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue