- Fixed handling of
*_base
extensions with EGL.
- Fixed EGL/GLX display initialization when the provided raw-window-handle has an unknown visual_id.
- Fixed EGL always returning
None
forx11_visual()
. - Fixed GLX error handling assuming that
XError
's will arrive like they should on X11. - Fixed EGL window/pixmap creation when using legacy path.
- Fixed EGL display initialization with XcbDisplayHandle.
- Fixed EGL/GLX
Surface::width
returning the height instead of the width. - On GLX, fixed handling of errors not directly requested by glutin.
- Added
GlConfig::hardware_accelerated
to check if the config is hardware accelerated. - Added
GlContext::context_api
to get theContextApi
used by the context. - Added missing implementations of
Surface::{width,height}
for WGL/CGL - Fixed crash when accessing context from the off-thread on macOS.
- Clarified that
make_{,not}_current()
,GlSurface::width()
,GlSurface::height()
, andGlSurface::resize()
could block on macOS.
- Fixed wrong amount of rects commited in
Surface::swap_buffers_with_damage
with EGL. - Added missing
Eq
,PartialEq
, andHash
impls forsurface::Rect
.
- Fixed robust context creation with EGL.
- Moved to stable version of
wayland-sys
. - Allow offline renderers with CGL.
- Fixed an error when compiling the EGL backend with only one of Wayland and X11 enabled.
- Added new
glutin-winit
crate to help bootstrapping newglutin
withwinit
. - Added
EGLDevice
wrappers for EGL. - Added EGL dependent api to make a context current without a surface.
- Added
supports_transparency
onGlConfig
. - On GLX, try all extensions when setting vsync.
- On WGL, fixed that
Surface::swap_buffers
takes longer with every call caused by frequent calls of the win32 functionHDC GetDC(HWND hWnd)
.
- This version of
glutin
has been rewritten from the ground and no longer depends onwinit
, theraw-window-handle
is now used instead of it. - The Api is now built around
Display
,Surface
,Config
, andSurface
. For more info see crate documentation and examples. - Breaking: Bump MSRV from
1.57
to1.60
. - 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 beforeEGLSurface
could be sent to a different thread, which is not safe. - Fallback to
Surface::swap_buffers
whenSurface::swap_buffers_with_damage
is not supported onEGL
.
- Fix build failures when building from crates.io
- Fix crash when creating OpenGLES context without explicit version.
- Add
buffer_age
method onWindowedContext
. - Return an
Err
instead of panicking when surfaceless GLX context creation fails on Linux. - Fix compilation on Android:
- Switch from
StaticStructGenerator
toStructGenerator
to dynamically load symbols. - Replace
android_glue
dependency withraw-window-handle
, and remove broken lifecycle event handling. - Glutin can now be used on Android, however, the application must ensure it only creates the
Context
following a winitEvent::Resumed
event, and destroys theContext
in response to aEvent::Suspended
event.
- Switch from
- Updated winit dependency to 0.27.0. See winit's CHANGELOG for more info.
- On Windows,
build_raw_context
now usesisize
forhwnd
to follow winit change.
- On Windows, fixed a panic for headless contexts because of active drag-and-drop (OleInitialize failed! Result was:
RPC_E_CHANGED_MODE
) - Updated winit dependency to 0.26.0. See winit's CHANGELOG for more info.
- Remove emscripten support leftover.
- Updated winit dependency to 0.25.0. See winit's CHANGELOG for more info.
- Updated winit dependency to 0.24.0. See winit's CHANGELOG for more info.
- X11 and Wayland are now optional features (enabled by default)
- Updated winit dependency to 0.23.0. See winit's CHANGELOG for more info.
- Avoid loading libEGL.dll from PATH on Windows.
- On X11, Fixed unnecessary instantiation of GLX/EGL
- Updated winit dependency to 0.22.0. See winit's CHANGELOG for more info.
- Updated winit dependency to 0.21.0. See winit's CHANGELOG for more info.
- Removed broken CI for the
armv7-apple-ios
target.
- Fixed incorrectly documented default value for
ContextBuilder::with_srgb
- Updated winit dependency to 0.20.0. See winit's CHANGELOG for more info.
- Fixed dependencies so wrong winit version is not used.
- On X11, got rid of mistaken
XRenderFindVisualFormat
call so that glutin doesn't ignore configs that lack aXRenderPictFormat
. - On iOS, fixed not linking against OpenGLES.framework.
- On X11, fixed VSync not being disabled when requested.
- Fixed build issue.
- Update winit dependency to 0.20.0-alpha4. See winit's CHANGELOG for more info.
- Added an xcode example for building for iOS.
- Made using sRGB the default.
- MacOSX's raw_handle trait method now returns the CGLContext object.
- Switched from needing a
EventLoop
to aEventLoopWindowTarget
- Fixed attribute handling for sRGB in WGL.
- Fixed VSync being always enabled on EGL.
- Backport: We now load
libGL.so
instead oflibGLX.so
.
- Update winit dependency to 0.20.0-alpha1. See winit's CHANGELOG for more info.
- Bumped dependencies, fixed docs.
- Bumped dependencies.
- Breaking: Removed
DisplayLost
variant toContextError
. - Breaking: Renamed
NotCurrentContext
toNotCurrent
. - Breaking: Renamed
PossiblyCurrentContext
toPossiblyCurrent
. - Added
treat_as_current
function.
- Breaking: Replaced
CreationErrorPair
enum variant withCreationErrors
. - Added
Clone
toContextBuilder
. - Added headless example.
- Removed internal code relating to libcaca.
- Implemented
Debug
on all public facing types. - Dropping contexts on platforms using egl and/or glx no longer resets the current context, if the context dropped wasn't the current context.
- Added context sharing support to MacOS.
- Breaking: Removed
ContextTrait
. - Breaking: Renamed
OsMesaContextExt
toHeadlessContextExt
. Added functions for using egl-surfaceless. - Breaking: Changed
WindowedContext
andRawContext
into typedefs ofContextWrapper
. - Breaking: Removed
new_windowed
andnew_headless
fromWindowedContext
andContext
, respectively. - Breaking: Added two new types,
NotCurrentContext
andPossiblyCurrentContext
, whichRawContext
,WindowedContext
,ContextBuilder
andContext
are now generic over. - Added
{make,treat_as}_not_current
function to{Raw,Windowed,}Context
. - We now load
libGL.so
instead oflibGLX.so
. - Breaking: Added
DisplayLost
variant toContextError
. - Fixed bug where we drop the hidden window belonging to a headless context on on X11 and/or Wayland before the actual context.
- "Fixed" bug where we will close
EGLDisplay
s while they are still in use by others. Angry and/or salty rant can be found inglutin/src/api/egl/mod.rs
, you can't miss it. - Breaking:
WindowedContext
s now deref toContext
, notWindow
. Please use.window()
to access the window.
- We no longer load
libEGL.so
andlibGL.so
multiple times. - Fixes
Context::is_current
incorrectly returningfalse
. - Made
ContextBuilder
'spf_reqs
public. - Breaking: Renamed
GlContext{,Ext}
toContextTrait{,Ext}
. - Breaking: Renamed
GlWindow
toWindowedContext
. - Implemented context sharing support for Windows and Linux.
- Added support for contexts made from raw parts for Windows and Linux.
- Breaking: Removed
shareable_with_windowed_contexts
. Now you must build OsMesa contexts via a separate extension. - Added
ContextBuilder::build_{windowed,headless}
methods. - Breaking: Renamed
Context::new
toContext::new_headless
.new_headless
now accepts dimensions for the off-screen surface backing it. - Breaking: Renamed
GlWindow::new
toWindowedContext::new_windowed
. - On X11 and Wayland, you can now use shared contexts, however, one limitation of the Wayland backend is that all shared contexts must use the same events pool as each other.
- Added context sharing support to windows.
- Improved docs.
- Refactored code to be more consistent/cleaner. Ran rustfmt on everything.
- Added NetBSD support.
- Breaking: Removed
new_shared
function fromContext
andGlWindow
, in favor ofnew
. - Added
build
method toContextBuilder
. - Added
get_egl_display
method toGlContextExt
trait and its implementation for platforms. - Removed minimum supported Rust version guarantee.
NoBackendAvailable
is nowSync
, as a resultCreationError
is alsoSync
.- Update winit dependency to 0.19.0. See winit's CHANGELOG for more info.
- Breaking: The entire API for headless contexts has been removed. Please instead use
Context::new()
when trying to make a context without a visible window. Also removedheadless
feature. - Breaking: Types implementing the
GlContext
trait must now be sized. - Breaking: Added new
CreationErrorPair
enum variant to enumCreationError
. - Remove requirement for EGL dev packages on Wayland.
- Update winit dependency to 0.18.0. See winit's CHANGELOG for more info.
- cocoa and core-graphics updates.
- Breaking: Added
OsError
variant toContextError
. - Improved glX error reporting.
- The iOS backend no longer fails to compile... again (added iOS testing on CI to prevent further issues).
- Update winit dependency to 0.17.0. See winit's CHANGELOG for more info.
- Fix regression that prevented automatic graphics switching in macOS (#980).
- Add
ContextBuilder::with_double_buffer
function. - Add
ContextBuilder::with_hardware_acceleration
function. - Work around a presumed Android emulator bug
that would cause context creation to return
CreationError::OpenGlVersionNotSupported
in some configurations (#1036). - Update winit dependency to 0.16.0. See winit's CHANGELOG for more info.
- The iOS backend no longer fails to compile.
- Update winit dependency to 0.14.0. See winit's CHANGELOG for more info.
- Update winit dependency to 0.15.0. See winit's CHANGELOG for more info.
- Update winit dependency to 0.13.0. See winit's CHANGELOG for more info.
- Update winit dependency to 0.12.0. See winit's CHANGELOG for more info.
- Update Wayland backend to not use deprecated
get_inner_size_points
method.
- Fix Android activity life cycle.
- Update winit dependency to 0.11.2. See winit's CHANGELOG for more info.
- Update winit dependency to 0.11.1. See winit's CHANGELOG for more info.
- Don't use yanked version of winit.