Load D3DCompiler_43.dll if D3DCompiler_47.dll is not available
This commit is contained in:
parent
1ddc713f16
commit
dea8b42d3e
2 changed files with 8 additions and 5 deletions
|
@ -191,14 +191,17 @@ static void gfx_d3d11_init(void) {
|
||||||
// Load d3d11.dll
|
// Load d3d11.dll
|
||||||
d3d.d3d11_module = LoadLibraryW(L"d3d11.dll");
|
d3d.d3d11_module = LoadLibraryW(L"d3d11.dll");
|
||||||
if (d3d.d3d11_module == nullptr) {
|
if (d3d.d3d11_module == nullptr) {
|
||||||
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "d3d11.dll not found");
|
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "d3d11.dll could not be loaded");
|
||||||
}
|
}
|
||||||
d3d.D3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(d3d.d3d11_module, "D3D11CreateDevice");
|
d3d.D3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(d3d.d3d11_module, "D3D11CreateDevice");
|
||||||
|
|
||||||
// Load D3DCompiler_47.dll
|
// Load D3DCompiler_47.dll or D3DCompiler_43.dll
|
||||||
d3d.d3dcompiler_module = LoadLibraryW(L"D3DCompiler_47.dll");
|
d3d.d3dcompiler_module = LoadLibraryW(L"D3DCompiler_47.dll");
|
||||||
if (d3d.d3dcompiler_module == nullptr) {
|
if (d3d.d3dcompiler_module == nullptr) {
|
||||||
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "D3DCompiler_47.dll not found");
|
d3d.d3dcompiler_module = LoadLibraryW(L"D3DCompiler_43.dll");
|
||||||
|
if (d3d.d3dcompiler_module == nullptr) {
|
||||||
|
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "D3DCompiler_47.dll or D3DCompiler_43.dll could not be loaded");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
d3d.D3DCompile = (pD3DCompile)GetProcAddress(d3d.d3dcompiler_module, "D3DCompile");
|
d3d.D3DCompile = (pD3DCompile)GetProcAddress(d3d.d3dcompiler_module, "D3DCompile");
|
||||||
|
|
||||||
|
|
|
@ -682,7 +682,7 @@ static void gfx_direct3d12_init(void ) {
|
||||||
// Load d3d12.dll
|
// Load d3d12.dll
|
||||||
d3d.d3d12_module = LoadLibraryW(L"d3d12.dll");
|
d3d.d3d12_module = LoadLibraryW(L"d3d12.dll");
|
||||||
if (d3d.d3d12_module == nullptr) {
|
if (d3d.d3d12_module == nullptr) {
|
||||||
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "d3d12.dll not found");
|
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "d3d12.dll could not be loaded");
|
||||||
}
|
}
|
||||||
d3d.D3D12CreateDevice = (PFN_D3D12_CREATE_DEVICE)GetProcAddress(d3d.d3d12_module, "D3D12CreateDevice");
|
d3d.D3D12CreateDevice = (PFN_D3D12_CREATE_DEVICE)GetProcAddress(d3d.d3d12_module, "D3D12CreateDevice");
|
||||||
#if DEBUG_D3D
|
#if DEBUG_D3D
|
||||||
|
@ -692,7 +692,7 @@ static void gfx_direct3d12_init(void ) {
|
||||||
// Load D3DCompiler_47.dll
|
// Load D3DCompiler_47.dll
|
||||||
d3d.d3dcompiler_module = LoadLibraryW(L"D3DCompiler_47.dll");
|
d3d.d3dcompiler_module = LoadLibraryW(L"D3DCompiler_47.dll");
|
||||||
if (d3d.d3dcompiler_module == nullptr) {
|
if (d3d.d3dcompiler_module == nullptr) {
|
||||||
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "D3DCompiler_47.dll not found");
|
ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError()), gfx_dxgi_get_h_wnd(), "D3DCompiler_47.dll could not be loaded");
|
||||||
}
|
}
|
||||||
d3d.D3DCompile = (pD3DCompile)GetProcAddress(d3d.d3dcompiler_module, "D3DCompile");
|
d3d.D3DCompile = (pD3DCompile)GetProcAddress(d3d.d3dcompiler_module, "D3DCompile");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue