[Fix] (MG_State/Program): Map IO binding in FinalizeProgramPipeline.

This commit is contained in:
BZLZHH
2025-07-05 10:28:39 +08:00
parent bcaf0e6e32
commit 4cf85c4f2a
2 changed files with 29 additions and 0 deletions
+15
View File
@@ -658,6 +658,21 @@ namespace MG_Util::Program {
return {};
}
std::unique_ptr<glslang::TIoMapResolver> resolver;
for (unsigned stage = 0; stage < EShLangCount; stage++) {
auto* pResolver = program.getGlslIoResolver((EShLanguage)stage);
if (pResolver) {
resolver = std::unique_ptr<glslang::TIoMapResolver>(pResolver);
break;
}
}
auto ioMapper = std::unique_ptr<glslang::TIoMapper>(glslang::GetGlslIoMapper());
if (!program.mapIO(resolver.get(), ioMapper.get())) {
infoLog = "Error: [glslang] Cannot mapIO:\n" + std::to_string(program.getInfoLog());
return {};
}
SpvOptions spvOptions;
spvOptions.disableOptimizer = false;