From 6fcadc361c48a8935fbe1c975c0b39de13601674 Mon Sep 17 00:00:00 2001 From: Jacki <jacki@thejackimonster.de> Date: Mon, 16 Sep 2024 20:46:51 +0200 Subject: [PATCH] Use macros in slang compiler Signed-off-by: Jacki <jacki@thejackimonster.de> --- .../src/vkcv/shader/SlangCompiler.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/shader_compiler/src/vkcv/shader/SlangCompiler.cpp b/modules/shader_compiler/src/vkcv/shader/SlangCompiler.cpp index a54d17bd..4879ede9 100644 --- a/modules/shader_compiler/src/vkcv/shader/SlangCompiler.cpp +++ b/modules/shader_compiler/src/vkcv/shader/SlangCompiler.cpp @@ -107,6 +107,21 @@ namespace vkcv::shader { sessionDesc.searchPaths = &searchPath; sessionDesc.searchPathCount = 1; + std::vector<slang::PreprocessorMacroDesc> macros; + macros.reserve(m_defines.size()); + + for (const auto& define : m_defines) { + const slang::PreprocessorMacroDesc macro = { + define.first.c_str(), + define.second.c_str() + }; + + macros.push_back(macro); + } + + sessionDesc.preprocessorMacros = macros.data(); + sessionDesc.preprocessorMacroCount = macros.size(); + Slang::ComPtr<slang::ISession> session; if (SLANG_FAILED(s_GlobalSession->createSession(sessionDesc, session.writeRef()))) { vkcv_log(LogLevel::ERROR, "Compiler session could not be created"); -- GitLab