diff options
| author | Dietrich Geisler <dag368@cornell.edu> | 2020-07-20 14:53:23 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-20 11:53:23 -0700 |
| commit | 115920406ebd747e02e1e6a8e4595f7d88eef0d9 (patch) | |
| tree | a230b6358b35569da5f588d733643198ff38293f /source/slang/slang-emit-spirv.cpp | |
| parent | 975c5db3f0a71bc93369a321318e7d3b43001ff5 (diff) | |
Multiple Entry Point Backend (#1437)
* Multiple Entry Point Backend
This PR introduces changes to the IR linking, emitting, and options for
multiple entry points. Specifically, this PR updates several locations
to support a (potentially empty) list of entry points, adding list infrastructure and looping over entry points as appropriate.
* Formatting change
* Updated unknown target case to not require an entry point
* Formatting and list consts updates
Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
| -rw-r--r-- | source/slang/slang-emit-spirv.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 0ca523ecf..915d963c0 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -1115,19 +1115,21 @@ struct SPIRVEmitContext SlangResult emitSPIRVFromIR( BackEndCompileRequest* compileRequest, IRModule* irModule, - IRFunc* irEntryPoint, + const List<IRFunc*>& irEntryPoints, List<uint8_t>& spirvOut) { SLANG_UNUSED(compileRequest); SLANG_UNUSED(irModule); - SLANG_UNUSED(irEntryPoint); spirvOut.clear(); SPIRVEmitContext context; context.m_irModule = irModule; context.emitFrontMatter(); - context.ensureInst(irEntryPoint); + for (auto irEntryPoint : irEntryPoints) + { + context.ensureInst(irEntryPoint); + } context.emitPhysicalLayout(); spirvOut.addRange( |
