summaryrefslogtreecommitdiff
path: root/tools/gfx/d3d11/d3d11-device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/d3d11/d3d11-device.cpp')
-rw-r--r--tools/gfx/d3d11/d3d11-device.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/gfx/d3d11/d3d11-device.cpp b/tools/gfx/d3d11/d3d11-device.cpp
index cc2eda089..e6a348dc1 100644
--- a/tools/gfx/d3d11/d3d11-device.cpp
+++ b/tools/gfx/d3d11/d3d11-device.cpp
@@ -46,15 +46,20 @@ SlangResult DeviceImpl::initialize(const Desc& desc)
m_desc = desc;
// Rather than statically link against D3D, we load it dynamically.
- HMODULE d3dModule = LoadLibraryA("d3d11.dll");
- if (!d3dModule)
+ SharedLibrary::Handle d3dModule;
+#if SLANG_WINDOWS_FAMILY
+ const char* libName = "d3d11";
+#else
+ const char* libName = "dxvk_d3d11";
+#endif
+ if (SLANG_FAILED(SharedLibrary::load(libName, d3dModule)))
{
- fprintf(stderr, "error: failed load 'd3d11.dll'\n");
+ fprintf(stderr, "error: failed to load '%s'\n", libName);
return SLANG_FAIL;
}
PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN D3D11CreateDeviceAndSwapChain_ =
- (PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)GetProcAddress(d3dModule, "D3D11CreateDeviceAndSwapChain");
+ (PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)SharedLibrary::findSymbolAddressByName(d3dModule, "D3D11CreateDeviceAndSwapChain");
if (!D3D11CreateDeviceAndSwapChain_)
{
fprintf(stderr,
@@ -63,7 +68,7 @@ SlangResult DeviceImpl::initialize(const Desc& desc)
}
PFN_D3D11_CREATE_DEVICE D3D11CreateDevice_ =
- (PFN_D3D11_CREATE_DEVICE)GetProcAddress(d3dModule, "D3D11CreateDevice");
+ (PFN_D3D11_CREATE_DEVICE)SharedLibrary::findSymbolAddressByName(d3dModule, "D3D11CreateDevice");
if (!D3D11CreateDevice_)
{
fprintf(stderr,