98: Map present modes and more r=kvark a=grovesNL
Present modes:
- Update to latest gfx
- Expose relevant present modes in `gfxGetPhysicalDeviceSurfacePresentModesKHR`
- Map present modes to HAL and back
Instance/device creation (with these changes we pass 10/13 of `dEQP-VK.api.device_init`, the other 3 are not supported for now):
- Handle null instance/device and whether required extensions (although the check is not comprehensive for now) have been enabled in `gfxGet{Instance|Device}ProcAddr` – this fixes `dEQP-VK.api.version_check.entry_points`
- Check API version to fix `dEQP-VK.api.device_init.create_instance_invalid_api_version`
- Verify that the provided instance/device extension names are valid – fixes a couple more tests in `dEQP-VK.api.device_init`
- Verify that the requested features are supported - fixes `dEQP-VK.api.device_init.create_device_unsupported_features`
Co-authored-by: Joshua Groves <josh@joshgroves.com>
96: Transmute enum values r=kvark a=grovesNL
Transmutes enum values instead of matching, also adds mapping for stencil op and logic op.
Depends on gfx-rs/gfx#2132
Co-authored-by: Joshua Groves <josh@joshgroves.com>
87: Add support for renderdoc capturing (dx12 only) r=kvark a=msiglreith
Blocked on a new renderdoc-rs release (and merging gfx-rs PR).
Automatically creates a capture when enabling the `portability-gfx/renderdoc` feature. Works only if no swapchain is attached and dx12 only atm.
Primary use case are CTS tests.
Co-authored-by: msiglreith <m.siglreith@gmail.com>
83: Remove tiling assert r=kvark a=grovesNL
As far as I can tell, we shouldn't need this assert anymore because we already perform the mapping immediately below.
Unless there is another reason it needs to stay (maybe validating against image format queries?), let's remove it because it causes other unrelated tests to fail.
Co-authored-by: Joshua Groves <josh@joshgroves.com>
75: Use rasterizer discard r=kvark a=grovesNL
Stop setting the fragment shader and other states as stated in the spec when rasterizer discard is set. (Should anything else be disabled?)
Fixes segfaults in `dEQP-VK.api.descriptor_set.descriptor_set_layout_lifetime.graphics` on Metal (with gfx-rs/gfx#2035 fix)
Co-authored-by: Joshua Groves <josh@joshgroves.com>