Use NSScreen maximumFramesPerSecond on macOS 12+
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
index d106c41..ee7b693 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
@@ -439,6 +439,10 @@
 		}
 	}
 
+#if MVK_XCODE_13
+    // macOS 12+ only
+    double framesPerSecond = [screen maximumFramesPerSecond];
+#else
 	CGDirectDisplayID displayId = [[[screen deviceDescription] objectForKey:@"NSScreenNumber"] unsignedIntValue];
 	CGDisplayModeRef mode = CGDisplayCopyDisplayMode(displayId);
 	double framesPerSecond = CGDisplayModeGetRefreshRate(mode);
@@ -448,6 +452,7 @@
 	if (framesPerSecond == 0)
 		framesPerSecond = 60.0;
 #endif
+#endif
 
 	pRefreshCycleDuration->refreshDuration = (uint64_t)1e9 / framesPerSecond;
 	return VK_SUCCESS;