diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 20db31a7d..2c31d51f0 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -401,10 +401,16 @@ namespace bgfx { namespace mtl } #elif BX_PLATFORM_OSX { - NSWindow* nsWindow = (NSWindow*)g_platformData.nwh; - [nsWindow.contentView setWantsLayer:YES]; - m_metalLayer = [CAMetalLayer layer]; - [nsWindow.contentView setLayer:m_metalLayer]; + NSObject* nvh = (NSObject*)g_platformData.nwh; + if ([nvh isKindOfClass:[CAMetalLayer class]]) { + CAMetalLayer* metalLayer = (CAMetalLayer*)g_platformData.nwh; + m_metalLayer = metalLayer; + } else { + NSWindow* nsWindow = (NSWindow*)g_platformData.nwh; + [nsWindow.contentView setWantsLayer:YES]; + m_metalLayer = [CAMetalLayer layer]; + [nsWindow.contentView setLayer:m_metalLayer]; + } } #endif // BX_PLATFORM_*