diff options
| author | ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> | 2024-06-10 16:29:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-10 13:29:56 -0700 |
| commit | 21bbebb19dfdbbee107b9fd9830e18d5fb6a573a (patch) | |
| tree | 3792cb476b724f465c9b64b03787965b33b562f4 /source/slang/slang-emit-c-like.cpp | |
| parent | 72016f9201e4d7820f62e7ef78cee98ed1fc4da0 (diff) | |
Address glslang ordering requirments for 'derivative_group_*NV' (#4323)
* Address glslang ordering requirments for 'derivative_group_*NV'
fixes: #4305
The solution is to emit some `layout`s after a module source is emitted.
Added to slangs gfx backend code to enable the compute shader derivative extension for testing purposes.
* address review
* enable removed test
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/slang/slang-emit-c-like.cpp')
| -rw-r--r-- | source/slang/slang-emit-c-like.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index d85c72ae5..6412ff730 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -129,9 +129,12 @@ void CLikeSourceEmitter::emitPreModuleImpl() m_writer->emit(prelude->getStringSlice()); m_writer->emit("\n"); } - for (auto prelude : m_requiredPreludesRaw) +} +void CLikeSourceEmitter::emitPostModuleImpl() +{ + if(m_requiredAfter.requireComputeDerivatives.getLength() > 0) { - m_writer->emit(prelude); + m_writer->emit(m_requiredAfter.requireComputeDerivatives); m_writer->emit("\n"); } } |
