mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-24 09:26:07 +00:00
declare local memory
This commit is contained in:
parent
f08d3a7517
commit
979da4c1ab
2 changed files with 12 additions and 0 deletions
|
@ -28,6 +28,8 @@ namespace Ryujinx.Graphics.Metal
|
|||
{
|
||||
Logger.Warning?.Print(LogClass.Gpu, $"Shader linking failed: \n{StringHelper.String(libraryError.LocalizedDescription)}");
|
||||
_status = ProgramLinkStatus.Failure;
|
||||
Console.WriteLine(shader.Code);
|
||||
throw new NotImplementedException();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
|
|||
|
||||
public static void DeclareLocals(CodeGenContext context, StructuredFunction function, ShaderStage stage)
|
||||
{
|
||||
DeclareMemories(context, context.Properties.LocalMemories.Values, isShared: false);
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStage.Vertex:
|
||||
|
@ -106,6 +107,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Msl
|
|||
};
|
||||
}
|
||||
|
||||
private static void DeclareMemories(CodeGenContext context, IEnumerable<MemoryDefinition> memories, bool isShared)
|
||||
{
|
||||
foreach (var memory in memories)
|
||||
{
|
||||
var typeName = GetVarTypeName(context, memory.Type & ~AggregateType.Array);
|
||||
context.AppendLine($"{typeName} {memory.Name}[{memory.ArrayLength}];");
|
||||
}
|
||||
}
|
||||
|
||||
private static void DeclareInputAttributes(CodeGenContext context, IEnumerable<IoDefinition> inputs)
|
||||
{
|
||||
if (context.Definitions.IaIndexing)
|
||||
|
|
Loading…
Reference in a new issue