diff options
Diffstat (limited to 'src/angle/patches/0001-ANGLE-Use-pixel-sizes-in-the-XAML-swap-chain.patch')
-rw-r--r-- | src/angle/patches/0001-ANGLE-Use-pixel-sizes-in-the-XAML-swap-chain.patch | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/src/angle/patches/0001-ANGLE-Use-pixel-sizes-in-the-XAML-swap-chain.patch b/src/angle/patches/0001-ANGLE-Use-pixel-sizes-in-the-XAML-swap-chain.patch deleted file mode 100644 index 618ad08b4b..0000000000 --- a/src/angle/patches/0001-ANGLE-Use-pixel-sizes-in-the-XAML-swap-chain.patch +++ /dev/null @@ -1,135 +0,0 @@ -From b1f0b50c19ec17df554faa1335d2b989e262b831 Mon Sep 17 00:00:00 2001 -From: Oliver Wolff <oliver.wolff@qt.io> -Date: Wed, 22 Aug 2018 09:21:04 +0200 -Subject: [PATCH 1/8] ANGLE: Use pixel sizes in the XAML swap chain - -This is necessary for Qt applications, as they render to GL in physical -pixels. This is consistent with the CoreWindow swap chain behavior. - -In order to achieve proper scaling, the scale factor has to be initialized -properly in InspectableNativeWindow. - -This change only affects Windows Runtime targets. - -Change-Id: I92a365f33752ed49c960e390bbf89cc33ccc8004 ---- - .../d3d/d3d11/winrt/CoreWindowNativeWindow.cpp | 23 ------------------- - .../d3d/d3d11/winrt/CoreWindowNativeWindow.h | 2 -- - .../d3d/d3d11/winrt/InspectableNativeWindow.cpp | 26 +++++++++++++++++++--- - .../d3d/d3d11/winrt/InspectableNativeWindow.h | 7 +++++- - 4 files changed, 29 insertions(+), 29 deletions(-) - -diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -index dd37ace87e..1ef90e7b09 100644 ---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -@@ -205,27 +205,4 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr<ABI::Windows::UI::Core::ICoreWind - - return result; - } -- --static float GetLogicalDpi() --{ -- ComPtr<ABI::Windows::Graphics::Display::IDisplayPropertiesStatics> displayProperties; -- -- if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), displayProperties.GetAddressOf()))) -- { -- float dpi = 96.0f; -- if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -- { -- return dpi; -- } -- } -- -- // Return 96 dpi as a default if display properties cannot be obtained. -- return 96.0f; --} -- --float ConvertDipsToPixels(float dips) --{ -- static const float dipsPerInch = 96.0f; -- return dips * GetLogicalDpi() / dipsPerInch; --} - } -diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -index d43bf0ba5f..21855c2c3b 100644 ---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -@@ -19,8 +19,6 @@ typedef ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CUI__CCore__C - - namespace rx - { --float ConvertDipsToPixels(float dips); -- - class CoreWindowNativeWindow : public InspectableNativeWindow, public std::enable_shared_from_this<CoreWindowNativeWindow> - { - public: -diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp -index cc81521320..1bd796e58f 100644 ---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp -+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp -@@ -270,8 +270,28 @@ HRESULT GetOptionalSinglePropertyValue(const ComPtr<ABI::Windows::Foundation::Co - - RECT InspectableNativeWindow::clientRect(const Size &size) - { -- // We don't have to check if a swapchain scale was specified here; the default value is 1.0f -- // which will have no effect. -- return {0, 0, lround(size.Width * mSwapChainScale), lround(size.Height * mSwapChainScale)}; -+ return {0, 0, static_cast<long>(ConvertDipsToPixels(size.Width)), -+ static_cast<long>(ConvertDipsToPixels(size.Height))}; -+} -+ -+float GetLogicalDpi() -+{ -+ ComPtr<ABI::Windows::Graphics::Display::IDisplayPropertiesStatics> displayProperties; -+ float dpi = 96.0f; -+ -+ if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), displayProperties.GetAddressOf()))) -+ { -+ if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -+ { -+ return dpi; -+ } -+ } -+ return dpi; -+} -+ -+float ConvertDipsToPixels(float dips) -+{ -+ static const float dipsPerInch = 96.0f; -+ return lround((dips * GetLogicalDpi() / dipsPerInch)); - } - } -diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -index 3e67269f36..d81c3e5fb9 100644 ---- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -@@ -30,6 +30,9 @@ using namespace ABI::Windows::Foundation::Collections; - - namespace rx - { -+float ConvertDipsToPixels(float dips); -+float GetLogicalDpi(); -+ - class InspectableNativeWindow - { - public: -@@ -37,12 +40,14 @@ class InspectableNativeWindow - mSupportsSwapChainResize(true), - mSwapChainSizeSpecified(false), - mSwapChainScaleSpecified(false), -- mSwapChainScale(1.0f), - mClientRectChanged(false), - mClientRect({0,0,0,0}), - mNewClientRect({0,0,0,0}) - { - mSizeChangedEventToken.value = 0; -+ mSwapChainScale = 96.0f / GetLogicalDpi(); -+ if (mSwapChainScale != 1.0f) -+ mSwapChainScaleSpecified = true; - } - virtual ~InspectableNativeWindow(){} - --- -2.15.0.windows.1 - |