@@ -661,7 +661,9 @@ bool GLSLPostProcessor::process(const std::string& inputShader, Config const& co
661
661
}
662
662
break ;
663
663
case MaterialBuilder::Optimization::PREPROCESSOR:
664
- preprocessOptimization (tShader, config, internalConfig);
664
+ if (!preprocessOptimization (tShader, config, internalConfig)) {
665
+ return false ;
666
+ }
665
667
break ;
666
668
case MaterialBuilder::Optimization::SIZE:
667
669
case MaterialBuilder::Optimization::PERFORMANCE:
@@ -691,7 +693,7 @@ bool GLSLPostProcessor::process(const std::string& inputShader, Config const& co
691
693
return true ;
692
694
}
693
695
694
- void GLSLPostProcessor::preprocessOptimization (glslang::TShader& tShader,
696
+ bool GLSLPostProcessor::preprocessOptimization (glslang::TShader& tShader,
695
697
GLSLPostProcessor::Config const & config, InternalConfig& internalConfig) const {
696
698
using TargetApi = MaterialBuilder::TargetApi;
697
699
assert_invariant (bool (internalConfig.spirvOutput ) == (config.targetApi != TargetApi::OPENGL));
@@ -707,6 +709,7 @@ void GLSLPostProcessor::preprocessOptimization(glslang::TShader& tShader,
707
709
708
710
if (!ok) {
709
711
slog.e << tShader.getInfoLog () << io::endl;
712
+ return false ;
710
713
}
711
714
712
715
if (internalConfig.spirvOutput ) {
@@ -728,6 +731,7 @@ void GLSLPostProcessor::preprocessOptimization(glslang::TShader& tShader,
728
731
bool const linkOk = program.link (msg);
729
732
if (!ok || !linkOk) {
730
733
slog.e << spirvShader.getInfoLog () << io::endl;
734
+ return false ;
731
735
} else {
732
736
SpvOptions options;
733
737
options.generateDebugInfo = mGenerateDebugInfo ;
@@ -749,14 +753,15 @@ void GLSLPostProcessor::preprocessOptimization(glslang::TShader& tShader,
749
753
}
750
754
if (internalConfig.wgslOutput ) {
751
755
if (!spirvToWgsl (internalConfig.spirvOutput , internalConfig.wgslOutput )) {
752
- return ;
756
+ return false ;
753
757
}
754
758
}
755
759
756
760
757
761
if (internalConfig.glslOutput ) {
758
762
*internalConfig.glslOutput = glsl;
759
763
}
764
+ return true ;
760
765
}
761
766
762
767
bool GLSLPostProcessor::fullOptimization (const TShader& tShader,
0 commit comments