add: textures and samplers as shader arguments & fix: issue with casting

This commit is contained in:
Samuliak 2024-05-14 17:41:16 +02:00 committed by Isaac Marovitz
parent 6295153a28
commit 320c317113
4 changed files with 15 additions and 9 deletions

View file

@ -122,6 +122,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
{
args = args.Append($"device float4 *{storageBuffers.Name} [[buffer({storageBuffers.Binding})]]").ToArray();
}
foreach (var texture in context.Properties.Textures.Values)
{
// TODO: don't use always texture2d
args = args.Append($"texture2d<float> tex_{texture.Name} [[texture({texture.Binding})]]").ToArray();
args = args.Append($"sampler samp_{texture.Name} [[sampler({texture.Binding})]]").ToArray();
}
}
return $"{funcKeyword} {returnType} {funcName ?? function.Name}({string.Join(", ", args)})";