diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-18 01:37:42 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-18 01:37:42 +0100 |
commit | 5fe6b69f5d2ecc37ee899fd6d9e536f73783d70f (patch) | |
tree | da1590eb626ef7167807f0191f4aafa103704e1a /client | |
parent | a2c5b47e34d358f8b9b697fba8a6c52585cff8fa (diff) | |
download | weareserver-5fe6b69f5d2ecc37ee899fd6d9e536f73783d70f.tar weareserver-5fe6b69f5d2ecc37ee899fd6d9e536f73783d70f.tar.bz2 weareserver-5fe6b69f5d2ecc37ee899fd6d9e536f73783d70f.tar.zst |
profiler show adapter info
Diffstat (limited to 'client')
-rw-r--r-- | client/src/interfaces/mod.rs | 2 | ||||
-rw-r--r-- | client/src/interfaces/profiler.rs | 26 | ||||
-rw-r--r-- | client/src/renderer.rs | 13 | ||||
-rw-r--r-- | client/src/state.rs | 1 |
4 files changed, 36 insertions, 6 deletions
diff --git a/client/src/interfaces/mod.rs b/client/src/interfaces/mod.rs index eb0eb86..9dfce63 100644 --- a/client/src/interfaces/mod.rs +++ b/client/src/interfaces/mod.rs @@ -23,6 +23,7 @@ use prefabindex::PrefabIndexInterface; use profiler::{Profiler, TimingProfiler}; use std::sync::{Arc, Mutex}; use weareshared::resources::PrefabIndex; +use wgpu::AdapterInfo; enum Interface { Selector, @@ -36,6 +37,7 @@ pub struct InterfaceData { pub downloader: Arc<Downloader>, pub prefab_index: Arc<PrefabIndex>, pub render_timing: Arc<Mutex<TimingProfiler>>, + pub adapter_info: Arc<AdapterInfo>, } pub fn ui_selector(idata: Arc<InterfaceData>) -> impl Fn(&egui::Context) -> bool { diff --git a/client/src/interfaces/profiler.rs b/client/src/interfaces/profiler.rs index c6256b6..b6c4698 100644 --- a/client/src/interfaces/profiler.rs +++ b/client/src/interfaces/profiler.rs @@ -28,10 +28,32 @@ impl Widget for &mut Profiler { self.idata.scene_prepare.ui(ui); }); ui.collapsing("Download", |ui| { - ui.add(&*self.idata.downloader); + self.idata.downloader.ui(ui); }); ui.collapsing("Render", |ui| { - ui.add(&*self.idata.render_timing.lock().unwrap()); + self.idata.render_timing.lock().unwrap().ui(ui); + }); + ui.collapsing("Adapter Info", |ui| { + Grid::new("ai") + .num_columns(2) + .show(ui, |ui| { + ui.label("Backend"); + ui.label(&self.idata.adapter_info.backend.to_string()); + ui.end_row(); + ui.label("Name"); + ui.label(&self.idata.adapter_info.name); + ui.end_row(); + ui.label("Device Type"); + ui.label(format!("{:?}", self.idata.adapter_info.device_type)); + ui.end_row(); + ui.label("Driver"); + ui.label(&self.idata.adapter_info.driver); + ui.end_row(); + ui.label("Driver Info"); + ui.label(&self.idata.adapter_info.driver_info); + ui.end_row(); + }) + .response }); ui.response() } diff --git a/client/src/renderer.rs b/client/src/renderer.rs index 2777526..01d6fc4 100644 --- a/client/src/renderer.rs +++ b/client/src/renderer.rs @@ -29,10 +29,10 @@ use std::{ }; use weareshared::tree::SceneTree; use wgpu::{ - Backends, CommandEncoderDescriptor, Device, DeviceDescriptor, Extent3d, Features, Instance, - InstanceDescriptor, Limits, MaintainBase, PowerPreference, Queue, RequestAdapterOptions, - Surface, SurfaceConfiguration, TextureDescriptor, TextureDimension, TextureFormat, - TextureUsages, TextureView, TextureViewDescriptor, + AdapterInfo, Backends, CommandEncoderDescriptor, Device, DeviceDescriptor, Extent3d, Features, + Instance, InstanceDescriptor, Limits, MaintainBase, PowerPreference, Queue, + RequestAdapterOptions, Surface, SurfaceConfiguration, TextureDescriptor, TextureDimension, + TextureFormat, TextureUsages, TextureView, TextureViewDescriptor, }; use winit::window::Window; @@ -48,6 +48,7 @@ pub struct Renderer<'a> { depth: TextureView, pub timing: TimingProfiler, pub timing_submit: Arc<Mutex<TimingProfiler>>, + pub adapter_info: Arc<AdapterInfo>, } impl<'a> Renderer<'a> { pub fn new(window: &'a Window, downloader: Arc<Downloader>) -> Result<Self> { @@ -131,10 +132,13 @@ impl<'a> Renderer<'a> { }); } + let adapter_info = Arc::new(adapter.get_info()); + Ok(Self { scene_pipeline, scene_prepare, surface, + adapter_info, depth, device, queue, @@ -230,6 +234,7 @@ impl<'a> Renderer<'a> { let mut ts = self.timing_submit.lock().unwrap(); swap(&mut *ts, &mut self.timing); + Ok(()) } } diff --git a/client/src/state.rs b/client/src/state.rs index 2912e14..c8b4921 100644 --- a/client/src/state.rs +++ b/client/src/state.rs @@ -109,6 +109,7 @@ impl<'a> State<'a> { network: self.network.clone(), prefab_index: self.prefab_index.clone(), render_timing: self.renderer.timing_submit.clone(), + adapter_info: self.renderer.adapter_info.clone(), }); self.renderer .ui_renderer |