From b65635ae51635335aa5cc4ce023c403f8ba1e8ed Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sat, 9 Dec 2023 20:47:46 +0200 Subject: [PATCH] [Windows] Always use ANGLE in ARM builds. --- platform/windows/display_server_windows.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index c801ca96e7b9..50d6abc00856 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);