summaryrefslogtreecommitdiffstats
path: root/src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch')
-rw-r--r--src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch892
1 files changed, 0 insertions, 892 deletions
diff --git a/src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch b/src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch
deleted file mode 100644
index f42ff2141b..0000000000
--- a/src/angle/patches/0002-ANGLE-Fix-compilation-with-MinGW.patch
+++ /dev/null
@@ -1,892 +0,0 @@
-From c6b9e598384563a641efdff56fdbdb0d7a561ec4 Mon Sep 17 00:00:00 2001
-From: Oliver Wolff <oliver.wolff@theqtcompany.com>
-Date: Thu, 10 Mar 2016 15:12:58 +0100
-Subject: [PATCH] ANGLE: Fix compilation with MinGW
-
-This adds definition guards for Direct3D 11 and DirectX SDK layers, which
-are only available in very recent versions (4.9.2 rev 4) of MinGW builds.
-It additionally adds a few missing includes needed for compilation.
-
-Change-Id: I254c208209c0071fae5efb6727f2b3cfd5542da6
----
- src/3rdparty/angle/src/common/platform.h | 10 ++-
- .../src/libANGLE/renderer/d3d/HLSLCompiler.cpp | 9 +++
- .../src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp | 6 ++
- .../src/libANGLE/renderer/d3d/d3d11/Clear11.cpp | 4 +
- .../renderer/d3d/d3d11/DebugAnnotator11.cpp | 10 +++
- .../libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h | 2 +
- .../libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp | 2 +
- .../src/libANGLE/renderer/d3d/d3d11/Query11.cpp | 14 ++++++++++++++
- .../src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp | 32 +++++++-
- .../src/libANGLE/renderer/d3d/d3d11/Renderer11.h | 4 +
- .../libANGLE/renderer/d3d/d3d11/SwapChain11.cpp | 10 +++
- .../src/libANGLE/renderer/d3d/d3d11/SwapChain11.h | 2 +
- .../renderer/d3d/d3d11/renderer11_utils.cpp | 92 ++++++++++++++++++++++
- .../renderer/d3d/d3d11/win32/NativeWindow.cpp | 8 ++
- .../src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp | 4 +-
- src/3rdparty/angle/src/libEGL/libEGL_mingw32.def | 27 ++++---
- src/3rdparty/angle/src/libEGL/libEGLd_mingw32.def | 19 +++++
- .../angle/src/libGLESv2/libGLESv2_mingw32.def | 32 +++++++-
- .../angle/src/libGLESv2/libGLESv2d_mingw32.def | 32 +++++++-
- 19 files changed, 296 insertions(+), 21 deletions(-)
-
-diff --git a/src/3rdparty/angle/src/common/platform.h b/src/3rdparty/angle/src/common/platform.h
-index 4e3851c..be4cb94 100644
---- a/src/3rdparty/angle/src/common/platform.h
-+++ b/src/3rdparty/angle/src/common/platform.h
-@@ -59,9 +59,17 @@
- # if defined(ANGLE_ENABLE_D3D11)
- # include <d3d10_1.h>
- # include <d3d11.h>
--# include <d3d11_1.h>
- # include <dxgi.h>
-+# if defined(__MINGW32__) && !defined(__d3d11sdklayers_h__)
-+# define ANGLE_MINGW32_COMPAT
-+# endif
-+# if defined(_MSC_VER) && _MSC_VER >= 1800
-+# define ANGLE_ENABLE_D3D11_1
-+# endif
-+# if defined(ANGLE_ENABLE_D3D11_1)
-+# include <d3d11_1.h>
- # include <dxgi1_2.h>
-+# endif
- # include <d3dcompiler.h>
- # endif
-
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
-index 0d298bb..df0257e 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
-@@ -25,6 +25,15 @@ namespace
-
- #define CREATE_COMPILER_FLAG_INFO(flag) { flag, #flag }
-
-+#if defined(ANGLE_MINGW32_COMPAT)
-+#ifndef D3DCOMPILE_RESERVED16
-+#define D3DCOMPILE_RESERVED16 0x10000
-+#endif
-+#ifndef D3DCOMPILE_RESERVED17
-+#define D3DCOMPILE_RESERVED17 0x20000
-+#endif
-+#endif
-+
- struct CompilerFlagInfo
- {
- UINT mFlag;
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
-index 66e2d67..0d5dc08 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
-@@ -29,6 +29,12 @@ GLuint ReadIndexValueFromIndices(const uint8_t *data, size_t index)
- typedef GLuint (*ReadIndexValueFunction)(const uint8_t *data, size_t index);
- }
-
-+#if defined(ANGLE_MINGW32_COMPAT)
-+typedef enum D3D11_MAP_FLAG {
-+ D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000
-+} D3D11_MAP_FLAG;
-+#endif
-+
- namespace rx
- {
- PackPixelsParams::PackPixelsParams()
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
-index 03b28c2..cd95c65 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
-@@ -262,7 +262,9 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams, const gl
- RenderTarget11* maskedClearDepthStencil = nullptr;
-
- ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext();
-+#if defined(ANGLE_ENABLE_D3D11_1)
- ID3D11DeviceContext1 *deviceContext1 = mRenderer->getDeviceContext1IfSupported();
-+#endif
- ID3D11Device *device = mRenderer->getDevice();
-
- for (size_t colorAttachmentIndex = 0; colorAttachmentIndex < colorAttachments.size();
-@@ -347,6 +349,7 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams, const gl
- clearValues[3] = (clearParams.colorFClearValue.alpha >= 0.5f) ? 1.0f : 0.0f;
- }
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- if (needScissoredClear)
- {
- // We shouldn't reach here if deviceContext1 is unavailable.
-@@ -361,6 +364,7 @@ gl::Error Clear11::clearFramebuffer(const ClearParameters &clearParams, const gl
- deviceContext1->ClearView(framebufferRTV, clearValues, &rect, 1);
- }
- else
-+#endif
- {
- deviceContext->ClearRenderTargetView(framebufferRTV, clearValues);
- }
-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 2e42859..1c35ab4 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp
-@@ -27,7 +27,9 @@ DebugAnnotator11::~DebugAnnotator11()
- {
- if (mInitialized)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(mUserDefinedAnnotation);
-+#endif
-
- #if !defined(ANGLE_ENABLE_WINDOWS_STORE)
- FreeLibrary(mD3d11Module);
-@@ -41,7 +43,9 @@ void DebugAnnotator11::beginEvent(const wchar_t *eventName)
-
- if (mUserDefinedAnnotation != nullptr)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mUserDefinedAnnotation->BeginEvent(eventName);
-+#endif
- }
- }
-
-@@ -51,7 +55,9 @@ void DebugAnnotator11::endEvent()
-
- if (mUserDefinedAnnotation != nullptr)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mUserDefinedAnnotation->EndEvent();
-+#endif
- }
- }
-
-@@ -61,7 +67,9 @@ void DebugAnnotator11::setMarker(const wchar_t *markerName)
-
- if (mUserDefinedAnnotation != nullptr)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mUserDefinedAnnotation->SetMarker(markerName);
-+#endif
- }
- }
-
-@@ -137,8 +145,10 @@ void DebugAnnotator11::initializeDevice()
- ASSERT(SUCCEEDED(hr));
- if (SUCCEEDED(hr))
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mUserDefinedAnnotation = d3d11::DynamicCastComObject<ID3DUserDefinedAnnotation>(context);
- ASSERT(mUserDefinedAnnotation != nullptr);
-+#endif
- mInitialized = true;
- }
-
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h
-index 9da4fa2..d1a0f7f 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h
-@@ -11,6 +11,8 @@
-
- #include "common/debug.h"
-
-+struct ID3DUserDefinedAnnotation;
-+
- namespace rx
- {
-
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
-index beffa30..186a035 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
-@@ -140,6 +140,7 @@ gl::Error Framebuffer11::discard(size_t count, const GLenum *attachments)
-
- gl::Error Framebuffer11::invalidateBase(size_t count, const GLenum *attachments, bool useEXTBehavior) const
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- ID3D11DeviceContext1 *deviceContext1 = mRenderer->getDeviceContext1IfSupported();
-
- if (!deviceContext1)
-@@ -272,6 +273,7 @@ gl::Error Framebuffer11::invalidateBase(size_t count, const GLenum *attachments,
- deviceContext1->DiscardView(stencilView);
- }
- }
-+#endif // ANGLE_ENABLE_D3D11_1
-
- return gl::Error(GL_NO_ERROR);
- }
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
-index c015ff4..c0bed2b 100644
-index c015ff4..972c289 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
-@@ -13,6 +13,20 @@
-
- #include <GLES2/gl2ext.h>
-
-+#if defined(ANGLE_MINGW32_COMPAT)
-+typedef struct D3D11_QUERY_DATA_SO_STATISTICS {
-+ UINT64 NumPrimitivesWritten;
-+ UINT64 PrimitivesStorageNeeded;
-+} D3D11_QUERY_DATA_SO_STATISTICS;
-+#endif // ANGLE_MINGW32_COMPAT
-+
-+#ifdef __MINGW32__
-+typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
-+ UINT64 Frequency;
-+ BOOL Disjoint;
-+} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
-+#endif // MINGW32
-+
- namespace rx
- {
-
-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 ea84783..62badcc 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
-@@ -10,7 +10,7 @@
-
- #include <EGL/eglext.h>
- #include <sstream>
--#if WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP
-+#if !defined(ANGLE_MINGW32_COMPAT) && WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP
- #include <VersionHelpers.h>
- #endif
-
-@@ -89,6 +89,7 @@ enum
- MAX_TEXTURE_IMAGE_UNITS_VTF_SM4 = 16
- };
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- void CalculateConstantBufferParams(GLintptr offset, GLsizeiptr size, UINT *outFirstConstant, UINT *outNumConstants)
- {
- // The offset must be aligned to 256 bytes (should have been enforced by glBindBufferRange).
-@@ -105,6 +106,7 @@ void CalculateConstantBufferParams(GLintptr offset, GLsizeiptr size, UINT *outFi
- // This behaviour is explictly allowed according to the documentation on ID3D11DeviceContext1::PSSetConstantBuffers1
- // https://msdn.microsoft.com/en-us/library/windows/desktop/hh404649%28v=vs.85%29.aspx
- }
-+#endif
-
- enum ANGLEFeatureLevel
- {
-@@ -369,8 +371,10 @@ Renderer11::Renderer11(egl::Display *display)
- : RendererD3D(display),
- mStateCache(this),
- mStateManager(this),
-- mLastHistogramUpdateTime(ANGLEPlatformCurrent()->monotonicallyIncreasingTime()),
-- mDebug(nullptr)
-+ mLastHistogramUpdateTime(ANGLEPlatformCurrent()->monotonicallyIncreasingTime())
-+#if !defined(ANGLE_MINGW32_COMPAT)
-+ ,mDebug(nullptr)
-+#endif
- {
- mVertexDataManager = NULL;
- mIndexDataManager = NULL;
-@@ -572,7 +576,9 @@ egl::Error Renderer11::initialize()
- // Cast the DeviceContext to a DeviceContext1.
- // This could fail on Windows 7 without the Platform Update.
- // Don't error in this case- just don't use mDeviceContext1.
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mDeviceContext1 = d3d11::DynamicCastComObject<ID3D11DeviceContext1>(mDeviceContext);
-+#endif
-
- IDXGIDevice *dxgiDevice = NULL;
- result = mDevice->QueryInterface(__uuidof(IDXGIDevice), (void**)&dxgiDevice);
-@@ -595,6 +601,7 @@ egl::Error Renderer11::initialize()
-
- SafeRelease(dxgiDevice);
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- IDXGIAdapter2 *dxgiAdapter2 = d3d11::DynamicCastComObject<IDXGIAdapter2>(mDxgiAdapter);
-
- // On D3D_FEATURE_LEVEL_9_*, IDXGIAdapter::GetDesc returns "Software Adapter" for the description string.
-@@ -618,11 +625,14 @@ egl::Error Renderer11::initialize()
- }
- }
- else
-+#endif
- {
- result = mDxgiAdapter->GetDesc(&mAdapterDescription);
- }
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(dxgiAdapter2);
-+#endif
-
- if (FAILED(result))
- {
-@@ -644,6 +654,7 @@ egl::Error Renderer11::initialize()
- }
- }
-
-+#if !defined(ANGLE_MINGW32_COMPAT)
- // Disable some spurious D3D11 debug warnings to prevent them from flooding the output log
- #if defined(ANGLE_SUPPRESS_D3D11_HAZARD_WARNINGS) && defined(_DEBUG)
- {
-@@ -671,6 +682,7 @@ egl::Error Renderer11::initialize()
- #if !defined(NDEBUG)
- mDebug = d3d11::DynamicCastComObject<ID3D11Debug>(mDevice);
- #endif
-+#endif // !ANGLE_MINGW32_COMPAT
-
- initializeDevice();
-
-@@ -859,6 +871,7 @@ void Renderer11::populateRenderer11DeviceCaps()
- {
- HRESULT hr = S_OK;
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- if (mDeviceContext1)
- {
- D3D11_FEATURE_DATA_D3D11_OPTIONS d3d11Options;
-@@ -869,6 +882,7 @@ void Renderer11::populateRenderer11DeviceCaps()
- mRenderer11DeviceCaps.supportsConstantBufferOffsets = (d3d11Options.ConstantBufferOffsetting != FALSE);
- }
- }
-+#endif
-
- hr = mDevice->CheckFormatSupport(DXGI_FORMAT_B5G6R5_UNORM, &(mRenderer11DeviceCaps.B5G6R5support));
- if (FAILED(hr))
-@@ -888,9 +902,11 @@ void Renderer11::populateRenderer11DeviceCaps()
- mRenderer11DeviceCaps.B5G5R5A1support = 0;
- }
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- IDXGIAdapter2 *dxgiAdapter2 = d3d11::DynamicCastComObject<IDXGIAdapter2>(mDxgiAdapter);
- mRenderer11DeviceCaps.supportsDXGI1_2 = (dxgiAdapter2 != nullptr);
- SafeRelease(dxgiAdapter2);
-+#endif
- }
-
- egl::ConfigSet Renderer11::generateConfigs() const
-@@ -1308,6 +1324,7 @@ gl::Error Renderer11::setUniformBuffers(const gl::Data &data,
- mCurrentConstantBufferVSOffset[uniformBufferIndex] != uniformBufferOffset ||
- mCurrentConstantBufferVSSize[uniformBufferIndex] != uniformBufferSize)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- if (mRenderer11DeviceCaps.supportsConstantBufferOffsets && uniformBufferSize != 0)
- {
- UINT firstConstant = 0, numConstants = 0;
-@@ -1318,6 +1335,7 @@ gl::Error Renderer11::setUniformBuffers(const gl::Data &data,
- 1, &constantBuffer, &firstConstant, &numConstants);
- }
- else
-+#endif
- {
- mDeviceContext->VSSetConstantBuffers(
- getReservedVertexUniformBuffers() +
-@@ -1369,6 +1387,7 @@ gl::Error Renderer11::setUniformBuffers(const gl::Data &data,
- mCurrentConstantBufferPSOffset[uniformBufferIndex] != uniformBufferOffset ||
- mCurrentConstantBufferPSSize[uniformBufferIndex] != uniformBufferSize)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- if (mRenderer11DeviceCaps.supportsConstantBufferOffsets && uniformBufferSize != 0)
- {
- UINT firstConstant = 0, numConstants = 0;
-@@ -1379,6 +1398,7 @@ gl::Error Renderer11::setUniformBuffers(const gl::Data &data,
- 1, &constantBuffer, &firstConstant, &numConstants);
- }
- else
-+#endif
- {
- mDeviceContext->PSSetConstantBuffers(
- getReservedFragmentUniformBuffers() +
-@@ -2448,7 +2468,9 @@ void Renderer11::release()
- SafeRelease(mDxgiFactory);
- SafeRelease(mDxgiAdapter);
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(mDeviceContext1);
-+#endif
-
- if (mDeviceContext)
- {
-@@ -2458,7 +2480,9 @@ void Renderer11::release()
- }
-
- SafeRelease(mDevice);
-+#if !defined(ANGLE_MINGW32_COMPAT)
- SafeRelease(mDebug);
-+#endif
-
- if (mD3d11Module)
- {
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
-index 62e9816..b4e7761 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
-@@ -28,6 +28,8 @@ class FramebufferAttachment;
- struct ImageIndex;
- }
-
-+struct ID3D11DeviceContext1;
-+
- namespace rx
- {
-
-@@ -442,7 +444,9 @@ class Renderer11 : public RendererD3D
- DXGI_ADAPTER_DESC mAdapterDescription;
- char mDescription[128];
- DXGIFactory *mDxgiFactory;
-+#if !defined(ANGLE_MINGW32_COMPAT)
- ID3D11Debug *mDebug;
-+#endif
-
- std::vector<GLuint> mScratchIndexDataBuffer;
-
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
-index f669f56..f80f24b 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
-@@ -58,7 +58,9 @@ SwapChain11::SwapChain11(Renderer11 *renderer,
- mPassThroughResourcesInit(false),
- mFirstSwap(true),
- mSwapChain(nullptr),
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mSwapChain1(nullptr),
-+#endif
- mKeyedMutex(nullptr),
- mBackBufferTexture(nullptr),
- mBackBufferRTView(nullptr),
-@@ -90,7 +92,9 @@ SwapChain11::~SwapChain11()
-
- void SwapChain11::release()
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(mSwapChain1);
-+#endif
- SafeRelease(mSwapChain);
- SafeRelease(mKeyedMutex);
- SafeRelease(mBackBufferTexture);
-@@ -533,7 +537,9 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
-
- // Release specific resources to free up memory for the new render target, while the
- // old render target still exists for the purpose of preserving its contents.
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(mSwapChain1);
-+#endif
- SafeRelease(mSwapChain);
- SafeRelease(mBackBufferTexture);
- SafeRelease(mBackBufferRTView);
-@@ -568,7 +574,9 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
-
- if (mRenderer->getRenderer11DeviceCaps().supportsDXGI1_2)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- mSwapChain1 = d3d11::DynamicCastComObject<IDXGISwapChain1>(mSwapChain);
-+#endif
- }
-
- result = mSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&mBackBufferTexture);
-@@ -837,6 +845,7 @@ EGLint SwapChain11::present(EGLint x, EGLint y, EGLint width, EGLint height)
-
- HRESULT result = S_OK;
-
-+#if defined(ANGLE_ENABLE_D3D11_1)
- // Use IDXGISwapChain1::Present1 with a dirty rect if DXGI 1.2 is available.
- if (mSwapChain1 != nullptr)
- {
-@@ -855,6 +864,7 @@ EGLint SwapChain11::present(EGLint x, EGLint y, EGLint width, EGLint height)
- }
- }
- else
-+#endif
- {
- result = mSwapChain->Present(swapInterval, 0);
- }
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
-index 99198c6..adcd07a 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
-@@ -75,7 +75,9 @@ class SwapChain11 : public SwapChainD3D
-
- bool mFirstSwap;
- DXGISwapChain *mSwapChain;
-+#if defined(ANGLE_ENABLE_D3D11_1)
- IDXGISwapChain1 *mSwapChain1;
-+#endif
- IDXGIKeyedMutex *mKeyedMutex;
-
- ID3D11Texture2D *mBackBufferTexture;
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
-index d1f3ea0..a1175db 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
-@@ -23,6 +23,88 @@
- #include "libANGLE/renderer/d3d/FramebufferD3D.h"
- #include "libANGLE/renderer/d3d/WorkaroundsD3D.h"
-
-+#ifndef D3D_FL9_1_DEFAULT_MAX_ANISOTROPY
-+# define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2
-+#endif
-+#ifndef D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT
-+# define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1
-+#endif
-+#ifndef D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT
-+# define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4
-+#endif
-+#ifndef D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT
-+# define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535
-+#endif
-+#ifndef D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT
-+# define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575
-+#endif
-+#ifndef D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION
-+# define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512
-+#endif
-+#ifndef D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION
-+# define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096
-+#endif
-+#ifndef D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION
-+# define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048
-+#endif
-+#ifndef D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION
-+# define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256
-+#endif
-+#ifndef D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION
-+# define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096
-+#endif
-+#ifndef D3D11_REQ_TEXTURECUBE_DIMENSION
-+# define D3D11_REQ_TEXTURECUBE_DIMENSION 16384
-+#endif
-+#ifndef D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION
-+# define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION 2048
-+#endif
-+#ifndef D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION
-+# define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 2048
-+#endif
-+#ifndef D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP
-+# define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP 32
-+#endif
-+#ifndef D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP
-+# define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP 32
-+#endif
-+#ifndef D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT
-+# define D3D10_1_STANDARD_VERTEX_ELEMENT_COUNT 32
-+#endif
-+#ifndef D3D11_STANDARD_VERTEX_ELEMENT_COUNT
-+# define D3D11_STANDARD_VERTEX_ELEMENT_COUNT 32
-+#endif
-+#ifndef D3D10_1_SO_BUFFER_SLOT_COUNT
-+# define D3D10_1_SO_BUFFER_SLOT_COUNT 4
-+#endif
-+#ifndef D3D11_SO_BUFFER_SLOT_COUNT
-+# define D3D11_SO_BUFFER_SLOT_COUNT 4
-+#endif
-+#ifndef D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT
-+# define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT 14
-+#endif
-+#ifndef D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT
-+# define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT 16
-+#endif
-+#ifndef D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE
-+# define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE -8
-+#endif
-+#ifndef D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE
-+# define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE 7
-+#endif
-+#ifndef D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT
-+# define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT 4096
-+#endif
-+#ifndef D3D11_PS_INPUT_REGISTER_COUNT
-+# define D3D11_PS_INPUT_REGISTER_COUNT 32
-+#endif
-+#ifndef D3D10_1_VS_OUTPUT_REGISTER_COUNT
-+# define D3D10_1_VS_OUTPUT_REGISTER_COUNT 32
-+#endif
-+#if defined(ANGLE_MINGW32_COMPAT)
-+static const IID WKPDID_D3DDebugObjectName = { 0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00 };
-+#endif
-+
- namespace rx
- {
-
-@@ -601,7 +683,9 @@ static size_t GetMaximumCubeMapTextureSize(D3D_FEATURE_LEVEL featureLevel)
- {
- switch (featureLevel)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- case D3D_FEATURE_LEVEL_11_1:
-+#endif
- case D3D_FEATURE_LEVEL_11_0: return D3D11_REQ_TEXTURECUBE_DIMENSION;
-
- case D3D_FEATURE_LEVEL_10_1:
-@@ -619,7 +703,9 @@ static size_t GetMaximum2DTextureArraySize(D3D_FEATURE_LEVEL featureLevel)
- {
- switch (featureLevel)
- {
-+#if defined(ANGLE_ENABLE_D3D11_1)
- case D3D_FEATURE_LEVEL_11_1:
-+#endif
- case D3D_FEATURE_LEVEL_11_0: return D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION;
-
- case D3D_FEATURE_LEVEL_10_1:
-@@ -1266,7 +1352,9 @@ ANGLED3D11DeviceType GetDeviceType(ID3D11Device *device)
-
- IDXGIDevice *dxgiDevice = nullptr;
- IDXGIAdapter *dxgiAdapter = nullptr;
-+#if defined(ANGLE_ENABLE_D3D11_1)
- IDXGIAdapter2 *dxgiAdapter2 = nullptr;
-+#endif
-
- ANGLED3D11DeviceType retDeviceType = ANGLE_D3D11_DEVICE_TYPE_UNKNOWN;
-
-@@ -1277,6 +1365,7 @@ ANGLED3D11DeviceType GetDeviceType(ID3D11Device *device)
- if (SUCCEEDED(hr))
- {
- std::wstring adapterString;
-+#if defined(ANGLE_ENABLE_D3D11_1)
- HRESULT adapter2hr =
- dxgiAdapter->QueryInterface(__uuidof(dxgiAdapter2), (void **)&dxgiAdapter2);
- if (SUCCEEDED(adapter2hr))
-@@ -1289,6 +1378,7 @@ ANGLED3D11DeviceType GetDeviceType(ID3D11Device *device)
- adapterString = std::wstring(adapterDesc2.Description);
- }
- else
-+#endif
- {
- DXGI_ADAPTER_DESC adapterDesc;
- dxgiAdapter->GetDesc(&adapterDesc);
-@@ -1320,7 +1410,9 @@ ANGLED3D11DeviceType GetDeviceType(ID3D11Device *device)
-
- SafeRelease(dxgiDevice);
- SafeRelease(dxgiAdapter);
-+#if defined(ANGLE_ENABLE_D3D11_1)
- SafeRelease(dxgiAdapter2);
-+#endif
-
- return retDeviceType;
- }
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp
-index 123b481..cd63789 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp
-@@ -12,7 +12,9 @@
- #include "common/debug.h"
-
- #include <initguid.h>
-+#if !defined(__MINGW32__)
- #include <dcomp.h>
-+#endif
-
- namespace rx
- {
-@@ -31,9 +33,11 @@ NativeWindow::NativeWindow(EGLNativeWindowType window,
-
- NativeWindow::~NativeWindow()
- {
-+#if !defined(__MINGW32__)
- SafeRelease(mCompositionTarget);
- SafeRelease(mDevice);
- SafeRelease(mVisual);
-+#endif
- }
-
- bool NativeWindow::initialize()
-@@ -66,6 +70,7 @@ HRESULT NativeWindow::createSwapChain(ID3D11Device* device, DXGIFactory* factory
- return E_INVALIDARG;
- }
-
-+#if !defined(__MINGW32__)
- if (mDirectComposition)
- {
- HMODULE dcomp = ::GetModuleHandle(TEXT("dcomp.dll"));
-@@ -171,6 +176,7 @@ HRESULT NativeWindow::createSwapChain(ID3D11Device* device, DXGIFactory* factory
- SafeRelease(factory2);
- return result;
- }
-+#endif // !__MINGW32__
-
- DXGI_SWAP_CHAIN_DESC swapChainDesc = {};
- swapChainDesc.BufferCount = 1;
-@@ -202,9 +208,11 @@ HRESULT NativeWindow::createSwapChain(ID3D11Device* device, DXGIFactory* factory
-
- void NativeWindow::commitChange()
- {
-+#if !defined(__MINGW32__)
- if (mDevice)
- {
- mDevice->Commit();
- }
-+#endif
- }
- }
-diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
-index cba74c1..6bb975b 100644
---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
-+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
-@@ -193,7 +193,7 @@ egl::Error Renderer9::initialize()
- {
- TRACE_EVENT0("gpu.angle", "D3d9Ex_QueryInterface");
- ASSERT(mD3d9Ex);
-- mD3d9Ex->QueryInterface(__uuidof(IDirect3D9), reinterpret_cast<void**>(&mD3d9));
-+ mD3d9Ex->QueryInterface(IID_IDirect3D9, reinterpret_cast<void**>(&mD3d9));
- ASSERT(mD3d9);
- }
- else
-@@ -301,7 +301,7 @@ egl::Error Renderer9::initialize()
- if (mD3d9Ex)
- {
- TRACE_EVENT0("gpu.angle", "mDevice_QueryInterface");
-- result = mDevice->QueryInterface(__uuidof(IDirect3DDevice9Ex), (void**)&mDeviceEx);
-+ result = mDevice->QueryInterface(IID_IDirect3DDevice9Ex, (void**)&mDeviceEx);
- ASSERT(SUCCEEDED(result));
- }
-
-diff --git a/src/3rdparty/angle/src/libEGL/libEGL_mingw32.def b/src/3rdparty/angle/src/libEGL/libEGL_mingw32.def
-index 6a771a5..c8f941a 100644
---- a/src/3rdparty/angle/src/libEGL/libEGL_mingw32.def
-+++ b/src/3rdparty/angle/src/libEGL/libEGL_mingw32.def
-@@ -39,15 +39,22 @@ EXPORTS
- eglGetPlatformDisplayEXT@12 @35
- eglQuerySurfacePointerANGLE@16 @36
- eglPostSubBufferNV@24 @37
-+ eglQueryDisplayAttribEXT@12 @48
-+ eglQueryDeviceAttribEXT@12 @49
-+ eglQueryDeviceStringEXT@8 @50
-+ eglCreateImageKHR@20 @51
-+ eglDestroyImageKHR@8 @52
-+ eglCreateDeviceANGLE@12 @53
-+ eglReleaseDeviceANGLE@4 @54
-
- ; 1.5 entry points
-- eglCreateSync @38
-- eglDestroySync @39
-- eglClientWaitSync @40
-- eglGetSyncAttrib @41
-- eglCreateImage @42
-- eglDestroyImage @43
-- eglGetPlatformDisplay @44
-- eglCreatePlatformWindowSurface @45
-- eglCreatePlatformPixmapSurface @46
-- eglWaitSync @47
-+ eglCreateSync@12 @38
-+ eglDestroySync@8 @39
-+ eglClientWaitSync@16 @40
-+ eglGetSyncAttrib@16 @41
-+ eglCreateImage@20 @42
-+ eglDestroyImage@8 @43
-+ eglGetPlatformDisplay@12 @44
-+ eglCreatePlatformWindowSurface@16 @45
-+ eglCreatePlatformPixmapSurface@16 @46
-+ eglWaitSync@12 @47
-diff --git a/src/3rdparty/angle/src/libEGL/libEGLd_mingw32.def b/src/3rdparty/angle/src/libEGL/libEGLd_mingw32.def
-index ab0320d..a4a9d95 100644
---- a/src/3rdparty/angle/src/libEGL/libEGLd_mingw32.def
-+++ b/src/3rdparty/angle/src/libEGL/libEGLd_mingw32.def
-@@ -39,3 +39,22 @@ EXPORTS
- eglGetPlatformDisplayEXT@12 @35
- eglQuerySurfacePointerANGLE@16 @36
- eglPostSubBufferNV@24 @37
-+ eglQueryDisplayAttribEXT@12 @48
-+ eglQueryDeviceAttribEXT@12 @49
-+ eglQueryDeviceStringEXT@8 @50
-+ eglCreateImageKHR@20 @51
-+ eglDestroyImageKHR@8 @52
-+ eglCreateDeviceANGLE@12 @53
-+ eglReleaseDeviceANGLE@4 @54
-+
-+ ; 1.5 entry points
-+ eglCreateSync@12 @38
-+ eglDestroySync@8 @39
-+ eglClientWaitSync@16 @40
-+ eglGetSyncAttrib@16 @41
-+ eglCreateImage@20 @42
-+ eglDestroyImage@8 @43
-+ eglGetPlatformDisplay@12 @44
-+ eglCreatePlatformWindowSurface@16 @45
-+ eglCreatePlatformPixmapSurface@16 @46
-+ eglWaitSync@12 @47
-diff --git a/src/3rdparty/angle/src/libGLESv2/libGLESv2_mingw32.def b/src/3rdparty/angle/src/libGLESv2/libGLESv2_mingw32.def
-index e02b85b..db17bb4 100644
---- a/src/3rdparty/angle/src/libGLESv2/libGLESv2_mingw32.def
-+++ b/src/3rdparty/angle/src/libGLESv2/libGLESv2_mingw32.def
-@@ -177,6 +177,31 @@ EXPORTS
- glGetBufferPointervOES@12 @287
- glMapBufferRangeEXT@16 @288
- glFlushMappedBufferRangeEXT@12 @289
-+ glDiscardFramebufferEXT@12 @293
-+ glInsertEventMarkerEXT@8 @294
-+ glPushGroupMarkerEXT@8 @295
-+ glPopGroupMarkerEXT@0 @296
-+ glEGLImageTargetTexture2DOES@8 @297
-+ glEGLImageTargetRenderbufferStorageOES@8 @298
-+ glBindVertexArrayOES@4 @299
-+ glDeleteVertexArraysOES@8 @300
-+ glGenVertexArraysOES@8 @301
-+ glIsVertexArrayOES@4 @302
-+ glDebugMessageControlKHR@24 @303
-+ glDebugMessageInsertKHR@24 @304
-+ glDebugMessageCallbackKHR@8 @305
-+ glGetDebugMessageLogKHR@32 @306
-+ glPushDebugGroupKHR@16 @307
-+ glPopDebugGroupKHR@0 @308
-+ glObjectLabelKHR@16 @309
-+ glGetObjectLabelKHR@20 @310
-+ glObjectPtrLabelKHR@12 @311
-+ glGetObjectPtrLabelKHR@16 @312
-+ glGetPointervKHR@8 @313
-+ glQueryCounterEXT@8 @314
-+ glGetQueryObjectivEXT@12 @315
-+ glGetQueryObjecti64vEXT@12 @316
-+ glGetQueryObjectui64vEXT@12 @317
-
- ; GLES 3.0 Functions
- glReadBuffer@4 @180
-@@ -284,5 +309,8 @@ EXPORTS
- glTexStorage3D@24 @282
- glGetInternalformativ@20 @283
-
-- ; Setting up TRACE macro callbacks
-- SetTraceFunctionPointers@8 @284
-+ ; ANGLE Platform Implementation
-+ ANGLEPlatformCurrent@0 @290
-+ ANGLEPlatformInitialize@4 @291
-+ ANGLEPlatformShutdown@0 @292
-+
-\ No newline at end of file
-diff --git a/src/3rdparty/angle/src/libGLESv2/libGLESv2d_mingw32.def b/src/3rdparty/angle/src/libGLESv2/libGLESv2d_mingw32.def
-index e2b2c33..5a4966f 100644
---- a/src/3rdparty/angle/src/libGLESv2/libGLESv2d_mingw32.def
-+++ b/src/3rdparty/angle/src/libGLESv2/libGLESv2d_mingw32.def
-@@ -177,6 +177,31 @@ EXPORTS
- glGetBufferPointervOES@12 @287
- glMapBufferRangeEXT@16 @288
- glFlushMappedBufferRangeEXT@12 @289
-+ glDiscardFramebufferEXT@12 @293
-+ glInsertEventMarkerEXT@8 @294
-+ glPushGroupMarkerEXT@8 @295
-+ glPopGroupMarkerEXT@0 @296
-+ glEGLImageTargetTexture2DOES@8 @297
-+ glEGLImageTargetRenderbufferStorageOES@8 @298
-+ glBindVertexArrayOES@4 @299
-+ glDeleteVertexArraysOES@8 @300
-+ glGenVertexArraysOES@8 @301
-+ glIsVertexArrayOES@4 @302
-+ glDebugMessageControlKHR@24 @303
-+ glDebugMessageInsertKHR@24 @304
-+ glDebugMessageCallbackKHR@8 @305
-+ glGetDebugMessageLogKHR@32 @306
-+ glPushDebugGroupKHR@16 @307
-+ glPopDebugGroupKHR@0 @308
-+ glObjectLabelKHR@16 @309
-+ glGetObjectLabelKHR@20 @310
-+ glObjectPtrLabelKHR@12 @311
-+ glGetObjectPtrLabelKHR@16 @312
-+ glGetPointervKHR@8 @313
-+ glQueryCounterEXT@8 @314
-+ glGetQueryObjectivEXT@12 @315
-+ glGetQueryObjecti64vEXT@12 @316
-+ glGetQueryObjectui64vEXT@12 @317
-
- ; GLES 3.0 Functions
- glReadBuffer@4 @180
-@@ -284,5 +309,8 @@ EXPORTS
- glTexStorage3D@24 @282
- glGetInternalformativ@20 @283
-
-- ; Setting up TRACE macro callbacks
-- SetTraceFunctionPointers@8 @284
-+ ; ANGLE Platform Implementation
-+ ANGLEPlatformCurrent@0 @290
-+ ANGLEPlatformInitialize@4 @291
-+ ANGLEPlatformShutdown@0 @292
-+
-\ No newline at end of file
---
-2.7.0.windows.1
-