summaryrefslogtreecommitdiffstats
path: root/tools/gfx/vulkan/vk-module.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/vulkan/vk-module.cpp')
-rw-r--r--tools/gfx/vulkan/vk-module.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/gfx/vulkan/vk-module.cpp b/tools/gfx/vulkan/vk-module.cpp
index 4e92a3d2c..985df1a7b 100644
--- a/tools/gfx/vulkan/vk-module.cpp
+++ b/tools/gfx/vulkan/vk-module.cpp
@@ -1,4 +1,4 @@
-// module.cpp
+// module.cpp
#include "vk-module.h"
#include <stdlib.h>
@@ -37,6 +37,18 @@ Slang::Result VulkanModule::init()
if (!m_module)
{
+ dynamicLibraryName = "vk_swiftshader";
+#if SLANG_WINDOWS_FAMILY
+ HMODULE swiftShaderModule = ::LoadLibraryA(dynamicLibraryName);
+ m_module = (void*)swiftShaderModule;
+#else
+ m_module = dlopen(dynamicLibraryName, RTLD_NOW);
+#endif
+ m_isSoftware = true;
+ }
+
+ if (!m_module)
+ {
fprintf(stderr, "error: failed load '%s'\n", dynamicLibraryName);
return SLANG_FAIL;
}