diff --git a/internal/graphicsdriver/metal/ca/ca.m b/internal/graphicsdriver/metal/ca/ca.m index 9609820f6..4b04a06b4 100644 --- a/internal/graphicsdriver/metal/ca/ca.m +++ b/internal/graphicsdriver/metal/ca/ca.m @@ -48,8 +48,11 @@ const char *MetalLayer_SetMaximumDrawableCount(void *metalLayer, uint_t maximumDrawableCount) { if (@available(macOS 10.13.2, *)) { @try { - [((CAMetalLayer *)metalLayer) - setMaximumDrawableCount:(NSUInteger)maximumDrawableCount]; + if ([(CAMetalLayer *)metalLayer + respondsToSelector:@selector(setMaximumDrawableCount:)]) { + [((CAMetalLayer *)metalLayer) + setMaximumDrawableCount:(NSUInteger)maximumDrawableCount]; + } } @catch (NSException *exception) { return exception.reason.UTF8String; } @@ -60,7 +63,10 @@ const char *MetalLayer_SetMaximumDrawableCount(void *metalLayer, void MetalLayer_SetDisplaySyncEnabled(void *metalLayer, BOOL displaySyncEnabled) { if (@available(macOS 10.13, *)) { - [((CAMetalLayer *)metalLayer) setDisplaySyncEnabled:displaySyncEnabled]; + if ([(CAMetalLayer *)metalLayer + respondsToSelector:@selector(setDisplaySyncEnabled:)]) { + [((CAMetalLayer *)metalLayer) setDisplaySyncEnabled:displaySyncEnabled]; + } } }