glutin

A low-level library for OpenGL context creation, written in pure Rust.

APACHE-2.0 License

Downloads
19.9M
Stars
2K

Bot releases are hidden (Show)

glutin - Glutin Version v0.29.0

Published by kchibisov about 2 years ago

  • Fix crash when creating OpenGLES context without explicit version.
  • Add buffer_age method on WindowedContext.
  • Return an Err instead of panicking when surfaceless GLX context creation fails on Linux.
  • Fix compilation on Android:
    • Switch from StaticStructGenerator to StructGenerator to dynamically load symbols.
    • Replace android_glue dependency with raw-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 winit Event::Resumed event, and destroys the Context in response to a Event::Suspended event.
  • Updated winit dependency to 0.27.0. See winit's CHANGELOG for more info.
  • On Windows, build_raw_context now uses isize for hwnd to follow winit change.
glutin - Glutin Version v0.28.0

Published by kchibisov almost 3 years ago

  • 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.
glutin - v0.27.0

Published by maroider over 3 years ago

glutin - Glutin Version 0.26.0

Published by kchibisov almost 4 years ago

glutin - Glutin Version 0.25.1

Published by kchibisov about 4 years ago

  • X11 and Wayland are now optional features (enabled by default)
glutin - v0.25.0

Published by kchibisov about 4 years ago

  • Updated winit dependency to 0.23.0. See winit's CHANGELOG for more info.
  • Avoid loading libEGL.dll from PATH on Windows.
glutin - v0.21.0

Published by goddessfreya over 5 years ago

  • Added treat_as_current function.
  • Breaking: Replaced CreationErrorPair enum variant with CreationErrors.
  • Added Clone to ContextBuilder.
  • 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 to HeadlessContextExt. Added functions
    for using egl-surfaceless.
  • Breaking: Changed WindowedContext and RawContext into typedefs of
    ContextWrapper.
  • Breaking: Removed new_windowed and new_headless from WindowedContext
    and Context, respectively.
  • Breaking: Added two new types, NotCurrent and PossiblyCurrent,
    which RawContext, WindowedContext, ContextBuilder and Context are now
    generic over.
  • Added {make,treat_as}_not_current function to {Raw,Windowed,}Context.
  • We now load libGL.so instead of libGLX.so.
  • 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 EGLDisplays while they are still in use by
    others. Angry and/or salty rant can be found in glutin/src/api/egl/mod.rs,
    you can't miss it.
  • Breaking: WindowedContexts now deref to Context, not Window.
    Please use .window() to access the window.
glutin - v0.20.0

Published by goddessfreya over 5 years ago

  • We no longer load libEGL.so and libGL.so multiple times.
  • Fixes Context::is_current incorrectly returning false.
  • Made ContextBuilder's pf_reqs public.
  • Breaking: Renamed GlContext{,Ext} to ContextTrait{,Ext}.
  • Breaking: Renamed GlWindow to WindowedContext.
  • 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 to Context::new_headless. new_headless now accepts dimensions for the off-screen surface backing it.
  • Breaking: Renamed GlWindow::new to WindowedContext::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 from Context and GlWindow, in favor of new.
  • Added build method to ContextBuilder.
  • Added get_egl_display method to GlContextExt trait and its implementation for platforms.
  • Removed minimum supported Rust version guarantee.
  • NoBackendAvailable is now Sync, as a result CreationError is also Sync.
  • Update winit dependency to 0.19.0. See winit's CHANGELOG for more info.
glutin - v0.19.0

Published by francesca64 almost 6 years ago

  • 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 removed headless feature.
  • Breaking: Types implementing the GlContext trait must now be sized.
  • Breaking: Added new CreationErrorPair enum variant to enum CreationError.
  • Remove requirement for EGL dev packages on Wayland.
  • Update winit dependency to 0.18.0. See winit's CHANGELOG for more info.
glutin - v0.18.0

Published by francesca64 about 6 years ago

  • cocoa and core-graphics updates.
  • Breaking: Added OsError variant to ContextError.
  • 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.
glutin - v0.17.0

Published by francesca64 over 6 years ago

  • 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.