summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 2217bc143..1d72fd233 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -71,6 +71,7 @@
#include "slang-ir-string-hash.h"
#include "slang-ir-simplify-for-emit.h"
#include "slang-ir-pytorch-cpp-binding.h"
+#include "slang-ir-uniformity.h"
#include "slang-ir-vk-invert-y.h"
#include "slang-legalize-types.h"
#include "slang-lower-to-ir.h"
@@ -371,6 +372,13 @@ Result linkAndOptimizeIR(
simplifyIR(targetProgram, irModule, IRSimplificationOptions::getDefault(), sink);
+ if (targetProgram->getOptionSet().getBoolOption(CompilerOptionName::ValidateUniformity))
+ {
+ validateUniformity(irModule, sink);
+ if (sink->getErrorCount() != 0)
+ return SLANG_FAIL;
+ }
+
// Fill in default matrix layout into matrix types that left layout unspecified.
specializeMatrixLayout(codeGenContext->getTargetProgram(), irModule);