I think reading your response is precisely why I think they did not go this route. It goes against the point of having DXR, you may as well let every vendor have their own RT extension and just bolt that onto DirectX if that is the case. The idea of having a single call, with the drivers doing the work for you, is the point of all of DXR, and the costs in performance are compromises to enabling developers to making a code once and deploy on multiple cards.You're right, the HW depends on the data structure, and we can't modify this structure. But we can modify the data.
If we know the specs, we can convert our data to the specified format the HW understands. Then we can do:
* Build BVH offline, stream it, convert to GPU. (Due to storage costs, that's maybe not always practical for the whole BVH. But then we can build only the lowest levels of the tree on the client for a compromise.)
* Apply changes to parts of the BVH, ideally. E.g. if a cluster of geometry on a model changes it's geometry due to LOD.
So we eliminate most of the cost of BVH building in the background during gameplay,
and we can implement fine grained LOD such as Nanite.
We may even get slightly better tracing perf. from high quality offline build. (but may be also slightly worse if our source data isn't ideal for all unique chips out there.)
We also achieve feature parity with consoles, if that matters.
To make it work and avoid a crash, we must know all details about the data structure as expected by the HW, plus ideally some optimization guide on what's ideal for the HW and what not.
Developers are having challenges with DX12 today, and that's considered low level, I can't imagine developers having to manage the acceleration structure for a variety of GPUS in a single family, let alone doing this for several vendors from mobile, console to desktop.
I think if LOD is a critical component, LOD will be handled the DX method it will be a single code, multi deploy, and it will be up to hardware vendors to ensure their drivers are functioning well to get good performance out of it. I can't imagine any developers actually wanting to take on this task unless they only had a single target (ie PS5). A multiplatform deployment sounds excruciatingly painful.