47 releases
0.9.1 | Jul 1, 2021 |
---|---|
0.8.0 | Apr 29, 2021 |
0.7.0 | Jan 30, 2021 |
0.6.13 | Nov 4, 2020 |
0.1.0 | Dec 27, 2018 |
#692 in Graphics APIs
10,078 downloads per month
Used in 119 crates
(8 directly)
735KB
14K
SLoC
gfx-backend-dx12
DX12 backend for gfx.
Normalized Coordinates
Render | Depth | Texture |
---|---|---|
Binding Model
Dimensions of the model:
- Space: 0..8
- Binding (tight): constant buffers (CBV), shader resources (SRV), unordered access (UAV), samplers
Mirroring
TODO
lib.rs
:
D3D12 backend internals.
Resource transitions
Vulkan semantics for resource states doesn't exactly match D3D12.
For regular images, whenever there is a specific layout used, we map it to a corresponding D3D12 resource state.
For the swapchain images, we consider them to be in COMMON state everywhere except for render passes, where it's forcefully transitioned into the render state. When transfers to/from are requested, we transition them into and from the COPY_ states.
For buffers and images in General layout, we the best effort of guessing the single mutable state based on the access flags. We can't reliably handle a case where multiple mutable access flags are used.
Dependencies
~8.5MB
~174K SLoC