gfx-rs / gfx

[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
http://gfx-rs.github.io/
Apache License 2.0
5.35k stars 549 forks source link

[dx11] Support FL10 and expose a beginning set of support flags #3660

Closed cwfitzgerald closed 3 years ago

cwfitzgerald commented 3 years ago

Makes progress towards https://github.com/gfx-rs/wgpu/issues/1244.

I'm not terribly happy with the downlevel feature flags as they are, but I hope to improve them/make them more concrete in a future PR, so I'm not worried about that too much.

Diff isn't very pretty as I didn't split things up.

cwfitzgerald commented 3 years ago

Alright, I have touched up the various issues, as well as improved the d3d11 limits a bit. As mentioned on the matrix, I think we should use D3D's concept of shader models as they are very well defined and we can easily map other versioning schemes onto them. I have also de-backend'd the other flags. I haven't included a description of what various shader modules support but will include a better description once this bubbles up to wgpu.

cwfitzgerald commented 3 years ago

Alright, comments should be addressed, assuming the compile gods are nice to me. You should briefly re-review as some logic related to feature/downlevel checking changed.

bors[bot] commented 3 years ago

Build succeeded: