mirror of
https://github.com/emilk/egui.git
synced 2026-08-30 13:20:05 -04:00
Group glow config in a struct (#8108)
This is a breaking public API change, but is otherwise trivial due to it not changing any actual runtime behaviour. This renames eframe's NativeOptions `vsync` option to `glow_vsync` to make clear without even looking at docs fully that this is specific to the `glow` backend. While I think a better option would actually be to change the wgpu creation options to match the vsync option if not specified (either to `AutoVsync` or `AutoNoVsync` depending on setting) this would require this be made an `Option<PresentMode>`, which would be confusing - and the `WgpuConfiguration` should probably take priority over other options here, as there's more than 2 present modes that are relevant. So I think this is a suitable way to go. <!-- Please read the "Making a PR" section of [`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md) before opening a Pull Request! * Keep your PR:s small and focused. * The PR title is what ends up in the changelog, so make it descriptive! * If applicable, add a screenshot or gif. * If it is a non-trivial addition, consider adding a demo for it to `egui_demo_lib`, or a new example. * Do NOT open PR:s from your `master` branch, as that makes it hard for maintainers to test and add commits to your PR. * Remember to run `cargo fmt` and `cargo clippy`. * Open the PR as a draft until you have self-reviewed it and run `./scripts/check.sh`. * When you have addressed a PR comment, mark it as resolved. Please be patient! I will review your PR, but my time is limited! --> * This does not close an issue - this was a trivial amount of code to change, so I might as well just make it a PR on the spot. * [x] I have followed the instructions in the PR template --------- Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
This commit is contained in:
@@ -184,7 +184,7 @@ impl<'app> GlowWinitApp<'app> {
|
||||
let painter = egui_glow::Painter::new(
|
||||
gl,
|
||||
"",
|
||||
native_options.shader_version,
|
||||
native_options.glow_options.shader_version,
|
||||
native_options.dithering,
|
||||
)?;
|
||||
|
||||
@@ -952,12 +952,12 @@ impl GlutinWindowContext {
|
||||
|
||||
use glutin::prelude::*;
|
||||
// convert native options to glutin options
|
||||
let hardware_acceleration = match native_options.hardware_acceleration {
|
||||
crate::HardwareAcceleration::Required => Some(true),
|
||||
crate::HardwareAcceleration::Preferred => None,
|
||||
crate::HardwareAcceleration::Off => Some(false),
|
||||
let hardware_acceleration = match native_options.glow_options.hardware_acceleration {
|
||||
egui_glow::HardwareAcceleration::Required => Some(true),
|
||||
egui_glow::HardwareAcceleration::Preferred => None,
|
||||
egui_glow::HardwareAcceleration::Off => Some(false),
|
||||
};
|
||||
let swap_interval = if native_options.vsync {
|
||||
let swap_interval = if native_options.glow_options.vsync {
|
||||
glutin::surface::SwapInterval::Wait(NonZeroU32::MIN)
|
||||
} else {
|
||||
glutin::surface::SwapInterval::DontWait
|
||||
|
||||
Reference in New Issue
Block a user