summaryrefslogtreecommitdiffstats
path: root/tools/gfx/renderer-shared.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/renderer-shared.cpp')
-rw-r--r--tools/gfx/renderer-shared.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/gfx/renderer-shared.cpp b/tools/gfx/renderer-shared.cpp
index ae4ea3eef..edd271ecb 100644
--- a/tools/gfx/renderer-shared.cpp
+++ b/tools/gfx/renderer-shared.cpp
@@ -1133,11 +1133,13 @@ Result ShaderProgramBase::compileShaders(RendererBase* device)
kernelCodes.add(downstreamIR);
}
- // If target precompilation was used, kernelCode may only represent the
- // glue code holding together the bits of precompiled target IR.
- // Collect those dependency target IRs too.
+ // If target precompilation with deferred downstream linking is enabled,
+ // kernelCode may only represent the glue code holding together the
+ // bits of precompiled target IR. It's the application's job to pull it
+ // together. Collect those dependency target IRs too.
ComPtr<slang::IModulePrecompileService_Experimental> componentPrecompileService;
- if (entryPointComponent->queryInterface(
+ if (this->desc.downstreamLinkMode == DownstreamLinkMode::Deferred &&
+ entryPointComponent->queryInterface(
slang::IModulePrecompileService_Experimental::getTypeGuid(),
(void**)componentPrecompileService.writeRef()) == SLANG_OK)
{