diff options
Diffstat (limited to 'source/slang/slang-options.cpp')
| -rw-r--r-- | source/slang/slang-options.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
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)); |
