This reverts commit 0cebf68306
.
Although this thing is very cool, it is a top source of crashes.
Example crash:
```
Segmentation fault: 11 on thread 26
objc_retain +16
invocation function for block in Overlay::onCommandBufferCommit(id<MTLCommandBuffer>) +60
MTLDispatchListApply +52
```
Release Notes:
- Removed "Toggle Graphics Profiler" as it crashes too much.
This commit is contained in:
parent
ac30ded80e
commit
9bd5ebb74b
9 changed files with 1 additions and 50 deletions
|
@ -195,8 +195,8 @@ pub(crate) trait PlatformWindow: HasWindowHandle + HasDisplayHandle {
|
||||||
fn on_appearance_changed(&self, callback: Box<dyn FnMut()>);
|
fn on_appearance_changed(&self, callback: Box<dyn FnMut()>);
|
||||||
fn is_topmost_for_position(&self, position: Point<Pixels>) -> bool;
|
fn is_topmost_for_position(&self, position: Point<Pixels>) -> bool;
|
||||||
fn draw(&self, scene: &Scene);
|
fn draw(&self, scene: &Scene);
|
||||||
|
|
||||||
fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas>;
|
fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas>;
|
||||||
fn set_graphics_profiler_enabled(&self, enabled: bool);
|
|
||||||
|
|
||||||
#[cfg(any(test, feature = "test-support"))]
|
#[cfg(any(test, feature = "test-support"))]
|
||||||
fn as_test(&mut self) -> Option<&mut TestWindow> {
|
fn as_test(&mut self) -> Option<&mut TestWindow> {
|
||||||
|
|
|
@ -394,10 +394,6 @@ impl PlatformWindow for WaylandWindow {
|
||||||
let inner = self.0.inner.borrow_mut();
|
let inner = self.0.inner.borrow_mut();
|
||||||
inner.renderer.sprite_atlas().clone()
|
inner.renderer.sprite_atlas().clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_graphics_profiler_enabled(&self, enabled: bool) {
|
|
||||||
//todo!(linux)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||||
|
|
|
@ -525,8 +525,4 @@ impl PlatformWindow for X11Window {
|
||||||
let inner = self.0.inner.borrow_mut();
|
let inner = self.0.inner.borrow_mut();
|
||||||
inner.renderer.sprite_atlas().clone()
|
inner.renderer.sprite_atlas().clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_graphics_profiler_enabled(&self, enabled: bool) {
|
|
||||||
unimplemented!("linux")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1060,27 +1060,6 @@ impl PlatformWindow for MacWindow {
|
||||||
fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas> {
|
fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas> {
|
||||||
self.0.lock().renderer.sprite_atlas().clone()
|
self.0.lock().renderer.sprite_atlas().clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Enables or disables the Metal HUD for debugging purposes. Note that this only works
|
|
||||||
/// when the app is bundled and it has the `MetalHudEnabled` key set to true in Info.plist.
|
|
||||||
fn set_graphics_profiler_enabled(&self, enabled: bool) {
|
|
||||||
let this_lock = self.0.lock();
|
|
||||||
let layer = this_lock.renderer.layer();
|
|
||||||
|
|
||||||
unsafe {
|
|
||||||
if enabled {
|
|
||||||
let hud_properties = NSDictionary::dictionaryWithObject_forKey_(
|
|
||||||
nil,
|
|
||||||
ns_string("default"),
|
|
||||||
ns_string("mode"),
|
|
||||||
);
|
|
||||||
let _: () = msg_send![layer, setDeveloperHUDProperties: hud_properties];
|
|
||||||
} else {
|
|
||||||
let _: () =
|
|
||||||
msg_send![layer, setDeveloperHUDProperties: NSDictionary::dictionary(nil)];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl HasWindowHandle for MacWindow {
|
impl HasWindowHandle for MacWindow {
|
||||||
|
|
|
@ -251,8 +251,6 @@ impl PlatformWindow for TestWindow {
|
||||||
self.0.lock().sprite_atlas.clone()
|
self.0.lock().sprite_atlas.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_graphics_profiler_enabled(&self, _enabled: bool) {}
|
|
||||||
|
|
||||||
fn as_test(&mut self) -> Option<&mut TestWindow> {
|
fn as_test(&mut self) -> Option<&mut TestWindow> {
|
||||||
Some(self)
|
Some(self)
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,7 +280,6 @@ pub struct Window {
|
||||||
pub(crate) focus: Option<FocusId>,
|
pub(crate) focus: Option<FocusId>,
|
||||||
focus_enabled: bool,
|
focus_enabled: bool,
|
||||||
pending_input: Option<PendingInput>,
|
pending_input: Option<PendingInput>,
|
||||||
graphics_profiler_enabled: bool,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
#[derive(Default, Debug)]
|
||||||
|
@ -474,7 +473,6 @@ impl Window {
|
||||||
focus: None,
|
focus: None,
|
||||||
focus_enabled: true,
|
focus_enabled: true,
|
||||||
pending_input: None,
|
pending_input: None,
|
||||||
graphics_profiler_enabled: false,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn new_focus_listener(
|
fn new_focus_listener(
|
||||||
|
@ -1519,14 +1517,6 @@ impl<'a> WindowContext<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Toggle the graphics profiler to debug your application's rendering performance.
|
|
||||||
pub fn toggle_graphics_profiler(&mut self) {
|
|
||||||
self.window.graphics_profiler_enabled = !self.window.graphics_profiler_enabled;
|
|
||||||
self.window
|
|
||||||
.platform_window
|
|
||||||
.set_graphics_profiler_enabled(self.window.graphics_profiler_enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Register the given handler to be invoked whenever the global of the given type
|
/// Register the given handler to be invoked whenever the global of the given type
|
||||||
/// is updated.
|
/// is updated.
|
||||||
pub fn observe_global<G: Global>(
|
pub fn observe_global<G: Global>(
|
||||||
|
|
|
@ -121,7 +121,6 @@ actions!(
|
||||||
ToggleRightDock,
|
ToggleRightDock,
|
||||||
ToggleBottomDock,
|
ToggleBottomDock,
|
||||||
CloseAllDocks,
|
CloseAllDocks,
|
||||||
ToggleGraphicsProfiler,
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3583,7 +3582,6 @@ impl Workspace {
|
||||||
workspace.reopen_closed_item(cx).detach();
|
workspace.reopen_closed_item(cx).detach();
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.on_action(|_: &ToggleGraphicsProfiler, cx| cx.toggle_graphics_profiler())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(test, feature = "test-support"))]
|
#[cfg(any(test, feature = "test-support"))]
|
||||||
|
|
|
@ -22,5 +22,3 @@
|
||||||
<string>An application in Zed wants to use speech recognition.</string>
|
<string>An application in Zed wants to use speech recognition.</string>
|
||||||
<key>NSRemindersUsageDescription</key>
|
<key>NSRemindersUsageDescription</key>
|
||||||
<string>An application in Zed wants to use your reminders.</string>
|
<string>An application in Zed wants to use your reminders.</string>
|
||||||
<key>MetalHudEnabled</key>
|
|
||||||
<true />
|
|
||||||
|
|
|
@ -156,10 +156,6 @@ pub fn app_menus() -> Vec<Menu<'static>> {
|
||||||
MenuItem::action("View Telemetry", crate::OpenTelemetryLog),
|
MenuItem::action("View Telemetry", crate::OpenTelemetryLog),
|
||||||
MenuItem::action("View Dependency Licenses", crate::OpenLicenses),
|
MenuItem::action("View Dependency Licenses", crate::OpenLicenses),
|
||||||
MenuItem::action("Show Welcome", workspace::Welcome),
|
MenuItem::action("Show Welcome", workspace::Welcome),
|
||||||
MenuItem::action(
|
|
||||||
"Toggle Graphics Profiler",
|
|
||||||
workspace::ToggleGraphicsProfiler,
|
|
||||||
),
|
|
||||||
MenuItem::separator(),
|
MenuItem::separator(),
|
||||||
MenuItem::action(
|
MenuItem::action(
|
||||||
"Documentation",
|
"Documentation",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue