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 Evan Husted
parent c883ebb645
commit e615d7d849
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
{