From a2e4b4b6d80aa990ec171a22b597a96f4bf5f9d3 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 16:33:21 -0300 Subject: [PATCH] SPIR-V: Functions must always end with a return --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 1cd965813..c74d6d30f 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -84,6 +84,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Generate(context, function.MainBlock); + // Functions must always end with a return. + if (!(function.MainBlock.Last is AstOperation operation) || operation.Inst != Instruction.Return) + { + context.Return(); + } + context.FunctionEnd(); if (funcIndex == 0)