mirror of
https://github.com/emilk/egui.git
synced 2026-08-31 22:00:03 -04:00
Update wgpu to 0.19 (#3824)
* Closes https://github.com/emilk/egui/issues/3675 --------- Co-authored-by: Andreas Reich <r_andreas2@web.de> Co-authored-by: Mingun <Alexander_Sergey@mail.ru>
This commit is contained in:
@@ -184,6 +184,103 @@ fn integration_ui(ui: &mut egui::Ui, _frame: &mut eframe::Frame) {
|
||||
ui.monospace(format!("{:#?}", _frame.info().web_info.location));
|
||||
});
|
||||
|
||||
#[cfg(feature = "glow")]
|
||||
if _frame.gl().is_some() {
|
||||
ui.horizontal(|ui| {
|
||||
ui.label("Renderer:");
|
||||
ui.hyperlink_to("glow", "https://github.com/grovesNL/glow");
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "wgpu")]
|
||||
if let Some(render_state) = _frame.wgpu_render_state() {
|
||||
let wgpu_adapter_details_ui = |ui: &mut egui::Ui, adapter: &eframe::wgpu::Adapter| {
|
||||
let info = &adapter.get_info();
|
||||
|
||||
let wgpu::AdapterInfo {
|
||||
name,
|
||||
vendor,
|
||||
device,
|
||||
device_type,
|
||||
driver,
|
||||
driver_info,
|
||||
backend,
|
||||
} = &info;
|
||||
|
||||
// Example values:
|
||||
// > name: "llvmpipe (LLVM 16.0.6, 256 bits)", device_type: Cpu, backend: Vulkan, driver: "llvmpipe", driver_info: "Mesa 23.1.6-arch1.4 (LLVM 16.0.6)"
|
||||
// > name: "Apple M1 Pro", device_type: IntegratedGpu, backend: Metal, driver: "", driver_info: ""
|
||||
// > name: "ANGLE (Apple, Apple M1 Pro, OpenGL 4.1)", device_type: IntegratedGpu, backend: Gl, driver: "", driver_info: ""
|
||||
|
||||
egui::Grid::new("adapter_info").show(ui, |ui| {
|
||||
ui.label("Backend:");
|
||||
ui.label(format!("{backend:?}"));
|
||||
ui.end_row();
|
||||
|
||||
ui.label("Device Type:");
|
||||
ui.label(format!("{device_type:?}"));
|
||||
ui.end_row();
|
||||
|
||||
if !name.is_empty() {
|
||||
ui.label("Name:");
|
||||
ui.label(format!("{name:?}"));
|
||||
ui.end_row();
|
||||
}
|
||||
if !driver.is_empty() {
|
||||
ui.label("Driver:");
|
||||
ui.label(format!("{driver:?}"));
|
||||
ui.end_row();
|
||||
}
|
||||
if !driver_info.is_empty() {
|
||||
ui.label("Driver info:");
|
||||
ui.label(format!("{driver_info:?}"));
|
||||
ui.end_row();
|
||||
}
|
||||
if *vendor != 0 {
|
||||
// TODO(emilk): decode using https://github.com/gfx-rs/wgpu/blob/767ac03245ee937d3dc552edc13fe7ab0a860eec/wgpu-hal/src/auxil/mod.rs#L7
|
||||
ui.label("Vendor:");
|
||||
ui.label(format!("0x{vendor:04X}"));
|
||||
ui.end_row();
|
||||
}
|
||||
if *device != 0 {
|
||||
ui.label("Device:");
|
||||
ui.label(format!("0x{device:02X}"));
|
||||
ui.end_row();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
let wgpu_adapter_ui = |ui: &mut egui::Ui, adapter: &eframe::wgpu::Adapter| {
|
||||
let info = &adapter.get_info();
|
||||
ui.label(format!("{:?}", info.backend)).on_hover_ui(|ui| {
|
||||
wgpu_adapter_details_ui(ui, adapter);
|
||||
});
|
||||
};
|
||||
|
||||
egui::Grid::new("wgpu_info").num_columns(2).show(ui, |ui| {
|
||||
ui.label("Renderer:");
|
||||
ui.hyperlink_to("wgpu", "https://wgpu.rs/");
|
||||
ui.end_row();
|
||||
|
||||
ui.label("Backend:");
|
||||
wgpu_adapter_ui(ui, &render_state.adapter);
|
||||
ui.end_row();
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
if 1 < render_state.available_adapters.len() {
|
||||
ui.label("Others:");
|
||||
ui.vertical(|ui| {
|
||||
for adapter in &*render_state.available_adapters {
|
||||
if adapter.get_info() != render_state.adapter.get_info() {
|
||||
wgpu_adapter_ui(ui, adapter);
|
||||
}
|
||||
}
|
||||
});
|
||||
ui.end_row();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
{
|
||||
ui.horizontal(|ui| {
|
||||
@@ -214,15 +311,6 @@ fn integration_ui(ui: &mut egui::Ui, _frame: &mut eframe::Frame) {
|
||||
ui.close_menu();
|
||||
}
|
||||
});
|
||||
|
||||
let fullscreen = ui.input(|i| i.viewport().fullscreen.unwrap_or(false));
|
||||
if !fullscreen
|
||||
&& ui
|
||||
.button("Drag me to drag window")
|
||||
.is_pointer_button_down_on()
|
||||
{
|
||||
ui.ctx().send_viewport_cmd(egui::ViewportCommand::StartDrag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user