mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-20 11:27:10 +02:00
Implement scaled vertex format emulation (#5564)
* Implement scaled vertex format emulation * Auto-format (whitespace) * Delete ToVec4Type
This commit is contained in:
parent
492a046335
commit
effd546331
12 changed files with 164 additions and 8 deletions
|
@ -9,6 +9,8 @@ namespace Ryujinx.Graphics.Shader
|
|||
Float,
|
||||
Sint,
|
||||
Uint,
|
||||
Sscaled,
|
||||
Uscaled,
|
||||
}
|
||||
|
||||
static class AttributeTypeExtensions
|
||||
|
@ -23,5 +25,18 @@ namespace Ryujinx.Graphics.Shader
|
|||
_ => throw new ArgumentException($"Invalid attribute type \"{type}\"."),
|
||||
};
|
||||
}
|
||||
|
||||
public static AggregateType ToAggregateType(this AttributeType type, bool supportsScaledFormats)
|
||||
{
|
||||
return type switch
|
||||
{
|
||||
AttributeType.Float => AggregateType.FP32,
|
||||
AttributeType.Sint => AggregateType.S32,
|
||||
AttributeType.Uint => AggregateType.U32,
|
||||
AttributeType.Sscaled => supportsScaledFormats ? AggregateType.FP32 : AggregateType.S32,
|
||||
AttributeType.Uscaled => supportsScaledFormats ? AggregateType.FP32 : AggregateType.U32,
|
||||
_ => throw new ArgumentException($"Invalid attribute type \"{type}\"."),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue