mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-03-23 00:40:18 +00:00
30 lines
1.5 KiB
C#
30 lines
1.5 KiB
C#
|
using Ryujinx.Graphics.Shader.IntermediateRepresentation;
|
||
|
using Ryujinx.Graphics.Shader.Translation;
|
||
|
|
||
|
namespace Ryujinx.Graphics.Shader.CodeGen.Msl.Instructions
|
||
|
{
|
||
|
static class IoMap
|
||
|
{
|
||
|
public static (string, AggregateType) GetMSLBuiltIn(IoVariable ioVariable)
|
||
|
{
|
||
|
return ioVariable switch
|
||
|
{
|
||
|
IoVariable.BaseInstance => ("base_instance", AggregateType.S32),
|
||
|
IoVariable.BaseVertex => ("base_vertex", AggregateType.S32),
|
||
|
IoVariable.ClipDistance => ("clip_distance", AggregateType.Array | AggregateType.FP32),
|
||
|
IoVariable.FragmentOutputColor => ("color", AggregateType.Vector2 | AggregateType.Vector3 | AggregateType.Vector4),
|
||
|
IoVariable.FragmentOutputDepth => ("depth", AggregateType.FP32),
|
||
|
IoVariable.FrontFacing => ("front_facing", AggregateType.Bool),
|
||
|
IoVariable.InstanceId => ("instance_id", AggregateType.S32),
|
||
|
IoVariable.PointCoord => ("point_coord", AggregateType.Vector2),
|
||
|
IoVariable.PointSize => ("point_size", AggregateType.FP32),
|
||
|
IoVariable.Position => ("position", AggregateType.Vector4),
|
||
|
IoVariable.PrimitiveId => ("primitive_id", AggregateType.S32),
|
||
|
IoVariable.VertexId => ("vertex_id", AggregateType.S32),
|
||
|
IoVariable.ViewportIndex => ("viewport_array_index", AggregateType.S32),
|
||
|
_ => (null, AggregateType.Invalid),
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
}
|