KhronosGroup / KhronosGroup/Vulkan-Portability

[meta] D3D12 portability concerns

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Direct3D
Dominant language
No language data
Stars
45
Forks
7
PR merge metrics
No merged PRs in 30d

Description

(this list is to be edited)
- [ ] unnormalized sampler coordinates - https://github.com/gfx-rs/gfx/issues/2883
- [ ] primitive restart index - https://github.com/gfx-rs/gfx/issues/1510
- [x] D3D12 command allocator (analogue of `VkDescriptorPool`) only allows one command list to be recorded at a time. I thought that we could add a flag for that, since most users don't get affected by this limitation. In the end, we implemented a scheme that dynamically juggles the allocators to avoid this problem in https://github.com/gfx-rs/gfx/pull/3393.
- [x] sampler heap limitation of 2048. This prevents users to create descriptor pools with more than 2048 samplers - https://github.com/gfx-rs/gfx/issues/2652
- [ ] some of the pipeline states (that can be static or dynamic in Vulkan) are strictly static in D3D12. Namely, depth bias and stencil read/write masks. I suggest we have this restriction encoded in the portability spec. https://github.com/gfx-rs/gfx/issues/3441
- [ ] unable to reset a resource state with `VK_IMAGE_LAYOUT_UNDEFINED` - https://github.com/gfx-rs/gfx/issues/3401
- [ ] `VK_IMAGE_LAYOUT_GENERAL` supports all operations, but `D3D12_RESOURCE_STATE_COMMON` is read-only - https://github.com/gfx-rs/gfx/issues/2503
- [ ] similarly, access flags for `VkBuffer` do not directly map to D3D12 mutable resource states
- [ ] buffer transitions are for whole resource, there is no sub-range transition
- [x] no truly coherent memory - https://github.com/gfx-rs/gfx/issues/3432

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the linked gfx-rs issues and the unchecked D3D12/Vulkan portability concerns, starting with the entries that have no linked issue. Determine which limitations belong in the portability specification and update this checklist so each concern has a clear disposition and supporting reference.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.