Khronos Releases Vulkan 1.0 Specification

The Khronos™ Group, an open consortium of leading hardware and software companies, announces the immediate availability of the Vulkan™ 1.0 royalty-free, open standard API specification. Vulkan provides high-efficiency, cross-platform access to graphics and compute on modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. This ground-up design, complementing the OpenGL® and OpenGL ES™ 3D APIs, provides applications direct control over GPU acceleration for maximized performance and predictability with minimized CPU overhead and efficient multi-threaded performance. Multiple Vulkan 1.0 hardware drivers and SDKs are available immediately for developers to begin creating Vulkan applications and engines. More information on Vulkan is available at Home | Vulkan | Cross platform 3D Graphics.

Vulkan is the result of 18 months in an intense collaboration between leading hardware, game engine and platform vendors, built on significant contributions from multiple Khronos members. Vulkan is designed for portability across multiple platforms with desktop and mobile GPU architectures. Vulkan is available on multiple versions of Microsoft Windows from Windows 7 to Windows 10, and has been adopted as a native rendering and compute API by platforms including Linux, SteamOS, Tizen and Android.

By placing an unprecedented collection of Vulkan-related materials into open source, including the full Vulkan conformance tests, the specification source, and a rich set of software tools, Khronos is enabling strong community participation to drive API consistency and ecosystem evolution. All Khronos open source projects are available here: The Khronos Group · GitHub.

All feedback that is posted to this topic thread will be considered by the working group. We greatly appreciate what you have to say and the time you spent preparing your feedback.

The Vulkan+WSI spec version is missing the VkSwapchainKHR documentation. This seems to be because the doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt file of the 1.0-wsi-extensions (and its own) branch is missing a [] at the end of the ::include line at the end of the file (see link).

In the meanwhile one can read the VkSwapchainKHR docs by visiting the referenced file manually but obviously it is a bit annoying to read the docs like that and i think the specs should be rebuilt to include the file :-P.

(i tweeted about it to VulkanAPI yesterday, but didn’t got a response so i thought to post here too)

you will get better response by opening a issue on the github repo

Does Vulkan provides application programmers with the functionality to make all resource loading and shader compilation and loading asynchronous?

The only thing that is not synchronous is executing a command buffer.

The actual compilation is synchronous but you can invoke it on a separate thread.

Resource loading is the same. You have to map the buffer and copy the data into it host side. Then you can tell vulkan to copy it to the destination. However all that can happen on any thread as long as you ensure synchronization as needed.

If you have a better answer at present.