From 06045c7ee2809df263d0cd762956d36a21d66a1e Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Wed, 26 Oct 2022 18:30:19 +0300 Subject: [PATCH] Glutin version 0.30.0 --- CHANGELOG.md | 35 ++++------------------------------- README.md | 4 ++-- glutin/Cargo.toml | 2 +- 3 files changed, 7 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 405b6567d0..345d0f7b43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,42 +1,15 @@ # Unreleased -# Version 0.30.0-beta.3 +# Version 0.30.0 -- `Config` doesn't force OpenGL `Api` by default. -- `Display::create_context` now uses the most recent available `Api` from the `Config` when `ContextApi` is not specified in `ContextAttributes`. -- **Breaking:** `PossiblyCurrentGlContext::get_proc_address` method was moved to `GlDisplay::get_proc_address`. -- **Breaking:** `ConfigTemplateBuilder::with_sample_buffers` now called `ConfigTemplateBuilder::with_multisampling`. -- **Breaking:** `GlConfig::sample_buffers` now called `GlConfig::num_samples` and returns the amount of samples in multisample buffer. +- **This version of `glutin` has been rewritten from the ground and no longer depends on `winit`, the `raw-window-handle` is now used instead of it.** +- The Api is now built around `Display`, `Surface`, `Config`, and `Surface`. For more info see crate documentation and examples. - **Breaking:** Bump MSRV from `1.57` to `1.60`. -- Fix `GlProfile::Core` requesting without explicit version. -- Pick the latest available profile on macOS. -- When using `ContextApi::Gles(None)` in `ContextAttributesBuilder` the latest known supported `major` ES version will be picked. -- Fix `Eq` implementation for `Config` on `CGL`. -- Add `GetDisplayExtensions` trait to obtain api display extensions implemented on `EGL`, `WGL`, and `GLX`. -- Fallback to `Surface::swap_buffers` when `Surface::swap_buffers_with_damage` is not supported on `EGL`. -- Add missing `GetGlConfig` implementation for `NotCurrentContext` and `PossiblyCurrentContext`. -- Implement `Clone` for builders. -- **Breaking:** move `DamageRect` into `surface::Rect`. -- Add `GlDisplay::version_string` to help with logging the display information. -- Rename `NotCurrentGlContext::treat_as_current` to `NotCurrentGlContext::treat_as_possibly_current`. -- Rename `Display::from_raw` to `Display::new`. -- Added `GlDisplay::supported_features` to allow checking for extensions support beforehand. -- **Breaking:** renamed `ReleaseBehaviour` to `ReleaseBehavior`. -- Fix GLX not working with nvidia binary drivers. -- Fix crash in `glx::surface::Surface::set_swap_interval`. - -# Version 0.30.0-beta.2 (2022-09-03) - -- macOS: Fix memory leak in `Surface`. - -# Version 0.30.0-beta.1 (2022-09-03) - -- Replace `winit` dependency with `raw-window-handle`. -- The Api is now built around `Display`, `Surface`, `Config`, and `Surface` for more info see crate documentation and examples. - The ios support was removed for the lack of maintainance for now. In case there's a need for it, contributions are welcome. - The context creation is no longer limited to winit's supported platforms. - The underlying Api providers are publically exposed now, so glutin could be used with just e.g. `EGL`. - Fixed soundness issues with `Surface` MT safety, since before `EGLSurface` could be sent to a different thread, which is not safe. +- Fallback to `Surface::swap_buffers` when `Surface::swap_buffers_with_damage` is not supported on `EGL`. # Version 0.29.1 (2022-08-10) diff --git a/README.md b/README.md index ed7437037c..c4224fdf1c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A low-level library for OpenGL context creation. ```toml [dependencies] -glutin = "0.30.0-beta.3" +glutin = "0.30.0" ``` ## [Documentation](https://docs.rs/glutin) @@ -22,7 +22,7 @@ Join us in any of these: ## Usage Examples **Warning:** these are examples for master. For the latest released version you can -find them [here](https://github.com/rust-windowing/glutin/releases/tag/v0.30.0-beta.3). +find them [here](https://github.com/rust-windowing/glutin/releases/tag/v0.30.0). The examples use [gl_generator](https://crates.io/crates/gl_generator) to generate OpenGL bindings. diff --git a/glutin/Cargo.toml b/glutin/Cargo.toml index c973f23b48..bc559ec3e9 100644 --- a/glutin/Cargo.toml +++ b/glutin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "glutin" -version = "0.30.0-beta.3" +version = "0.30.0" authors = ["Kirill Chibisov "] description = "Cross-platform OpenGL context provider." keywords = ["windowing", "opengl", "egl"]