summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-shader.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-01-27 18:17:16 -0800
committerGitHub <noreply@github.com>2025-01-27 18:17:16 -0800
commitf030a5ab62235152055fe8a616dd6d0d7ba1c275 (patch)
treee4851bd271a04feaa8c3dc9eeb228d3550b9b56e /source/slang/slang-check-shader.cpp
parentda3dc98f96cc7be2accb5c6f86aa6f6e5502bada (diff)
Properly plumbing layout for global varyings. (#6198)
* Properly plumbing layout for global varyings. * Fix test.
Diffstat (limited to 'source/slang/slang-check-shader.cpp')
-rw-r--r--source/slang/slang-check-shader.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/slang/slang-check-shader.cpp b/source/slang/slang-check-shader.cpp
index c9e190469..d04c72e15 100644
--- a/source/slang/slang-check-shader.cpp
+++ b/source/slang/slang-check-shader.cpp
@@ -741,7 +741,19 @@ void Module::_collectShaderParams()
// things like `static` globals and `groupshared` variables.
//
if (!isGlobalShaderParameter(globalVar))
- continue;
+ {
+ bool isVarying = false;
+ for (auto m : globalVar->modifiers)
+ {
+ if (as<InModifier>(m) || as<OutModifier>(m))
+ {
+ isVarying = true;
+ break;
+ }
+ }
+ if (!isVarying)
+ continue;
+ }
// At this point we know we have a global shader parameter.