Mesa 23.0 has merged the new Raspberry Pi V3DV Vulkan driver

The Broadcom V3DV VideoCore open-source Vulkan driver in Mesa has rewritten the hardware occlusion queries (occlusion queries) related code, greatly improving performance and reliability.

Iago Toral rewrote the V3DV occlusion lookup code to improve the performance of the VideoCore Vulkan driver. "Our implementation is heavily CPU-heavy, with certain aspects such as query reset and result replication, as well as query availability tracking being handled by the CPU," he explained in the pull request.

This new implementation handles all GPU-side query functionality by scheduling compute shaders, which involves query availability, resets, and result replication. Currently, this method only supports management occlusion queries, but performance queries can also be implemented with some additional work in the future.

As an improvement to the open-source Raspberry Pi graphics driver, over 1000 lines of rewritten V3DV driver code have been incorporated into Mesa 23.0.

Hardware occlusion query is a feature of the 3D API telling the application whether to draw pixels when rendering an object. When the bounding box is occluded, skip drawing the objects inside the bounding box. Although this feature already exists, there are still two issues that prevent its widespread use: the overhead of solving the occlusion query itself and the latency of waiting for the query results.

Post a Comment