Vulkan 1.3.246 Released With VK_EXT_shader_object

Written by Michael Larabel in Vulkan on 31 March 2023 at 08:58 AM EDT. 11 Comments
Vulkan 1.3.246 has been published with one prominent new extension introduced that was started by Nintendo and worked on by several other hardware/software vendors.

Besides the weekly churn of documentation fixes/clarifications, Vulkan 1.3.246 brings two new extensions: VK_EXT_shader_object and VK_EXT_shader_tile_image.

VK_EXT_shader_object is an exciting one worked on by Nintendo, NVIDIA, AMD, LunarG, Google, Valve, Roblox, Activision, and various other organizations. VK_EXT_shader_object adds a new shader object type to represent a single compiled shader stage. The Vulkan shader objects are intended to be more flexible but comparably performant alternative to pipeline objects.


Mike Blumenkrantz of Valve's Linux graphics team and known for his work on the Zink OpenGL-on-Vulkan driver commented:
"It’s a very cool extension for Zink. Effectively, it means (unoptimized) shader variants can be generated very fast. So fast that the extension should solve all the remaining issues with shader compilation and stuttering by enabling applications (zink) to create and bind shaders directly without the need for pipeline objects.

Widespread adoption in the ecosystem will take time, but Lavapipe has day one support as everyone expects for all the cool new extensions that I work on."

VK_EXT_shader_tile_image as the other new extension in Vulkan 1.3.246 was worked on by Valve, Arm, Imagination, AMD, NVIDIA, and others. The VK_EXT_shader_tile_image extension allows fragment shader invocations to read color / depth / stencil values at their pixel location in rasterization order. This VK_EXT_shader_tile_image functionality is only available when using Vulkan dynamic rendering.

More details on today's Vulkan 1.3.246 spec update with these notable extensions can be found via this commit.

Update: The Khronos Group has also now published a blog post with more information on the new VK_EXT_shader_object extension. That post concludes with, "VK_EXT_shader_object represents the culmination of years of work to bring Vulkan developers ever more powerful and easier-to-use ways to manage shaders and state."
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