What do you believe are the biggest road blocks to getting you most of what you want from the API?
1. Convince IHVs they have to specify their data structures. If they come up with new one, they also must support older ones if the application requests them.
2. API has to add related queries and versioning.
At this point all flexibility is given, but we need specialized implementation per vendor.
Likely we would stick at this, or may continue this way:
3. Convince MS that vendor extensions are now absolutely required. Khronos already has this.
4. IHVs come up with their own extensions, like maybe:
a) To precompute BVH and cache it to disk on the client, similar to current shader and pipeline caches.
b) To ease up creating / modifying BVH from compute shaders at runtime.
5. After it shows IHVs do similar things and devs actually use the stuff, API could try to come up with generic abstractions, like: A template BVH data structure, which drivers then convert into specific HW formats. A generic compute API, which allows to create /modify at runtime. The vendor compiler translates generic statements into specific instructions.
How easy this is depends on how similar IHV data structures are. If no treelets for compression are in use, it's dead simple. If only one vendor uses this, maybe the others should be allowed and encouraged to adopt it.
Eventually IHVs would be even happy to converge at similar formats, benefiting from the works of competitors. I doubt there are any inventions worth to keep secret here.
6. Distribution platforms like Steam could support background processes, which game devs could use to precompute BVH while downloading. Or per IHV versions of the game. Just an idea in case.
7. Celebrate better perf. helping RT to become a success and practical, ray tracing detailed and richer scenes, PC platform now being on par with consoles so related innovation is worth to invest.
It's a bit of a chicken and egg problem. But Epics interest alone would be already enough to justify the effort. A related question is: Do other engine makers wait with their Nanite until RT is ready, or do they already work in it?