Timeline for Generate Hi-Z buffer using single PSO and single UAV
Current License: CC BY-SA 4.0
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 |