Fix modulo operator

Support sample offsets

Include FragmentIn as additional arg

Always declare frag output struct

SubgroupLaneId
This commit is contained in:
Isaac Marovitz 2024-05-30 16:11:48 +01:00 committed by Isaac Marovitz
parent fad653c12e
commit efb7baf15c
7 changed files with 61 additions and 12 deletions

View file

@ -220,7 +220,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
}
}
private static void DeclareOutputAttributes(CodeGenContext context, IEnumerable<IoDefinition> inputs)
private static void DeclareOutputAttributes(CodeGenContext context, IEnumerable<IoDefinition> outputs)
{
if (context.Definitions.IaIndexing)
{
@ -228,7 +228,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
}
else
{
if (inputs.Any())
if (outputs.Any() || context.Definitions.Stage == ShaderStage.Fragment)
{
string prefix = "";
@ -247,7 +247,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
context.EnterScope();
foreach (var ioDefinition in inputs.OrderBy(x => x.Location))
foreach (var ioDefinition in outputs.OrderBy(x => x.Location))
{
string type = ioDefinition.IoVariable switch
{