From 7a6d80cc8cd8f5280d9bb1ee35d0acd7e51be088 Mon Sep 17 00:00:00 2001 From: StratusFearMe21 <57533634+StratusFearMe21@users.noreply.github.com> Date: Mon, 5 Feb 2024 10:17:21 +0000 Subject: [PATCH] Pass `ScreenDescriptor` to `egui_wgpu::CallbackTrait::prepare` (#3960) `glyphon` requires the screen resolution during the `prepare` stage, and passing that to the callback's `prepare` function seems pretty trivial. --------- Co-authored-by: Emil Ernerfeldt --- crates/egui-wgpu/src/renderer.rs | 2 ++ crates/egui_demo_app/src/apps/custom3d_wgpu.rs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/egui-wgpu/src/renderer.rs b/crates/egui-wgpu/src/renderer.rs index bb0d4581..5f5452bd 100644 --- a/crates/egui-wgpu/src/renderer.rs +++ b/crates/egui-wgpu/src/renderer.rs @@ -79,6 +79,7 @@ pub trait CallbackTrait: Send + Sync { &self, _device: &wgpu::Device, _queue: &wgpu::Queue, + _screen_descriptor: &ScreenDescriptor, _egui_encoder: &mut wgpu::CommandEncoder, _callback_resources: &mut CallbackResources, ) -> Vec { @@ -890,6 +891,7 @@ impl Renderer { user_cmd_bufs.extend(callback.prepare( device, queue, + screen_descriptor, encoder, &mut self.callback_resources, )); diff --git a/crates/egui_demo_app/src/apps/custom3d_wgpu.rs b/crates/egui_demo_app/src/apps/custom3d_wgpu.rs index 1bac26ed..24fb970d 100644 --- a/crates/egui_demo_app/src/apps/custom3d_wgpu.rs +++ b/crates/egui_demo_app/src/apps/custom3d_wgpu.rs @@ -2,7 +2,7 @@ use std::num::NonZeroU64; use eframe::{ egui_wgpu::wgpu::util::DeviceExt, - egui_wgpu::{self, wgpu}, + egui_wgpu::{self, renderer::ScreenDescriptor, wgpu}, }; pub struct Custom3d { @@ -148,6 +148,7 @@ impl egui_wgpu::CallbackTrait for CustomTriangleCallback { &self, device: &wgpu::Device, queue: &wgpu::Queue, + _screen_descriptor: &ScreenDescriptor, _egui_encoder: &mut wgpu::CommandEncoder, resources: &mut egui_wgpu::CallbackResources, ) -> Vec {