diff options
Diffstat (limited to 'servers/display_server.cpp')
-rw-r--r-- | servers/display_server.cpp | 12 |
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(); |