I'm reworking my descriptor heap strategy, so I'm digging through everything again. On nVidia's DirectX 12 Do's and Don'ts page, they say:
- Make sure to use just one CBV/SRV/UAV/descriptor heap as a ring-buffer for all frames if you want to aim at running parallel asynchronous compute and graphics workloads
I was under the impression that calling SetDescriptorHeaps could cause a flush. Am I to understand that if all frames use the same descriptor heap, there won't be a flush, and the compute work can continue to access the descriptors despite newer graphics command lists calling SetDescriptorHeaps?
Does anyone have any additional information about managing memory to support async Compute?