★ wanayoo — archive 1999 http://vulkan-tutorial.com/Nouvelle recherche | Portail wanayoo
Vulkan logo

Overview

Vulkan is a new open standard API by Khronos that offers low-level control of GPUs for graphics and general purpose computation. It has been designed from the ground up around the capabilities of modern hardware. All of these features lead to simpler drivers, more predictable performance, more control and less differences between vendor implementations. (Source)

API

The official specification isn't going to be released until later this year, but some details can be gathered from various sources.

The blog post linked above offers some insight. API calls have the vk prefix and functions take the state that they will change as their first parameter.
    vkCmdBindDescriptorSet(cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, textureDescriptorSet[0], 0);
    vkQueueSubmit(graphicsQueue, 1, &cmdBuffer, 0, 0, fence);
    vkMapMemory(staticUniformBufferMemory, 0, (void **)&data);
    // ...
    vkUnmapMemory(staticUniformBufferMemory);
            

All hardware that supports OpenGL 4.3 / OpenGL ES 3.1 (Subset) or later can also support Vulkan.

A talk by Khronos on March 5 has offered some more insight into the API. The Vulkan API still uses no special types, instead settling for stdint.h types. The closest thing to the concept of a context is now a command buffer. Synchronization is done using events and allows for fences and resource barriers. The full presentation can be watched below.

The slides are also available (mirrored while Khronos link is broken).

SPIR-V

Khronos has published a whitepaper that provides an introduction to the SPIR-V intermediate language.

The provisional specification is also available.

Drivers

Valve has been working on open source Linux drivers for Intel GPUs (Source).

Tools

Valve, LunarG, Codeplay and other parties are already developing tools. Displayed below is an introduction video of a Vulkan debugger being developed by Valve and LunarG.

Khronos has announced that these utilities will be available at the same time as the first drivers. (Source)

LunarG also states that these tools and the first drivers will be available to developers in 2015. (Source)

Demos

Imagination Technologies has developed a proof-of-concept driver for Vulkan for their PowerVR GPUs. They have ported an OpenGL ES 3.0 demo to Vulkan.

Valve has developed a Vulkan driver for Linux that targets Intel GPUs. (Source) They've shown Dota 2 running with this driver.

Fork me on GitHub