first pass of merging in warp (doesn't build)
This commit is contained in:
@@ -5,10 +5,11 @@ mod renderer_manager;
|
||||
#[cfg(wgpu)]
|
||||
mod wgpu;
|
||||
|
||||
pub use self::metal::is_integrated_gpu;
|
||||
pub use renderer::{Device, Renderer};
|
||||
pub use renderer::{Device, MetalDevice, Renderer};
|
||||
pub use renderer_manager::RendererManager;
|
||||
|
||||
pub use self::metal::is_integrated_gpu;
|
||||
|
||||
/// Returns `true` if a low power GPU is available for rendering. Typically, this is true for
|
||||
/// machines with two GPUs -- a dedicated discrete high-performance GPU and a lower power
|
||||
/// integrated GPU.
|
||||
@@ -17,12 +18,10 @@ pub fn is_low_power_gpu_available() -> bool {
|
||||
if #[cfg(wgpu)] {
|
||||
crate::r#async::block_on(crate::rendering::wgpu::is_low_power_gpu_available())
|
||||
} else {
|
||||
let devices = ::metal::Device::all();
|
||||
let gpu_count = devices.len();
|
||||
let devices = objc2_metal::MTLCopyAllDevices();
|
||||
let gpu_count = devices.count();
|
||||
gpu_count > 1
|
||||
&& devices
|
||||
.iter()
|
||||
.any(metal::is_integrated_gpu)
|
||||
&& (0..gpu_count).any(|i| metal::is_integrated_gpu(&devices.objectAtIndex(i)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user