From 0aceb534cb34287e354f92c37a1b5ebf136e8e74 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 4 Oct 2023 21:35:26 -0300 Subject: [PATCH] Fix SPIR-V function calls (#5764) * Fix SPIR-V function calls * Shader cache version bump --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../CodeGen/Spirv/Instructions.cs | 13 +++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 4ca5fdd4d..19601d18c 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 5757; + private const uint CodeGenVersion = 5764; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 56263e79f..50a73ab83 100644 --- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -316,16 +316,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { var operand = operation.GetSource(i + 1); - if (i >= function.InArguments.Length) - { - args[i] = context.GetLocalPointer((AstOperand)operand); - } - else - { - var type = function.GetArgumentType(i); - - args[i] = context.Get(type, operand); - } + AstOperand local = (AstOperand)operand; + Debug.Assert(local.Type == OperandType.LocalVariable); + args[i] = context.GetLocalPointer(local); } var retType = function.ReturnType;