Performance changes from #1495:
- Sync changed BDA ranges instead of scanning all mappings.
- Let VMA suballocate BDA buffers.
- Remove the renderer lock from presentation.
- Keep compatible pipeline caches across builds.
- Fold masked shifts that always produce zero.
* graphics: report the VkResult when a submit or fence wait fails
* graphics: add a --gpu-assisted-validation flag
* graphics: imply Vulkan validation for GPU-assisted validation
---------
Co-authored-by: nmzik <Nmzik@mail.ru>