56: Support for Vulkan Samples with ICD r=kvark a=msiglreith
Add a few missing piece to get Vulkan Samples working with ICD (dx12, windows):
* Expose device extensions (partially)
* Expose addr to CreateWin32SurfaceKHR
Additionally, fixing vkMapMemory for the `VK_WHOLE_SIZE` case.
Co-authored-by: msiglreith <m.siglreith@gmail.com>
54: Implement ResetFences and GetFenceStatus r=kvark a=AIOOB
My drivers seem to be a bit odd so these measurements may need to be repeated.
I have added an error on `gfxCreateEvent` to workaround it causing the CTS to crash as events are not currently supported by Vulkan portability.
Co-authored-by: AIOOB <jack@rickard.plus.com>
53: Device leak fix, Cargo lock r=msiglreith a=kvark
The motivation behind including the lock is: no rust library is going to link to us anyway, so this crate is the head of the dependency graph, and doing a single `cargo update` is simpler for updates than figuring out the revision ids manually.
Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
52: Return VK_INCOMPLETE for partial physical device enumeration r=kvark a=grovesNL
Trivial fix for `dEQP-VK.api.info.instance.physical_devices: Query didn't return VK_INCOMPLETE(Fail)` (only tested with Metal CTS).
[Reference:](https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumeratePhysicalDevices.html)
> If pPhysicalDeviceCount is smaller than the number of physical devices available, VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available physical devices were returned.
Co-authored-by: grovesNL <josh@joshgroves.com>
50: First CTS results on OSX r=msiglreith a=kvark
Results are based on my local modified CTS code, upstreaming is on the roadmap.
Currently passing 6 tests only. Way forward is blocked by https://github.com/gfx-rs/gfx/issues/1911
49: Update gfx with image_format_properties r=msiglreith a=kvark
Reached ~100 failures on Linux 🎉
I believe there is still work to do for the image format queries, so this number can be brought down.
46: Fix physical device enumeration and add dummy features r=kvark a=msiglreith
Vulkan loader expects that EnumeratePhysicalDevices will return the same handles on each call. Caching them on startup
44: Fix dispatchable handles r=kvark a=msiglreith
Temporarily disables command buffer freeing.
Allows to run first CTS tests on dx12 with the ICD layer.
25: Basic support for Metal r=msiglreith a=kvark
Addresses part of #24
~~I haven't actually made it running, since the lack of "vulkan.h" on the system. We should be packing it in this project. But at least the code builds now on Metal.~~
Update: PR has been revived. Metal builds and executes just fine up to the point where window integration is needed - leaving for the follow-ups (help is appreciated!).
39: Basic env_logger hookup r=msiglreith a=kvark
Not CI tested but fairly simple and nothing bad will happen if it breaks.
Developer can manually enable the feature for local debugging.