131: gfx-rs update for the swapchain configuration r=msiglreith a=kvark
This should probably wait for https://github.com/gfx-rs/gfx/pull/2325
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
130: Log gfx errors r=kvark a=grovesNL
Adds `error!` to returned `Err`s in a few places – device creation, pipeline creation, and descriptor set allocation.
Co-authored-by: Joshua Groves <josh@joshgroves.com>
127: gfx update and GFX_METAL_STITCHING environment option r=kvark a=kvark
This is fairly straightforward.
Also notice the new `make molten-links` command.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
124: Build with panic=abort r=kvark a=jrmuizel
This drops the size of libportability.dylib from 2.4M to 2.1M and
gives the compiler better opportunities for optimization.
Co-authored-by: Jeff Muizelaar <jmuizelaar@mozilla.com>
123: Update gfx-rs and use GFX_METAL_RECORDING environment r=kvark a=kvark
For benchmarking dota, one can now use `make dota-bench-gfx GFX_METAL_RECORDING=deferred`
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
121: Descriptor iterator r=msiglreith a=kvark
This PR reduces the amount of magic going on during the descriptor writes, makes us move less stuff on the stack.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
114: Handle unused depth stencil subpass attachments r=kvark a=msiglreith
Treating VK_UNUSED_ATTACHMENT case same way as passing NULL for the depth stencil attachment.
Co-authored-by: msiglreith <m.siglreith@gmail.com>
113: Robust descriptor release, safe handle access, more iterator usage r=msiglreith a=kvark
This is super important, has 3 parts:
- fixed and refined descriptor set allocation (now calling `free` on failure)
- added a check to `Handle` be valid on any access, this catches the Dota bug in all configurations and is hugely important for us to avoid undefined behavior in the future
- removes a few `Vec::collect()` occurrences in favor of iterators
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
110: Expose VK_KHR_maintenance1 and fix the descriptor allocation fall back r=msiglreith a=kvark
Depends on https://github.com/gfx-rs/gfx/pull/2202
cc @fkaa
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
108: fix overly conservative function pointer retrieval r=kvark a=msiglreith
Addresses some parts of https://github.com/gfx-rs/portability/pull/98
Current implementation rejects too agressively which is not required, in most cases the spec defines the returned pointers as undefined. InstanceProcAddr also doesn't correctly retrieve some device proc addresses.
CTS looks fine
(9 green, 3 unsupported, `dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail` crashes but seems unrelated)
cc @grovesNL
Co-authored-by: msiglreith <m.siglreith@gmail.com>