1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-03 07:10:04 -04:00

Update to wgpu 29 (#7990)

* [x] I have followed the instructions in the PR template

This updates wgpu to v29 across the egui crate stack.

There a a few API changes due to the requirement to provide a display
handle up front to properly support GLES on linux. I have done my best
to make the api changes as reasonable as possible, but I don't have all
the greater project context, so lmk if things should be done a bit
differently.

I've also updated glow to 0.17 to make cargo deny happy, there are no
source changes. I'm not sure how you want to land these.

---------

Co-authored-by: lucasmerlin <hi@lucasmerlin.me>
This commit is contained in:
Connor Fitzgerald
2026-03-23 13:21:25 -04:00
committed by GitHub
parent b077cf9102
commit a59e803f25
11 changed files with 374 additions and 166 deletions

View File

@@ -17,7 +17,8 @@ pub(crate) const WAIT_TIMEOUT: Duration = Duration::from_secs(10);
/// Default wgpu setup used for the wgpu renderer.
pub fn default_wgpu_setup() -> egui_wgpu::WgpuSetup {
let mut setup = egui_wgpu::WgpuSetupCreateNew::default();
// No display handle needed for headless testing — we don't present to a window.
let mut setup = egui_wgpu::WgpuSetupCreateNew::without_display_handle();
// WebGPU not supported yet since we rely on blocking screenshots.
setup
@@ -58,6 +59,7 @@ pub fn default_wgpu_setup() -> egui_wgpu::WgpuSetup {
}
pub fn create_render_state(setup: WgpuSetup) -> egui_wgpu::RenderState {
// No display handle needed for headless testing — we don't present to a window.
let instance = pollster::block_on(setup.new_instance());
pollster::block_on(egui_wgpu::RenderState::create(