summaryrefslogtreecommitdiffstats
path: root/servers/display_server.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-03 11:43:42 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-03 11:43:42 +0200
commit6de2d31a619831edcb55f43f416647c4bc0547bf (patch)
tree05f22e256146322cf25e15b5af67f9952487c56b /servers/display_server.cpp
parent3c58b64b07579f014fc9c723ed6a8c31a9a2b985 (diff)
parenta7a245de920c4b9e0adc378af16f0c4b5aa6d4e2 (diff)
downloadredot-engine-6de2d31a619831edcb55f43f416647c4bc0547bf.tar.gz
Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
Diffstat (limited to 'servers/display_server.cpp')
-rw-r--r--servers/display_server.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/servers/display_server.cpp b/servers/display_server.cpp
index 8cb3e560ac..12456fc828 100644
--- a/servers/display_server.cpp
+++ b/servers/display_server.cpp
@@ -41,6 +41,9 @@
#if defined(D3D12_ENABLED)
#include "drivers/d3d12/rendering_context_driver_d3d12.h"
#endif
+#if defined(METAL_ENABLED)
+#include "drivers/metal/rendering_context_driver_metal.h"
+#endif
DisplayServer *DisplayServer::singleton = nullptr;
@@ -1232,6 +1235,15 @@ bool DisplayServer::can_create_rendering_device() {
rcd = memnew(RenderingContextDriverD3D12);
}
#endif
+#ifdef METAL_ENABLED
+ if (rcd == nullptr) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunguarded-availability"
+ // Eliminate "RenderingContextDriverMetal is only available on iOS 14.0 or newer".
+ rcd = memnew(RenderingContextDriverMetal);
+#pragma clang diagnostic pop
+ }
+#endif
if (rcd != nullptr) {
err = rcd->initialize();