FragmentOutputDepth Fixes

This commit is contained in:
Isaac Marovitz 2024-05-22 20:27:37 -04:00
parent 1984c5af7e
commit 52978986c7
No known key found for this signature in database
GPG Key ID: 97250B2B09A132E1
2 changed files with 4 additions and 1 deletions

View File

@ -219,6 +219,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
{ {
IoVariable.Position => "float4", IoVariable.Position => "float4",
IoVariable.PointSize => "float", IoVariable.PointSize => "float",
IoVariable.FragmentOutputDepth => "float",
_ => GetVarTypeName(context, context.Definitions.GetUserDefinedType(ioDefinition.Location, isOutput: true)) _ => GetVarTypeName(context, context.Definitions.GetUserDefinedType(ioDefinition.Location, isOutput: true))
}; };
string name = ioDefinition.IoVariable switch string name = ioDefinition.IoVariable switch
@ -226,6 +227,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
IoVariable.Position => "position", IoVariable.Position => "position",
IoVariable.PointSize => "point_size", IoVariable.PointSize => "point_size",
IoVariable.FragmentOutputColor => $"color{ioDefinition.Location}", IoVariable.FragmentOutputColor => $"color{ioDefinition.Location}",
IoVariable.FragmentOutputDepth => "depth",
_ => $"{DefaultNames.OAttributePrefix}{ioDefinition.Location}" _ => $"{DefaultNames.OAttributePrefix}{ioDefinition.Location}"
}; };
string suffix = ioDefinition.IoVariable switch string suffix = ioDefinition.IoVariable switch
@ -234,6 +236,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
IoVariable.PointSize => "[[point_size]]", IoVariable.PointSize => "[[point_size]]",
IoVariable.UserDefined => $"[[user(loc{ioDefinition.Location})]]", IoVariable.UserDefined => $"[[user(loc{ioDefinition.Location})]]",
IoVariable.FragmentOutputColor => $"[[color({ioDefinition.Location})]]", IoVariable.FragmentOutputColor => $"[[color({ioDefinition.Location})]]",
IoVariable.FragmentOutputDepth => "[[depth(any)]]",
_ => "" _ => ""
}; };

View File

@ -21,7 +21,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions
IoVariable.BaseVertex => ("base_vertex", AggregateType.S32), IoVariable.BaseVertex => ("base_vertex", AggregateType.S32),
IoVariable.ClipDistance => ("clip_distance", AggregateType.Array | AggregateType.FP32), IoVariable.ClipDistance => ("clip_distance", AggregateType.Array | AggregateType.FP32),
IoVariable.FragmentOutputColor => ($"out.color{location}", AggregateType.Vector4 | AggregateType.FP32), IoVariable.FragmentOutputColor => ($"out.color{location}", AggregateType.Vector4 | AggregateType.FP32),
IoVariable.FragmentOutputDepth => ("depth", AggregateType.FP32), IoVariable.FragmentOutputDepth => ("out.depth", AggregateType.FP32),
IoVariable.FrontFacing => ("front_facing", AggregateType.Bool), IoVariable.FrontFacing => ("front_facing", AggregateType.Bool),
IoVariable.InstanceId => ("instance_id", AggregateType.S32), IoVariable.InstanceId => ("instance_id", AggregateType.S32),
IoVariable.PointCoord => ("point_coord", AggregateType.Vector2), IoVariable.PointCoord => ("point_coord", AggregateType.Vector2),