Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update egui and wgpu #4111

Merged
merged 33 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
06c3fcd
update to wgpu 0.18
Wumpf Oct 8, 2023
08ea77a
fix formatting
Wumpf Nov 1, 2023
1eb4191
fix re_renderer examples
Wumpf Nov 1, 2023
e9ec5b4
cargo deny updates
Wumpf Nov 1, 2023
645840a
Update to latest egui master
emilk Nov 16, 2023
3d86e7a
Merge branch 'main' into andreas/wgpu-0.18
emilk Nov 16, 2023
969eeaf
Actually update to latest egui master
emilk Nov 16, 2023
3a652e1
Fix: use `rev` instead of `commit`
emilk Nov 17, 2023
f829d38
Update to latest egui master
emilk Nov 18, 2023
d9e4ebe
Update to latest egui master
emilk Nov 19, 2023
2e109ec
Fix web build
emilk Nov 19, 2023
ebd9087
Update puffin and egui
emilk Nov 19, 2023
8e56d81
Move re_log_encoding deps to workspace Cargo.toml
emilk Nov 19, 2023
fa615de
Update lz4_flex to 0.11
emilk Nov 19, 2023
1826ef2
Fixed deadlock due to the use of `egui_ctx` from within a `egui_ctx.i…
abey79 Nov 20, 2023
3bf9a92
Merge branch 'main' into andreas/wgpu-0.18
abey79 Nov 20, 2023
dc677bd
Update egui and wasm-bindgen
emilk Nov 21, 2023
e677a93
update to puffin 0.18
emilk Nov 21, 2023
8611485
Update to latest egui master
emilk Nov 22, 2023
908f71c
Update to latest egui, with zoom_factor and fix for decorations
emilk Nov 23, 2023
4dd89ea
Fix size caluclation in top bar
emilk Nov 23, 2023
5734908
Merge branch 'main' into andreas/wgpu-0.18
emilk Nov 23, 2023
dec6321
Update to latest egui
emilk Nov 23, 2023
324ac1d
Smooth zooming with clamping
emilk Nov 23, 2023
6a23d32
Restore zoom factor after screenshot
emilk Nov 23, 2023
310b6a2
Use set_zoom_factor
emilk Nov 23, 2023
f23461e
Sort
emilk Nov 23, 2023
17c40bc
Udate to egui 0.24, egui_tiles 0.4, egui_commonmark 0.10
emilk Nov 23, 2023
8ff55eb
Silence clippy warning from macro
emilk Nov 24, 2023
d92873e
Merge branch 'main' into andreas/wgpu-0.18
emilk Nov 30, 2023
e479727
Update to egui 0.24.1
emilk Nov 30, 2023
d67e11f
less mut
emilk Nov 30, 2023
73199e5
Update to wasm-bindgen 0.2.89
emilk Nov 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 222 additions & 101 deletions Cargo.lock

Large diffs are not rendered by default.

10 changes: 8 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,8 @@ webbrowser = "0.8"
winit = "0.28.7"
# TODO(andreas): Try to get rid of `fragile-send-sync-non-atomic-wasm`. This requires re_renderer being aware of single-thread restriction on resources.
# See also https://gpuweb.github.io/gpuweb/explainer/#multithreading-transfer (unsolved part of the Spec as of writing!)
wgpu = { version = "0.17.0", features = ["fragile-send-sync-non-atomic-wasm"] }
wgpu-core = "0.17.0"
wgpu = { version = "0.18.0", features = ["fragile-send-sync-non-atomic-wasm"] }
wgpu-core = "0.18.0"
xshell = "0.2"
zip = { version = "0.6", default-features = false }
zune-core = "0.2"
Expand Down Expand Up @@ -230,3 +230,9 @@ debug = true
# If that is not possible, patch to a branch that has a PR open on the upstream repo.
# As a last resport, patch with a commit to our own repository.
# ALWAYS document what PR the commit hash is part of, or when it was merged into the upstream trunk.
ecolor = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
eframe = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
egui = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
egui-wgpu = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
emath = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
epaint = { git = "https://github.com/emilk/egui.git", commit = "b9500460b91dae60d44a8e615bcad5671845cf01" }
6 changes: 5 additions & 1 deletion crates/re_renderer/examples/framework.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ impl<E: Example + 'static> Application<E> {
let size = window.inner_size();
let instance = wgpu::Instance::new(wgpu::InstanceDescriptor {
backends: supported_backends(),
flags: wgpu::InstanceFlags::default(),
dx12_shader_compiler: wgpu::Dx12Compiler::Fxc,
gles_minor_version: wgpu::Gles3MinorVersion::Automatic,
});
#[allow(unsafe_code, clippy::undocumented_unsafe_blocks)]
let surface = unsafe { instance.create_surface(&window) }.unwrap();
Expand Down Expand Up @@ -282,10 +284,12 @@ impl<E: Example + 'static> Application<E> {
resolve_target: None,
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::BLACK),
store: true,
store: wgpu::StoreOp::Store,
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

for draw_result in &draw_results {
Expand Down
12 changes: 9 additions & 3 deletions crates/re_renderer/src/draw_phases/outlines.rs
Original file line number Diff line number Diff line change
Expand Up @@ -354,17 +354,19 @@ impl OutlineMaskProcessor {
resolve_target: None, // We're going to do a manual resolve.
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::TRANSPARENT),
store: true,
store: wgpu::StoreOp::Store,
},
})],
depth_stencil_attachment: Some(wgpu::RenderPassDepthStencilAttachment {
view: &self.mask_depth.default_view,
depth_ops: Some(wgpu::Operations {
load: ViewBuilder::DEFAULT_DEPTH_CLEAR,
store: false,
store: wgpu::StoreOp::Discard,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
})
}

Expand All @@ -377,7 +379,7 @@ impl OutlineMaskProcessor {

let ops = wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::TRANSPARENT), // Clear is the closest to "don't care"
store: true,
store: wgpu::StoreOp::Store,
};

// Initialize the jump flooding into voronoi texture 0 by looking at the mask texture.
Expand All @@ -390,6 +392,8 @@ impl OutlineMaskProcessor {
ops,
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

let render_pipeline_init =
Expand All @@ -412,6 +416,8 @@ impl OutlineMaskProcessor {
ops,
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

jumpflooding_step.set_pipeline(render_pipeline_step);
Expand Down
10 changes: 7 additions & 3 deletions crates/re_renderer/src/draw_phases/picking_layer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -321,17 +321,19 @@ impl PickingLayerProcessor {
resolve_target: None,
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::TRANSPARENT),
store: true, // Store for readback!
store: wgpu::StoreOp::Store, // Store for readback!
},
})],
depth_stencil_attachment: Some(wgpu::RenderPassDepthStencilAttachment {
view: &self.picking_depth_target.default_view,
depth_ops: Some(wgpu::Operations {
load: ViewBuilder::DEFAULT_DEPTH_CLEAR,
store: true, // Store for readback!
store: wgpu::StoreOp::Store, // Store for readback!
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

pass.set_bind_group(0, &self.bind_group_0, &[]);
Expand Down Expand Up @@ -590,10 +592,12 @@ impl DepthReadbackWorkaround {
resolve_target: None,
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::TRANSPARENT),
store: true, // Store for readback!
store: wgpu::StoreOp::Store, // Store for readback!
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

let pipeline = pools.render_pipelines.get_resource(self.render_pipeline)?;
Expand Down
4 changes: 3 additions & 1 deletion crates/re_renderer/src/draw_phases/screenshot.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,12 @@ impl ScreenshotProcessor {
resolve_target: None,
ops: wgpu::Operations {
load: wgpu::LoadOp::Clear(wgpu::Color::TRANSPARENT),
store: true,
store: wgpu::StoreOp::Store,
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

pass
Expand Down
6 changes: 4 additions & 2 deletions crates/re_renderer/src/view_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -556,17 +556,19 @@ impl ViewBuilder {
}),
// Don't care about the result, it's going to be resolved to the resolve target.
// This can have be much better perf, especially on tiler gpus.
store: false,
store: wgpu::StoreOp::Discard,
},
})],
depth_stencil_attachment: Some(wgpu::RenderPassDepthStencilAttachment {
view: &setup.depth_buffer.default_view,
depth_ops: Some(wgpu::Operations {
load: Self::DEFAULT_DEPTH_CLEAR,
store: false,
store: wgpu::StoreOp::Discard,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

pass.set_bind_group(0, &setup.bind_group_0, &[]);
Expand Down
6 changes: 5 additions & 1 deletion deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,16 @@ deny = [
skip = [
{ name = "ahash" }, # Popular crate + fast release schedule = lots of crates still using old versions
{ name = "base64" }, # Too popular
{ name = "foreign-types" }, # used for cocoa bindings. wgpu uses newer than winit.
{ name = "foreign-types" }, # used for cocoa bindings. wgpu uses newer than eframe.
{ name = "foreign-types-shared" }, # as above.
{ name = "memoffset" }, # Small crate
{ name = "nix" }, # difficult to avoid :(
{ name = "prettyplease" }, # Old version being used by prost
{ name = "time" }, # Too popular
{ name = "hashbrown" }, # Old version used by polar-rs
{ name = "spin" }, # Old version used by rusttls
{ name = "libloading" }, # Old version used by ash (vulkan binding), newer version used by khronos-egl
{ name = "windows" }, # Old version used by accesskit_windows, newer version used by wgpu
]
skip-tree = [
{ name = "cargo-run-wasm" }, # Dev-tool
Expand Down
Loading