The Raspberry Pi 4's open-source Vulkan driver for its Broadcom GPUs has now achieved conformance with the Vulkan API 1.2 standard.
Vulkan is a graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs, and aims to provide graphics developers with new ways to get the best performance out of hardware. Raspberry Pi founder Eben Upton described the driver as a 'much requested feature' when work started on the project a couple of years ago.
The best examples of "real world" applications for Vulkan on Raspberry Pi today are games running on Android/Lineage, Upton said.
Raspberry Pi has partnered with consultancy Igalia to develop Vulkan drivers for Pi 4's GPU.
"Aside from Vulkan 1.2 core functionality, we have also been adding support for various other extensions, some of which are core in Vulkan 1.3, as well as many bug fixes and performance improvements," explains Igalia.
Conformance with the Vulkan APIs is handled by graphics API standards body, The Khronos Group. Khronos announced Vulkan 3D graphics versions 1.3 API specifications in January.
Upton also represented Broadcom at Khronos between 2007 and 2012, when the primary focus was on the OpenGL and OpenGL ES APIs, which provided an abstraction layer that allowed developers to write 3D graphics applications for any platform, regardless of the underlying GPU.
Upton notes OpenGL was getting long in the tooth after 20 years and was causing overhead and inefficiency in the application and driver stacks.
Vulkan 1.0 arrived in 2016 as a more modern method of abstraction. In a separate blogpost, Igalia's Iago Total details some of the optional features in Vulkan 1.2 that V3DV isn't supporting yet.