From 2de296ca00c0e77526ae1a83b4fb3df30419f70b Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 14 Jul 2023 16:31:12 -0400 Subject: Allow setting of HLSLToVulkan options without having a target specified on the command line options. (#2989) --- source/slang/slang-options.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'source/slang/slang-options.cpp') diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp index ad061a4e5..552d5bc47 100644 --- a/source/slang/slang-options.cpp +++ b/source/slang/slang-options.cpp @@ -2351,12 +2351,16 @@ SlangResult OptionsParser::_parse( } } - // If there are no layout settings, we don't need to carry this state - if (m_hlslToVulkanLayoutOptions->isReset()) + // If there is state set on HLSL to Vulkan layout settings, set on the end to end request + // such can be added when target requests are setup + if (!m_hlslToVulkanLayoutOptions->isReset()) { - m_hlslToVulkanLayoutOptions.setNull(); + m_requestImpl->setHLSLToVulkanLayoutOptions(m_hlslToVulkanLayoutOptions); } + // No longer need to track + m_hlslToVulkanLayoutOptions.setNull(); + if (m_compileStdLib) { SLANG_RETURN_ON_FAIL(m_session->compileStdLib(m_compileStdLibFlags)); @@ -2762,8 +2766,6 @@ SlangResult OptionsParser::_parse( int targetID = m_compileRequest->addCodeGenTarget(SlangCompileTarget(rawTarget.format)); rawTarget.targetID = targetID; - m_requestImpl->setHLSLToVulkanLayoutOptions(targetID, m_hlslToVulkanLayoutOptions); - if (rawTarget.profileVersion != ProfileVersion::Unknown) { m_compileRequest->setTargetProfile(targetID, SlangProfileID(Profile(rawTarget.profileVersion).raw)); -- cgit v1.2.3