aboutsummaryrefslogtreecommitdiff
path: root/ports/angle/001-fix-uwp.patch
blob: badf1596d7ee64a33f706e00d557810fd422af27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
index 0c9698450..3e37ad0ab 100644
--- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
@@ -2364,6 +2364,11 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps,
     bool isIvyBridge               = false;
     bool isAMD                     = IsAMD(adapterDesc.VendorId);
     bool isFeatureLevel9_3         = (deviceCaps.featureLevel <= D3D_FEATURE_LEVEL_9_3);
+#if defined(ANGLE_ENABLE_WINDOWS_UWP)
+    bool isWin10                   = true;
+#else
+    bool isWin10                   = IsWindows10OrGreater();
+#endif
     IntelDriverVersion capsVersion = IntelDriverVersion(0);
     if (isIntel)
     {
@@ -2448,7 +2453,7 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps,
     // Don't translate uniform block to StructuredBuffer on Windows 7 and earlier. This is targeted
     // to work around a bug that fails to allocate ShaderResourceView for StructuredBuffer.
     ANGLE_FEATURE_CONDITION(features, dontTranslateUniformBlockToStructuredBuffer,
-                            !IsWindows10OrGreater());
+                            !isWin10);
 
     // Call platform hooks for testing overrides.
     auto *platform = ANGLEPlatformCurrent();
diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp
index 7d3f078d6..fac057dd6 100644
--- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp
@@ -213,16 +213,20 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr<ABI::Windows::UI::Core::ICoreWind
 
 static float GetLogicalDpi()
 {
-    ComPtr<ABI::Windows::Graphics::Display::IDisplayPropertiesStatics> displayProperties;
+    ComPtr<ABI::Windows::Graphics::Display::IDisplayInformationStatics> displayInformationStatics;
+    ComPtr<ABI::Windows::Graphics::Display::IDisplayInformation> displayInformation;
 
     if (SUCCEEDED(GetActivationFactory(
-            HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(),
-            displayProperties.GetAddressOf())))
+            HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(),
+            displayInformationStatics.GetAddressOf())))
     {
         float dpi = 96.0f;
-        if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi)))
+        if (SUCCEEDED(displayInformationStatics->GetForCurrentView(&displayInformation)))
         {
-            return dpi;
+            if (SUCCEEDED(displayInformation->get_LogicalDpi(&dpi)))
+            {
+                return dpi;
+            }
         }
     }
 
diff --git a/src/libGLESv2/global_state.cpp b/src/libGLESv2/global_state.cpp
index 8c2c61f53..7725106a4 100644
--- a/src/libGLESv2/global_state.cpp
+++ b/src/libGLESv2/global_state.cpp
@@ -214,7 +214,7 @@ namespace
 {
 // The following WaitForDebugger code is based on SwiftShader. See:
 // https://cs.chromium.org/chromium/src/third_party/swiftshader/src/Vulkan/main.cpp
-#    if defined(ANGLE_ENABLE_ASSERTS)
+#    if defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP)
 INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
     RECT rect;
@@ -259,7 +259,7 @@ void WaitForDebugger(HINSTANCE instance)
 }
 #    else
 void WaitForDebugger(HINSTANCE instance) {}
-#    endif  // defined(ANGLE_ENABLE_ASSERTS)
+#    endif  // defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP)
 }  // namespace
 
 extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID)