Vulkan 1.3.239 Released With New Huawei Extension

Written by Michael Larabel in Vulkan on 19 January 2023 at 07:25 AM EST. 6 Comments
While there tend to be new Vulkan API specification updates weekly or bi-weekly for most of the year, there was a one month hiatus due to Christmas and other end of year holidays with many of the corporate developers taking time off work. But that is now over and out today is Vulkan 1.3.239 as the first update in exactly one month.

Due to the extended period of time since Vulkan 1.3.238, there are quite a number of random fixes across the board with today's spec update. Nothing too major though from the fixes and clarifications.

One addition worth mentioning is the VK_DRIVER_ID_IMAGINATION_OPEN_SC driver ID addition, which is for Imagination's open-source Vulkan driver. Imagination's open-source Vulkan driver continues improving within Mesa. (Separately Imagination also has their PowerVR Rogue DRM kernel driver that is still working its way to the mainline kernel.)

Just one new Vulkan extension was finalized over the past month and that's a new vendor extension from Huawei. With Vulkan 1.3.239 is the introduction of VK_HUAWEI_cluster_culling_shader. Huawei's cluster culling shader extension is described as:
"Cluster Culling Shader(CCS) is similar to the existing compute shader; its main purpose is to provide an execution environment in order to perform coarse-level geometry culling and level-of-detail selection more efficiently on GPU.

The traditional 2-pass GPU culling solution using compute shader needs a pipeline barrier between compute pipeline and graphics pipeline, sometimes, in order to optimize performance, an additional compaction process may also be required. this extension improve the above mentioned shortcomings which can allow compute shader directly emit visible clusters to following graphics pipeline.

A set of new built-in output variables are used to express visible cluster, in addition, a new built-in function is used to emit these variables from CCS to IA stage, then IA can use these variables to fetches vertices of visible cluster and drive vertex shader to shading these vertices. As stated above, both IA and vertex shader are preserved, vertex shader still used for vertices position shading, instead of directly outputting a set of transformed vertices from compute shader, this makes CCS more suitable for mobile GPUs."

The full list of Vulkan 1.3.239 changes can be found via Vulkan-Docs.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week