2
0
Эх сурвалжийг харах

[Windows] Always use ANGLE in ARM builds.

(cherry picked from commit b65635ae51635335aa5cc4ce023c403f8ba1e8ed)
bruvzg 1 жил өмнө
parent
commit
7e80c69d49

+ 7 - 0
platform/windows/display_server_windows.cpp

@@ -4647,6 +4647,12 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
 	// Init context and rendering device
 	// Init context and rendering device
 #if defined(GLES3_ENABLED)
 #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");
 	bool fallback = GLOBAL_GET("rendering/gl_compatibility/fallback_to_angle");
 	if (fallback && (rendering_driver == "opengl3")) {
 	if (fallback && (rendering_driver == "opengl3")) {
 		Dictionary gl_info = detect_wgl();
 		Dictionary gl_info = detect_wgl();
@@ -4667,6 +4673,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
 			rendering_driver = "opengl3_angle";
 			rendering_driver = "opengl3_angle";
 		}
 		}
 	}
 	}
+#endif
 
 
 	if (rendering_driver == "opengl3") {
 	if (rendering_driver == "opengl3") {
 		gl_manager_native = memnew(GLManagerNative_Windows);
 		gl_manager_native = memnew(GLManagerNative_Windows);