|
|
@@ -13,21 +13,13 @@ namespace ShaderGen.Metal
|
|
|
{
|
|
|
}
|
|
|
|
|
|
- private string CSharpToShaderTypeCore(string fullType, bool packed)
|
|
|
+ protected override string CSharpToShaderTypeCore(string fullType)
|
|
|
{
|
|
|
- string mapped = packed
|
|
|
- ? MetalKnownTypes.GetPackedName(fullType)
|
|
|
- : MetalKnownTypes.GetMappedName(fullType);
|
|
|
- return mapped
|
|
|
+ return MetalKnownTypes.GetMappedName(fullType)
|
|
|
.Replace(".", "_")
|
|
|
.Replace("+", "_");
|
|
|
}
|
|
|
|
|
|
- protected override string CSharpToShaderTypeCore(string fullType)
|
|
|
- {
|
|
|
- return CSharpToShaderTypeCore(fullType, false);
|
|
|
- }
|
|
|
-
|
|
|
protected void WriteStructure(StringBuilder sb, StructureDefinition sd)
|
|
|
{
|
|
|
sb.AppendLine($"struct {CSharpToShaderType(sd.Name)}");
|
|
|
@@ -38,6 +30,11 @@ namespace ShaderGen.Metal
|
|
|
foreach (FieldDefinition field in sd.Fields)
|
|
|
{
|
|
|
string typeName = CSharpToShaderType(field.Type);
|
|
|
+ if (field.SemanticType == SemanticType.None)
|
|
|
+ {
|
|
|
+ typeName = MetalKnownTypes.GetPackedName(typeName);
|
|
|
+ }
|
|
|
+
|
|
|
fb.Append(typeName);
|
|
|
fb.Append(' ');
|
|
|
fb.Append(CorrectIdentifier(field.Name.Trim()));
|