mirror of
https://github.com/emilk/egui.git
synced 2026-09-03 23:30:04 -04:00
Allows to override the default `PREDICTABLE` render options, e.g. if it's desired to create snapshots with the exact texture options used by the app. See #7630 for details / examples.
This commit is contained in:
@@ -58,7 +58,10 @@ pub fn default_wgpu_setup() -> egui_wgpu::WgpuSetup {
|
||||
egui_wgpu::WgpuSetup::CreateNew(setup)
|
||||
}
|
||||
|
||||
pub fn create_render_state(setup: WgpuSetup) -> egui_wgpu::RenderState {
|
||||
pub fn create_render_state(
|
||||
setup: WgpuSetup,
|
||||
options: egui_wgpu::RendererOptions,
|
||||
) -> 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());
|
||||
|
||||
@@ -69,7 +72,7 @@ pub fn create_render_state(setup: WgpuSetup) -> egui_wgpu::RenderState {
|
||||
},
|
||||
&instance,
|
||||
None,
|
||||
egui_wgpu::RendererOptions::PREDICTABLE,
|
||||
options,
|
||||
))
|
||||
.expect("Failed to create render state")
|
||||
}
|
||||
@@ -89,14 +92,17 @@ impl WgpuTestRenderer {
|
||||
/// Create a new [`WgpuTestRenderer`] with the default setup.
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
render_state: create_render_state(default_wgpu_setup()),
|
||||
render_state: create_render_state(
|
||||
default_wgpu_setup(),
|
||||
egui_wgpu::RendererOptions::PREDICTABLE,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
/// Create a new [`WgpuTestRenderer`] with the given setup.
|
||||
pub fn from_setup(setup: WgpuSetup) -> Self {
|
||||
Self {
|
||||
render_state: create_render_state(setup),
|
||||
render_state: create_render_state(setup, egui_wgpu::RendererOptions::PREDICTABLE),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +121,13 @@ impl WgpuTestRenderer {
|
||||
);
|
||||
Self { render_state }
|
||||
}
|
||||
|
||||
/// Create a new [`WgpuTestRenderer`] with custom render options.
|
||||
pub fn with_render_options(options: egui_wgpu::RendererOptions) -> Self {
|
||||
Self {
|
||||
render_state: create_render_state(default_wgpu_setup(), options),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl crate::TestRenderer for WgpuTestRenderer {
|
||||
|
||||
Reference in New Issue
Block a user