summaryrefslogtreecommitdiffstats
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.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 43f54d04f..ee38996e6 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -17,6 +17,7 @@
#include "slang-ir-defunctionalization.h"
#include "slang-ir-dll-export.h"
#include "slang-ir-dll-import.h"
+#include "slang-ir-early-raytracing-intrinsic-simplification.h"
#include "slang-ir-eliminate-phis.h"
#include "slang-ir-eliminate-multilevel-break.h"
#include "slang-ir-entry-point-uniforms.h"
@@ -242,7 +243,7 @@ Result linkAndOptimizeIR(
// If the user specified the flag that they want us to dump
// IR, then do it here, for the target-specific, but
// un-specialized IR.
- dumpIRIfEnabled(codeGenContext, irModule);
+ dumpIRIfEnabled(codeGenContext, irModule, "POST IR VALIDATION");
if(!isKhronosTarget(targetRequest))
lowerGLSLShaderStorageBufferObjectsToStructuredBuffers(irModule, sink);
@@ -1038,6 +1039,9 @@ Result linkAndOptimizeIR(
}
}
+ replaceLocationIntrinsicsWithRaytracingObject(targetProgram, irModule, sink);
+ validateIRModuleIfEnabled(codeGenContext, irModule);
+
// Run a final round of simplifications to clean up unused things after phi-elimination.
simplifyNonSSAIR(targetProgram, irModule, IRSimplificationOptions::getFast());