Commit graph

419 commits

Author SHA1 Message Date
Dzmitry Malyshau 335d42b466 Implement debug markers, avoid taking a zero-sized slice from raw data. 2020-09-28 23:13:38 -04:00
Dzmitry Malyshau 57b5996a91 Gfx dependency update 2020-09-28 23:13:38 -04:00
Dzmitry Malyshau eaad40edc8 Remove extern C function definitions from libportability-gfx 2020-09-25 23:45:29 -04:00
Dzmitry Malyshau d0a798f569 Add missing entry points for VK_KHR_get_physical_device_properties2 and VK_KHR_maintenance1 2020-09-23 01:31:59 -04:00
bors[bot] ad2e228947 Merge #222
222: Add basic iOS target r=kvark a=kvark

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-09-20 00:23:13 -04:00
Dzmitry Malyshau 9ca2bb9ddb Add basic iOS target 2020-09-19 23:12:22 -04:00
bors[bot] e109587bf0
Merge #221
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>
2020-09-20 00:57:19 +00:00
Dzmitry Malyshau 46e35f8a19 Add monocodus config to disable clang-tidy 2020-09-19 20:54:28 -04:00
Dzmitry Malyshau 2d0aeb66e7 Support VK_KHR_portability_subset 2020-09-19 20:54:21 -04:00
bors[bot] a81b5a4f21
Merge #220
220: Support more than one frame in flight r=kvark a=kvark

Fixes #219 
![portability-dota2](https://user-images.githubusercontent.com/107301/92435144-9d3e6f80-f16f-11ea-91d3-8bffbb36dc44.jpg)


Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-09-08 05:07:43 +00:00
Dzmitry Malyshau 871cc90b09 Support more than one frame in flight 2020-09-08 01:06:45 -04:00
Dzmitry Malyshau cbaf5ba24e Switch CI to github actions 2020-08-25 23:09:09 -04:00
Dzmitry Malyshau 8dcbf11d89 gfx update with metal MSAA clear fix 2020-08-24 01:12:43 -04:00
Dzmitry Malyshau bbd2e78d26 Support recording swapchain commands from multiple threads 2020-08-23 10:50:38 -04:00
Dzmitry Malyshau d4fbf6c0a8 Update gfx with the metal clear_image fix 2020-08-23 00:19:05 -04:00
Dzmitry Malyshau 1c8ba98fd1 Update gfx with the border color changes 2020-08-23 00:19:05 -04:00
Dzmitry Malyshau 47bbd375b3 Fix the difference in clear attachment data with gfx 2020-08-22 01:41:42 -04:00
Dzmitry Malyshau 7034f366b3 Add basic support for VK_KHR_portability_subset 2020-08-22 01:41:42 -04:00
Dzmitry Malyshau bb40160a6a Convert the rest of functions to unsafe 2020-08-22 01:41:42 -04:00
Dzmitry Malyshau 8ccdddda2e Update to latest gfx, mark some of the methods unsafe 2020-08-22 01:41:42 -04:00
Dzmitry Malyshau 3c68e62cdf Update gfx dependencies 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau 7962ce0d8b Support VK_KHR_get_surface_capabilities2 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau 1b19af0f5d Port all the limits 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau d6a92224ab Fake fence semantics 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau 13773ea162 Fix push constant ranges 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau bef4517f83 Port to the new swapchain model 2020-08-05 13:08:29 -04:00
Dzmitry Malyshau 0a7426f847
Merge pull request #215 from gfx-rs/kvark-staticlib
Add staticlib target for libportability
2020-06-04 12:02:28 -04:00
Dzmitry Malyshau 7e80b10bfa
Add staticlib target for libportability 2020-06-04 11:27:17 -04:00
bors[bot] 8be1de3d3d
Merge #209
209: Update to gfx-hal-0.5 r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-27 04:39:03 +00:00
Dzmitry Malyshau a66a3baeb8 Update to gfx-hal-0.5 2020-03-27 00:38:01 -04:00
bors[bot] 72d8338290
Merge #205
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>
2020-01-26 21:38:29 +00:00
Martin Krošlák 46776f5bcf Update to 2018 edition 2020-01-25 09:03:23 +01:00
bors[bot] 4958223f8e
Merge #204
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>
2020-01-23 13:07:35 +00:00
Martin Krošlák 6ad83bed4c Fix rustc warnings 2020-01-23 06:36:10 +01:00
bors[bot] 988fb7547c
Merge #203
203: Update gfx-hal r=kvark a=krolli

Update of portability to use the most recent version gfx-hal. Also cleaned up formatting with rustfmt to reduce noise in commit with actual update of gfx-hal.

Co-authored-by: Martin Krošlák <kroslakma@gmail.com>
2020-01-22 20:24:38 +00:00
Martin Krošlák 7c28bd34ef Update gfx-hal 2020-01-20 20:45:07 +01:00
Martin Krošlák 9f5d97a43c Format code using rustfmt 2020-01-20 20:38:55 +01:00
bors[bot] a9edbc0337
Merge #202
202: Added vkGetPhysicalDeviceWin32PresentationSupportKHR r=kvark a=SaschaWillems

This PR adds vkGetPhysicalDeviceWin32PresentationSupportKHR, which will allow applications that query this work with gfx-portability. One such application is my Vulkan Hardware Capability Viewer.

Adding this function will also silences a Vulkan loader debug message that is shown for ICDs not implementing vkGetPhysicalDeviceWin32PresentationSupportKHR.

The implementation will always just return true.

Co-authored-by: Sascha Willems <webmaster@saschawillems.de>
2019-10-24 20:48:59 +00:00
Sascha Willems 421443fa05 Added vkGetPhysicalDeviceWin32PresentationSupportKHR 2019-10-23 20:56:59 +02:00
bors[bot] eac7f6b477
Merge #201
201: fixes crash when enumerating on some systems r=kvark a=Hugobros3

Was crashing when calling `vulkaninfo`. I did some digging:

In gfxEnumeratePhysicalDevices, there is some logic for dealing with the cases where the slots allocated by the caller aren't enough to fit all the adapters the implementation has available. This logic has a flaw though, because it doesn't account for the cases where `num_output` is greater than the numbers of adapters gfx has to offer, and in that case the output is oversized wrt to the adapters we have to fit inside.

This matches both sides for calling copy_from_slice in that function. Not sure why this happens, I have a proper vulkan-ready device in this computer with a "proper" driver too, which may or may not explain it ? I'm not knowledgeable enough on how the loader and everything works to make a definitive statement. 

This made things work on my pc so ¯\\_(ツ)_/¯

Co-authored-by: Gobrosse <hugo@xol.io>
2019-10-11 14:47:36 +00:00
Gobrosse 50a59c91de fixes crash when enumerating on some systems
matches both sides for calling copy_from_slice in
gfxEnumeratePhysicalDevices()
2019-10-11 12:34:37 +02:00
bors[bot] 9926fe0729
Merge #200
200: Update gfx-hal r=kvark a=aleksijuvani



Co-authored-by: Aleksi Juvani <aleksi@aleksijuvani.com>
2019-09-13 14:32:01 +00:00
Aleksi Juvani 7bccd08688 Update gfx-hal 2019-09-13 17:16:03 +03:00
bors[bot] 0142549521
Merge #199
199: Add missing limits r=kvark a=aleksijuvani



Co-authored-by: Aleksi Juvani <aleksi@aleksijuvani.com>
2019-09-09 14:30:53 +00:00
Aleksi Juvani e1ba0b2d52 Add missing limits 2019-09-09 16:14:16 +03:00
bors[bot] 2cdb4c21bb Merge #198
198: gfx-hal update with swapchain ranges r=msiglreith a=kvark

Also added a small batch file with commands I used to run the CTS. Having them in Makefile is unfortunately not very helpful on Windows.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-08-04 21:08:33 +00:00
Dzmitry Malyshau 96f89d9bb1 gfx-hal update with swapchain ranges 2019-08-02 22:23:34 -04:00
bors[bot] 869ea61d58 Merge #196
196: gfx-hal updated, non-normalized coordinates r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-07-19 19:48:44 +00:00
Dzmitry Malyshau 418dbd6647 gfx-hal updated, non-normalized coordinates 2019-07-19 15:47:36 -04:00
bors[bot] 1c822e9d50 Merge #195
195: gfx-hal update, gfxGetPhysicalDeviceProperties2KHR implementation r=msiglreith a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-07-03 22:06:14 +00:00