Khronos Blog

Khronos Blog

Vulkan Releases Unified Samples Repository


Today, The Khronos® Group releases the Vulkan ® Unified Samples Repository, a new central location where anyone can access Khronos-reviewed, high-quality Vulkan code samples in order to make development easier and more streamlined for all abilities. Khronos and its members, in collaboration with external contributors, created the Vulkan Unified Samples Project in response to user demand for more accessible resources and best practices for developing with Vulkan. Within Khronos, the Vulkan Working Group discovered that there were many useful and high-quality samples available already (both from members and external contributors), but they were not all in one central location. Additionally, there was no top-level review of all the samples for interoperability or compatibility. This new repository project was created to solve this challenge by putting resources in one place, ensuring samples are reviewed and maintained by Khronos. They are then organized into a central library available for developers of all abilities to use, learn from, and gain ideas.

The first group of samples includes a generous donation of performance-based samples and best practice documents from Khronos member, Arm.

“Our collaboration with Khronos on the Vulkan Unified Samples Repository represents a major step change for graphics developers looking to fully harness the power of modern mobile GPUs,” said Pablo Fraile Hernandez, director, Client Ecosystem at Arm. “Arm is proud to contribute the best practice guidance we’ve developed over the past year to educate and enable developers with the tools needed to deliver the next generation of experiences from console to mobile and beyond.”

It also includes Vulkan usage examples from external contributor Sascha Willems, who has donated his established and popular collection of samples, with more to be added in the future.

"Porting over the first set of my samples to this new repository was a very positive experience. With a platform-independent framework taking care of things like window handling and asset loading, I could concentrate on the important code parts. And being able to get direct feedback from different IHVs and ISVs proved to be invaluable, resulting in important fixes and improvements to my samples.” Sascha Willems, Independent Contributor

Arm has also developed and contributed a framework that allows contributors to import code samples in the same template, ensuring compatibility and keeping maintenance time to a minimum. A guideline document has been created to help any developer who wishes to contribute a sample.

“Khronos believes that anyone can learn how to use Vulkan, and the Working Group is continuously looking at how to improve the experience and availability of resources,” said Kris Rose, Developer Relations Manager, The Khronos Group. “Now that we have laid the foundation for the project with a comprehensive set of samples covering best practices, API usage, and performance, we will continue to grow the pool of samples with submissions from members, and hopefully, new external contributors. In the future, we hope to open this up to the public so that Vulkan developers can submit their code samples for review.”

The Vulkan Unified samples project is open to any Khronos member that wishes to contribute code samples or resources to maintain submitted samples. Any external contributor interested in maintaining crucial Vulkan education resources with their own code samples should reach out to .(JavaScript must be enabled to view this email address). The repository was created by current and active Khronos members and independent contributors: AMD, Arm, Broadcom, Imagination Technologies, NVIDIA, Samsung Electronics, and Sascha Willems.