summaryrefslogtreecommitdiff
path: root/tools/gfx/vulkan/vk-device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
-rw-r--r--tools/gfx/vulkan/vk-device.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp
index 1b046d8f2..b2cbb03c1 100644
--- a/tools/gfx/vulkan/vk-device.cpp
+++ b/tools/gfx/vulkan/vk-device.cpp
@@ -2234,6 +2234,11 @@ Result DeviceImpl::createProgram(
shaderProgram->linkedProgram->getLayout(),
shaderProgram->m_rootObjectLayout.writeRef());
+ if (!shaderProgram->isSpecializable())
+ {
+ SLANG_RETURN_ON_FAIL(shaderProgram->compileShaders(this));
+ }
+
returnComPtr(outProgram, shaderProgram);
return SLANG_OK;
}