aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-06-08 17:43:16 -0300
committerGitHub <noreply@github.com>2023-06-08 17:43:16 -0300
commit2cdcfe46d8959b0cbd8aea3b4439b30a55d47f00 (patch)
tree8f493b6e52e0e30997e7575dc55835d5f645943e /src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs
parentfe30c03cac9d1f09270a4156aceab273dbac81fb (diff)
Remove barrier on Intel if control flow is potentially divergent (#5044)
* Remove barrier on Intel if control flow is potentially divergent * Shader cache version bump
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs
index c1bfa088..1f5167e6 100644
--- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs
+++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs
@@ -76,6 +76,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv
public SpirvDelegates Delegates { get; }
+ public bool IsMainFunction { get; private set; }
+ public bool MayHaveReturned { get; set; }
+
public CodeGenContext(
StructuredProgramInfo info,
ShaderConfig config,
@@ -108,8 +111,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv
Delegates = new SpirvDelegates(this);
}
- public void StartFunction()
+ public void StartFunction(bool isMainFunction)
{
+ IsMainFunction = isMainFunction;
+ MayHaveReturned = false;
_locals.Clear();
_localForArgs.Clear();
_funcArgs.Clear();