Skip to content

Commit f85955f

Browse files
committed
canonicalize id pass must always run last
1 parent a6d5231 commit f85955f

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

libs/filamat/src/GLSLPostProcessor.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -998,6 +998,11 @@ std::shared_ptr<Optimizer> GLSLPostProcessor::createOptimizer(
998998
}
999999

10001000
void GLSLPostProcessor::optimizeSpirv(OptimizerPtr optimizer, SpirvBlob& spirv) {
1001+
1002+
// always add the CanonicalizeIds Pass
1003+
optimizer->RegisterPass(CreateCanonicalizeIdsPass());
1004+
1005+
// run optimizer
10011006
if (!optimizer->Run(spirv.data(), spirv.size(), &spirv)) {
10021007
slog.e << "SPIR-V optimizer pass failed" << io::endl;
10031008
return;
@@ -1090,7 +1095,6 @@ void GLSLPostProcessor::registerPerformancePasses(Optimizer& optimizer, Config c
10901095
RegisterPass(CreateDeadBranchElimPass());
10911096
RegisterPass(CreateBlockMergePass());
10921097
RegisterPass(CreateSimplificationPass(), MaterialBuilder::TargetApi::METAL);
1093-
RegisterPass(CreateCanonicalizeIdsPass());
10941098
}
10951099

10961100
void GLSLPostProcessor::registerSizePasses(Optimizer& optimizer, Config const& config) {
@@ -1133,7 +1137,6 @@ void GLSLPostProcessor::registerSizePasses(Optimizer& optimizer, Config const& c
11331137
RegisterPass(CreateRedundancyEliminationPass());
11341138
RegisterPass(CreateAggressiveDCEPass());
11351139
RegisterPass(CreateCFGCleanupPass());
1136-
RegisterPass(CreateCanonicalizeIdsPass());
11371140
}
11381141

11391142
} // namespace filamat

0 commit comments

Comments
 (0)