|
@@ -204,14 +204,16 @@ bool spirvToolsLegalize(spv_target_env env, std::vector<uint32_t> *module,
|
|
const spv_position_t & /*position*/,
|
|
const spv_position_t & /*position*/,
|
|
const char *message) { *messages += message; });
|
|
const char *message) { *messages += message; });
|
|
|
|
|
|
|
|
+ spvtools::OptimizerOptions options;
|
|
|
|
+ options.set_run_validator(false);
|
|
|
|
+
|
|
optimizer.RegisterLegalizationPasses();
|
|
optimizer.RegisterLegalizationPasses();
|
|
|
|
|
|
optimizer.RegisterPass(spvtools::CreateReplaceInvalidOpcodePass());
|
|
optimizer.RegisterPass(spvtools::CreateReplaceInvalidOpcodePass());
|
|
|
|
|
|
optimizer.RegisterPass(spvtools::CreateCompactIdsPass());
|
|
optimizer.RegisterPass(spvtools::CreateCompactIdsPass());
|
|
|
|
|
|
- return optimizer.Run(module->data(), module->size(), module, {},
|
|
|
|
- /*skip_validation=*/true);
|
|
|
|
|
|
+ return optimizer.Run(module->data(), module->size(), module, options);
|
|
}
|
|
}
|
|
|
|
|
|
bool spirvToolsOptimize(spv_target_env env, std::vector<uint32_t> *module,
|
|
bool spirvToolsOptimize(spv_target_env env, std::vector<uint32_t> *module,
|
|
@@ -224,6 +226,9 @@ bool spirvToolsOptimize(spv_target_env env, std::vector<uint32_t> *module,
|
|
const spv_position_t & /*position*/,
|
|
const spv_position_t & /*position*/,
|
|
const char *message) { *messages += message; });
|
|
const char *message) { *messages += message; });
|
|
|
|
|
|
|
|
+ spvtools::OptimizerOptions options;
|
|
|
|
+ options.set_run_validator(false);
|
|
|
|
+
|
|
if (flags.empty()) {
|
|
if (flags.empty()) {
|
|
optimizer.RegisterPerformancePasses();
|
|
optimizer.RegisterPerformancePasses();
|
|
optimizer.RegisterPass(spvtools::CreateCompactIdsPass());
|
|
optimizer.RegisterPass(spvtools::CreateCompactIdsPass());
|
|
@@ -237,8 +242,7 @@ bool spirvToolsOptimize(spv_target_env env, std::vector<uint32_t> *module,
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- return optimizer.Run(module->data(), module->size(), module, {},
|
|
|
|
- /*skip_validation=*/true);
|
|
|
|
|
|
+ return optimizer.Run(module->data(), module->size(), module, options);
|
|
}
|
|
}
|
|
|
|
|
|
bool spirvToolsValidate(spv_target_env env, std::vector<uint32_t> *module,
|
|
bool spirvToolsValidate(spv_target_env env, std::vector<uint32_t> *module,
|