mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-28 18:31:37 +03:00
Avoid panic when unable to access a GPU
This will remove noise from our panic logs. Co-authored-by: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
parent
59366a5c44
commit
7998771d9f
@ -11,8 +11,8 @@ use crate::{
|
||||
use block::ConcreteBlock;
|
||||
use cocoa::{
|
||||
appkit::{
|
||||
CGPoint, NSApplication, NSBackingStoreBuffered, NSScreen, NSView, NSViewHeightSizable,
|
||||
NSViewWidthSizable, NSWindow, NSWindowButton, NSWindowStyleMask,
|
||||
CGPoint, NSApplication, NSBackingStoreBuffered, NSModalResponse, NSScreen, NSView,
|
||||
NSViewHeightSizable, NSViewWidthSizable, NSWindow, NSWindowButton, NSWindowStyleMask,
|
||||
},
|
||||
base::{id, nil},
|
||||
foundation::{NSAutoreleasePool, NSInteger, NSSize, NSString},
|
||||
@ -228,8 +228,16 @@ impl Window {
|
||||
native_window.setFrame_display_(screen.visibleFrame(), YES);
|
||||
}
|
||||
|
||||
let device =
|
||||
metal::Device::system_default().expect("could not find default metal device");
|
||||
let device = if let Some(device) = metal::Device::system_default() {
|
||||
device
|
||||
} else {
|
||||
let alert: id = msg_send![class!(NSAlert), alloc];
|
||||
let _: () = msg_send![alert, init];
|
||||
let _: () = msg_send![alert, setAlertStyle: 2];
|
||||
let _: () = msg_send![alert, setMessageText: ns_string("Unable to access a compatible graphics device")];
|
||||
let _: NSModalResponse = msg_send![alert, runModal];
|
||||
std::process::exit(1);
|
||||
};
|
||||
|
||||
let layer: id = msg_send![class!(CAMetalLayer), layer];
|
||||
let _: () = msg_send![layer, setDevice: device.as_ptr()];
|
||||
|
Loading…
Reference in New Issue
Block a user