From ca0a1c7e8ca851389c3b8a9964d158a9b96ebc9f Mon Sep 17 00:00:00 2001 From: Powei Feng Date: Thu, 23 Jan 2025 17:21:23 -0800 Subject: [PATCH] filamat: fix spirv remap intialization FIXES=390398814 --- libs/filamat/src/GLSLPostProcessor.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libs/filamat/src/GLSLPostProcessor.cpp b/libs/filamat/src/GLSLPostProcessor.cpp index 92675b8dffcb..8d38ed7cc299 100644 --- a/libs/filamat/src/GLSLPostProcessor.cpp +++ b/libs/filamat/src/GLSLPostProcessor.cpp @@ -297,6 +297,19 @@ GLSLPostProcessor::GLSLPostProcessor(MaterialBuilder::Optimization optimization, spv::spirvbin_t::registerErrorHandler([](const std::string& str) { slog.e << str << io::endl; }); + + // Similar to above, we need to do a no-op remap to init a static table in the remapper before + // the jobs start using remap(). + spv::spirvbin_t remapper(0); + // We need to provide at least a valid header to not crash. + SpirvBlob spirv { + 0x07230203,// MAGIC + 0, // VERSION + 0, // GENERATOR + 0, // BOUND + 0 // SCHEMA, must be 0 + }; + remapper.remap(spirv, 0); } GLSLPostProcessor::~GLSLPostProcessor() = default;