diff options
author | Andy Shaw <andy.shaw@qt.io> | 2022-02-18 14:47:55 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2022-03-02 13:37:10 +0100 |
commit | 6ca0eeb6c6e6de1b707ad1c4070496aedeb6874f (patch) | |
tree | 10184e044e6b529e5aea1f16b0b278c510bd3252 /src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch | |
parent | 851d69eebc717858f912081b24bd2223ed641aeb (diff) | |
download | qtbase-6ca0eeb6c6e6de1b707ad1c4070496aedeb6874f.tar.gz |
ANGLE: Load the DirectX libraries from the system path directly
Pick-to: 5.12
Change-Id: I34812b32e420a6f50e5be6b26b97c8e21e0e7870
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch')
-rw-r--r-- | src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch b/src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch new file mode 100644 index 0000000000..fea52c78b8 --- /dev/null +++ b/src/3rdparty/angle/patches/0001-ANGLE-Load-the-DirectX-libraries-from-the-system.patch @@ -0,0 +1,77 @@ +From a5b015834168dee1ba91603bb82ccab3a50b445c Mon Sep 17 00:00:00 2001 +From: Andy Shaw <andy.shaw@qt.io> +Date: Fri, 18 Feb 2022 14:47:55 +0100 +Subject: [PATCH] ANGLE: Load the DirectX libraries from the system path + directly + +Change-Id: I34812b32e420a6f50e5be6b26b97c8e21e0e7870 +--- + .../renderer/d3d/d3d11/DebugAnnotator11.cpp | 8 +++++++- + .../libANGLE/renderer/d3d/d3d11/Renderer11.cpp | 18 +++++++++++++++--- + 2 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp +index 1e70363e11..8100acf56c 100644 +--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp ++++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp +@@ -11,6 +11,8 @@ + #include "common/debug.h" + #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" + ++#define INFO_BUFFER_SIZE 32767 ++ + namespace rx + { + +@@ -88,7 +90,11 @@ void DebugAnnotator11::initializeDevice() + if (!mInitialized) + { + #if !defined(ANGLE_ENABLE_WINDOWS_STORE) +- mD3d11Module = LoadLibrary(TEXT("d3d11.dll")); ++ TCHAR infoBuf[INFO_BUFFER_SIZE]; ++ DWORD bufCharCount = INFO_BUFFER_SIZE; ++ GetSystemDirectory(infoBuf, INFO_BUFFER_SIZE); ++ lstrcat(infoBuf, TEXT("\\d3d11.dll")); ++ mD3d11Module = LoadLibrary(infoBuf); + ASSERT(mD3d11Module); + + PFN_D3D11_CREATE_DEVICE D3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(mD3d11Module, "D3D11CreateDevice"); +diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +index b0ef9abddc..c9aeace241 100644 +--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp ++++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +@@ -80,6 +80,8 @@ + #define ANGLE_SKIP_DXGI_1_2_CHECK 0 + #endif + ++#define INFO_BUFFER_SIZE 32767 ++ + namespace rx + { + +@@ -772,9 +774,19 @@ egl::Error Renderer11::initializeD3DDevice() + { + SCOPED_ANGLE_HISTOGRAM_TIMER("GPU.ANGLE.Renderer11InitializeDLLsMS"); + TRACE_EVENT0("gpu.angle", "Renderer11::initialize (Load DLLs)"); +- mDxgiModule = LoadLibrary(TEXT("dxgi.dll")); +- mD3d11Module = LoadLibrary(TEXT("d3d11.dll")); +- mDCompModule = LoadLibrary(TEXT("dcomp.dll")); ++ TCHAR dxgiFile[INFO_BUFFER_SIZE]; ++ TCHAR d3d11File[INFO_BUFFER_SIZE]; ++ TCHAR dcompFile[INFO_BUFFER_SIZE]; ++ DWORD bufCharCount = INFO_BUFFER_SIZE; ++ GetSystemDirectory(dxgiFile, INFO_BUFFER_SIZE); ++ lstrcpy(d3d11File, dxgiFile); ++ lstrcpy(dcompFile, dxgiFile); ++ lstrcat(dxgiFile, TEXT("\\dxgi.dll")); ++ mDxgiModule = LoadLibrary(dxgiFile); ++ lstrcat(d3d11File, TEXT("\\d3d11.dll")); ++ mD3d11Module = LoadLibrary(d3d11File); ++ lstrcat(dcompFile, TEXT("\\dcomp.dll")); ++ mDCompModule = LoadLibrary(dcompFile); + + if (mD3d11Module == nullptr || mDxgiModule == nullptr) + { +-- +2.27.0.windows.1 + |