summaryrefslogtreecommitdiffstats
path: root/platform/windows/display_server_windows.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-12-09 20:47:46 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-12-09 20:47:46 +0200
commitb65635ae51635335aa5cc4ce023c403f8ba1e8ed (patch)
tree00f24724151709319a11eb70dd2f3ff04e5c00a3 /platform/windows/display_server_windows.cpp
parentb94eb58d35b3dd8a9f522bc90df0db73862ef326 (diff)
downloadredot-engine-b65635ae51635335aa5cc4ce023c403f8ba1e8ed.tar.gz
[Windows] Always use ANGLE in ARM builds.
Diffstat (limited to 'platform/windows/display_server_windows.cpp')
-rw-r--r--platform/windows/display_server_windows.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index c801ca96e7..50d6abc008 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -4647,6 +4647,12 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
// Init context and rendering device
#if defined(GLES3_ENABLED)
+#if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || defined(_M_ARM64)
+ // There's no native OpenGL drivers on Windows for ARM, switch to ANGLE over DX.
+ if (rendering_driver == "opengl3") {
+ rendering_driver = "opengl3_angle";
+ }
+#else
bool fallback = GLOBAL_GET("rendering/gl_compatibility/fallback_to_angle");
if (fallback && (rendering_driver == "opengl3")) {
Dictionary gl_info = detect_wgl();
@@ -4667,6 +4673,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
rendering_driver = "opengl3_angle";
}
}
+#endif
if (rendering_driver == "opengl3") {
gl_manager_native = memnew(GLManagerNative_Windows);