diff options
author | Stuart Carnie <stuart.carnie@gmail.com> | 2024-08-31 07:22:24 +1000 |
---|---|---|
committer | Stuart Carnie <stuart.carnie@gmail.com> | 2024-08-31 08:29:07 +1000 |
commit | a7a245de920c4b9e0adc378af16f0c4b5aa6d4e2 (patch) | |
tree | 71418105faa783fb5ebcb26af03ae942e33986af /servers | |
parent | a5830f6eb9fe25fbb7e58a723dbea8509aec8a85 (diff) | |
download | redot-engine-a7a245de920c4b9e0adc378af16f0c4b5aa6d4e2.tar.gz |
Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
Diffstat (limited to 'servers')
-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(); |