Skip to main content
7 events
when toggle format what by license comment
Sep 7, 2021 at 20:57 comment added Nathan Reed It's a confusing topic for sure. I don't have any good resources off the top of my head, but look for some GDC talks from when DX12 was introduced, there were a bunch of deep dives on various parts of the API. But, usually how it works is you allocate some descriptors from the heap for each pass you draw, and populate them with the resource views for that pass. As the frame goes on the heap gets filled up with all the descriptors for all the passes. Then you reclaim the used descriptors when the GPU finishes that frame.
Sep 6, 2021 at 14:08 vote accept DirectX_Programmer
Sep 6, 2021 at 14:08 comment added DirectX_Programmer Ok, I got this working the way that you've presented. However, I need kind of weird setup ( github.com/komilll/YARE/commit/… ) - I don't understand how indexing of descriptor handles work. Do you have any article about that?
Sep 6, 2021 at 8:00 comment added DirectX_Programmer Remaining problem is that I need switch UAVs in root table (since I'll be using srcUAV and dstUAV). How do I do that? Right now, I'm binding all UAVs that I've created for given root table ( github.com/komilll/YARE/blob/main/YARE/Renderer.cpp#L641 )
Sep 5, 2021 at 23:06 comment added Nathan Reed @DirectX_Programmer Unfortunately you can't put image UAVs in the root table, only buffer UAVs. (See here—note RWTexture2D isn't one of the supported types.) You'll need to use a descriptor table for this.
Sep 5, 2021 at 20:48 comment added DirectX_Programmer I did try exactly what you've presented in the first part of your post, before I used hack presented in my post. However, I couldn't make it working because I am using root descriptor table for UAVs. I don't know how to use "SetComputeRootUnorderedAccessView" function because I don't know how to get its arguments correctly (i.e. gpu address argument).
Sep 5, 2021 at 17:28 history answered Nathan Reed CC BY-SA 4.0