Desktop Vulkan question: is it reasonable to rely on resizable BAR being enabled these days? Just filling write-combined buffer memory directly, without all the code for sync/async copies from staging buffers, is super nice.
I think NVIDIA requires the RTX 30-series or above for official resizable BAR support, and for AMD it's RX 5000+ (RDNA1). Intel ARC supports it. Also a modern CPU/Motherboard are required, but I don't know the specs.
@sjb3d I've been meaning to figure this out for myself for a bit, since Avoyd's GPU new path tracer uses Vulkan.
Currently I don't rely or use REBAR much, but I'm planning to rewrite my GPU allocation to check for support. I think the best way to do this is to check for a large device local heap accessible to the CPU.
Perhaps worth noting that I have an NVIDIA 4060 on a machine with no REBAR support (no bios support), so such systems do exist.
@dougbinks yep, makes sense to check via the heaps.
It's difficult to judge how widespread motherboard/BIOS support is, but seems like a fallback to staging buffers is probably wise then (for older bios or just user not enabling it).
Add comment