From 35aeb042a2a72ad1cc9905b2b47513910b8b0d5a Mon Sep 17 00:00:00 2001 From: Panagiotis Christopoulos Charitos Date: Mon, 18 Mar 2019 11:34:17 +0100 Subject: [PATCH] Avoid running the validator as part of the optimization pass. The spvtools::Optimizer::Run method glslang is using constructs a default set of spvtools::OptimizerOptions. This default set of options instructs the validator to run. That is not quite correct since glslang will invoke the validator _explicitly_ after the optimization pass. Change-Id: I30f458304c6e7f81e89fc4ebd25eabbbd8348063 --- SPIRV/SpvTools.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index eec06e0a..cce5fa71 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -191,7 +191,9 @@ void SpirvToolsLegalize(const glslang::TIntermediate&, std::vector optimizer.RegisterPass(spvtools::CreateRedundantLineInfoElimPass()); } - optimizer.Run(spirv.data(), spirv.size(), &spirv); + spvtools::OptimizerOptions spvOptOptions; + spvOptOptions.set_run_validator(false); // The validator may run as a seperate step later on + optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); } }; // end namespace glslang