diff options
Diffstat (limited to 'tools/gfx-unit-test/gfx-test-util.cpp')
| -rw-r--r-- | tools/gfx-unit-test/gfx-test-util.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/gfx-unit-test/gfx-test-util.cpp b/tools/gfx-unit-test/gfx-test-util.cpp index 2bbe65416..d7cfa0f65 100644 --- a/tools/gfx-unit-test/gfx-test-util.cpp +++ b/tools/gfx-unit-test/gfx-test-util.cpp @@ -80,7 +80,8 @@ Slang::Result loadComputeProgram( Slang::ComPtr<gfx::IShaderProgram>& outShaderProgram, const char* shaderModuleName, const char* entryPointName, - slang::ProgramLayout*& slangReflection) + slang::ProgramLayout*& slangReflection, + PrecompilationMode precompilationMode) { Slang::ComPtr<slang::IBlob> diagnosticsBlob; slang::IModule* module = slangSession->loadModule(shaderModuleName, diagnosticsBlob.writeRef()); @@ -115,6 +116,14 @@ Slang::Result loadComputeProgram( gfx::IShaderProgram::Desc programDesc = {}; programDesc.slangGlobalScope = composedProgram.get(); + if (precompilationMode == PrecompilationMode::ExternalLink) + { + programDesc.downstreamLinkMode = gfx::IShaderProgram::DownstreamLinkMode::Deferred; + } + else + { + programDesc.downstreamLinkMode = gfx::IShaderProgram::DownstreamLinkMode::None; + } auto shaderProgram = device->createProgram(programDesc); |
