* Use winit's hinstance() function
* Require HasRawWindowHandle for the window and remove handle parameter
Co-authored-by: Antonino Siena <a.siena@gmx.de>
* Feature: Create a Surface from a RawWindowHandle
* Comment on the new features
* Updated changelog
* Corrected feature name
* Compiler error corrections
* Empty commit for CI
Co-authored-by: Antonino Siena <a.siena@gmx.de>
* implement exclusive fullscreen
* fullscreen ext should be device ext
* add acquire/release
* require VK_KHR_get_surface_capabilities2
* fullscreen_exclusive is now an enum; explicit acquire/release methods added; FullscreenExclusiveError added to handle errors; FullscreenExclusiveLost varients added to acquire and present related errors
* add checks for double acquire/release; require AppControlled for acquire/release functions
* update examples and tests; resolve issue with try_gpu_lock() on SwapchainImage; update changelogs
* Version change
* Allowed surface creation with winit >= 0.20
* Latest winit version
* Migrate to latest winit
* Migrated all examples to the latest winit version
* Version increment
* Formatting change
* Removed trailing white space
* Corrected method calls
* Missing _ in OSX methods
* Minor version change
* Minor version change
* Allow Surface to reference an external window object
This makes the Surface struct generic across a Window
type, so that a surface can own (or reference, if W is
an Arc) an external window object.
This also updates vulkano-win to take advantage of this.
There is no longer a dedicated Window struct in vulkano-win.
Instead, the Surface is simply passed ownership of the
winit::Window.
This fixes#844
* Update examples for new surface API
* Update Changelog
* Remove unnecessary send/sync bounds
* Update swapchain docs for new Surface behavior
* Fixed the layer scaling issue on macOS. Changed the triangle example to use the surface extents instead of window dimensions, as that seems to be a more robust source of correct information.
* Updated changelog. Fixed other examples' window extent problem.
This commit changes the definitions for `window` in `XlibSurfaceCreateInfoKHR`
and `XcbSurfaceCreateInfoKHR` with to `u64` (xlib) and `u32` (xcb) (see
definitions below).
`vk-sys` defined `XlibSurfaceCreateInfoKHR` and `XcbSurfaceCreateInfoKHR` with
`pub window: *const c_void`. This propagates through to the API in
`vulkano::swapchain::Surface::from_{xlib,xcb}()`. As the native window types
in xcb/xlib are defined as unsigned ints, this may lead to the belief that a
pointer to such an integer is required. `vulkano` will create a `Surface` but
this surface will not be supported by any queue family.
xlib: https://cgit.freedesktop.org/xorg/proto/x11proto/tree/X.h#n96 and
https://cgit.freedesktop.org/xorg/proto/x11proto/tree/X.h#n66
(search `Windows`)
xcb: https://xcb.freedesktop.org/manual/group__XCB____API.html
(search `xcb_window_t`)