Describe your problem
The current descriptor management solution works fine, if the descriptors are allocated from DescriptorSets. However, some external libraries (i.e., Dear ImGui) use low-level access to descriptors. In this case, allocating a proxy descriptor set just to invoke the underlying device interface to update the descriptors manually appears very unintuitive and is overly restrictive.
Describe your proposed solution
The descriptor management on the DirectX12Device should receive a more bare-bones overload that allows to allocate and release individual descriptor ranges on the ring buffer. This way, applications can manually map their resources to the desired descriptors. Ideally, we can use this opportunity to break the descriptor management out of the device implementation, improving the code structure in the process.
Describe your problem
The current descriptor management solution works fine, if the descriptors are allocated from
DescriptorSets. However, some external libraries (i.e., Dear ImGui) use low-level access to descriptors. In this case, allocating a proxy descriptor set just to invoke the underlying device interface to update the descriptors manually appears very unintuitive and is overly restrictive.Describe your proposed solution
The descriptor management on the
DirectX12Deviceshould receive a more bare-bones overload that allows to allocate and release individual descriptor ranges on the ring buffer. This way, applications can manually map their resources to the desired descriptors. Ideally, we can use this opportunity to break the descriptor management out of the device implementation, improving the code structure in the process.