diff options
| -rw-r--r-- | source/slang/slang-options.cpp | 8 | ||||
| -rw-r--r-- | tests/diagnostics/vk-bindings.slang | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp index 5e009c46e..6b56d5600 100644 --- a/source/slang/slang-options.cpp +++ b/source/slang/slang-options.cpp @@ -2822,8 +2822,14 @@ SlangResult OptionsParser::_parse( if (getCurrentTarget()->optionSet.shouldEmitSPIRVDirectly()) { rawOutput.isWholeProgram = true; + break; } - break; + else if (m_rawEntryPoints.getCount() != 0) + { + rawOutput.entryPointIndex = (int)m_rawEntryPoints.getCount() - 1; + break; + } + [[fallthrough]]; default: m_sink->diagnose(SourceLoc(), Diagnostics::cannotMatchOutputFileToEntryPoint, rawOutput.path); break; diff --git a/tests/diagnostics/vk-bindings.slang b/tests/diagnostics/vk-bindings.slang index c0a3ca7f8..53766536d 100644 --- a/tests/diagnostics/vk-bindings.slang +++ b/tests/diagnostics/vk-bindings.slang @@ -1,6 +1,6 @@ // vk-bindings.slang -//DIAGNOSTIC_TEST:SIMPLE:-target spirv +//DIAGNOSTIC_TEST:SIMPLE:-entry main -target spirv // D3D `register` without VK binding Texture2D t : register(t0); |
