235: Using a RawWindowHandle with hal::create_surface for multi-backend compatibility r=kvark a=ElArtista
Co-authored-by: TheArtist <agorglouk@gmail.com>
230: Update gfx with swapchain readback support r=kvark a=kvark
Based on https://github.com/gfx-rs/gfx/pull/3424
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
221: Support VK_KHR_portability_subset r=kvark a=kvark
Our extension IDs were messed up. Good thing to clean them up now, since otherwise nobody would be able to make this work 😅
Also, the test native example is now fully trying to initialize the portability extension and gather the relevant info. Output on my machine:
```
vkEnumerateInstanceExtensionProperties: res=0 count=5
vkEnumeratePhysicalDevices: res=0 count=1
vkEnumerateDeviceExtensionProperties: res=0 count=3
gfxGetPhysicalDeviceProperties2KHR
minVertexInputBindingStrideAlignment = 4
gfxGetPhysicalDeviceFeatures2KHR
events = 1
pointPolygons = 0
separateStencilMaskRef = 1
triangleFans = 0
```
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
205: Update to 2018 edition r=kvark a=krolli
This PR implements #179. Most of the work was done by `cargo fix --edition`.
Co-authored-by: Martin Krošlák <kroslakma@gmail.com>
204: Fix rustc warnings r=kvark a=krolli
This PR fixes warnings encountered with stable 1.40.0 rust toolchain. The most interesting issue is likely switch from `mem::zeroed()` and related functions to `MaybeUninit`.
While `mem::zeroed()` is not marked deprecated in the same way as `mem::uninitialized()` is, compiler still threw warning on it. However, in this case it may have been causing undefined behavior, as `EntryPoint` contains references which may not be null. Another option here would be using `Option` instead of `MaybeUninit`, which would be completely safe with some extra checks. Since original code didn't, and because valid Vulkan use requires exactly one vertex shader, I chose to use `MaybeUninit` instead.
Co-authored-by: Martin Krošlák <kroslakma@gmail.com>