- Aug 26, 2004
Thanks for your explanation.No, the article says the RDNA 2 ISA document doesn’t detail what type of BVH tree is used. It also says from some of the info in the ISA document it can be inferred that the RT instructions for RDNA 2 are looking for a BVH4 tree, which is a BVH tree with 4 child nodes per node.
The ISA instructions point to the BVH nodes which are stored in memory, implying the BVH has already been created. How you ask? By the developer using a compute shader. Which is self-evident, because AMD’s RDNA 2 RT hardware solution does not accelerate BVH tree creation or traversal, so why would you expect instructions related to that to be part of the ISA? You wouldn’t.
BVH tree creation is done using a compute shader. Ray/box and ray/triangle intersections tests are done using the dedicated hardware (hence there’s description in the ISA doc). Then BVH tree traversal is also achieved in software using a compute shader.
That final line is referencing HLSL, i.e. DirectX’s high level shader language used for writing custom shaders in Direct3D. The writer is remarking on his desire to see these ISA instructions exposed in HLSL, where currently in DirectX they’re used as part of the DirectRT API in a more restrictive and limited format... of course, being DirectX this has no bearing on PS5.
As above, BVH creation and traversal are not exposed in the RDNA 2 ISA because there exists no hardware accelerating those features to expose to developers in the first place. It has to be done in software using GPU compute shaders.
On more question though, the ISA needing a BVH4 tree means you can't really create the BVH tree like you want, doesn't it? Meaning that you are not able to create a BVH tree with 8 childs per node per example