PowerVR Open Source Vulkan Driver Lands Hard Coding Infrastructure


Because of the early state of Imagination’s PowerVR Rogue open source Vulkan driver within Mesa, a “hard coding” infrastructure has been added to aid in the loading of hard-coded graphics/compute shaders into this driver until its compiler is far enough along to be useful and mark this infrastructure as unnecessary/redundant.

Imagination announced their open source PowerVR Rogue Vulkan driver in March, which was then merged into Mesa 22.1. This “PVR” open source Mesa Vulkan driver is still in its early stages and lacks robust shader compiler support.

This open source PowerVR Rogue driver isn’t really useful to end users yet, assuming you have any chips with supported Rogue graphics IP. The newly merged code includes infrastructure for dealing with hard-coded Vulkan pipelines for graphics and compute. It’s part of an effort to get more Vulkan demos running on this open-source Linux driver so that the code paths can be exercised until the PVR’s own compiler is far enough along to properly transition from SPIR-V.

Concerns were raised in the merge request about the embedding of blobs into Mesa. Imagination’s argument was that there are already blobs in their upstream driver that are used for the Vulkan triangle demo. The ability to run these hard-coded blobs with the upstream driver will also aid in enabling other PowerVR platforms until compiler support is available. Again, these hard-coded blobs are only meant to be a stopgap measure until they can get a useful compiler in place.

For those who are interested, the graphics pipeline hard-coding infrastructure for Mesa 22.2 has now been merged with the ongoing PowerVR Vulkan driver development work.


Please enter your comment!
Please enter your name here