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>
74: [WIP] Implement resolve_image r=kvark a=AIOOB
This change causes `make cts` to lock up my computer after it gets to a certain test, that test alone doesn't crash it but something seems to reach a critical point. I have no idea how to debug this, so good luck if you decide to replicate this and make sure everything is saved 😄
Co-authored-by: AIOOB <jack@rickard.plus.com>
73: Store mip_levels and array_layers for images r=kvark a=AIOOB
Vulkan allows users to not specify the upper bound in `SubresourceRange` and `SubresourceLayers`, this stores the values when the image is created in order to fill in these values if they are not specified.
It also adds an `expect` function to `Image` and `Buffer` to allow simpler retrieval of a bound image.
Co-authored-by: AIOOB <jack@rickard.plus.com>
68: Multisampling support r=kvark a=msiglreith
* Update gfx-rs version
* Support multisampling
* Fix handling of VK_WHOLE_SIZE for flushes and invalidation
Co-authored-by: msiglreith <m.siglreith@gmail.com>
67: Fix some null handles r=kvark a=grovesNL
Fixes some null handle CTS tests (from the wiki):
- dEQP-VK.api.null_handle.destroy_command_pool
- dEQP-VK.api.null_handle.destroy_device
- dEQP-VK.api.null_handle.free_command_buffers
Technically the `instance.unbox().unwrap().adapters` change wasn't needed for these three, but it may have been impacting other tests anyway.
Co-authored-by: Joshua Groves <josh@joshgroves.com>