Vulkan tagged news

Effective GPU performance analysis is a more complex proposition for developers today than it ever has been, especially given developments in how you drive the GPU in the last few years. Enter the brand new cross-platform performance analysis tool: Radeon GPU Profiler (RGP). We created it to give developers a way to understand concurrent overlapped execution on Radeon GPUs in a way that’s simple and actionable in terms of further optimisation and what you need to do next. Learn more about this GPU Profiler.

Researchers at CMU and NVIDIA have developed an open source shading language and compiler framework named Spire enhanced to support shader components for high-performance rendering.  The Spire compiler can generate either GLSL or SPIR-V output for use with OpenGL and Vulkan based engines.  The work interfaces with a modernmini 3D engine that supports equivalent back-ends for both OpenGL and Vulkan.  The researchers will present this year’s work at SIGGRAPH next week which builds on a paper from last year’s SIGGRAPH.

With help from Khronos member Collabora, employee Alexandros Frantzis created vkmark, which aims to provide an extensible suite of targeted, configurable benchmarking scenes for Vulkan. Most scenes exercise specific Vulkan features or usage patterns (e.g., desktop 2.5D scenarios), although we are also happy to have more complex, visually intriguing scenes. vkmark Vulkan benchmark is available on GitHub.

One of the key differences between OpenGL and Vulkan -and something that needs careful consideration when porting to Vulkan, is the coordinate system. Vulkan requires the right hand NDC space compared to GL that requires the left hand. Learn about the KHR_VK_maintainance1 extension and see how AnKi is flipping the viewport.

Stephanie Hurlburt, one founder of Khronos member Binomial recently put out a call for beginner-friendly ways to learn Vulkan. The result is a nicely curated list of Vulkan Tutorials that one can call beginner level. Read more about Stephanie's thoughts on learning Vulkan, and then dive in yourself.

LunarG has released an update to their SDK for Vulkan 1.0.54.0. Lots of changes include new groups of extension functionality: external fence extensions, external semaphore extensions, external memory extensions, storage memory extensions and additional vendor and cross-vendor extensions. Learn more about the LunarG Vulkan SDK.

In collaboration with Google, Codeplay is proud to announce the release of a new open-source tool allowing the compilation of OpenCL C language kernels to run on the Vulkan API. The tool, named 'clspv', allows a subset of the OpenCL C language to be targeted at the Vulkan API. This tool allows developers to port code containing more than a million lines of OpenCL C to run on the Vulkan API. The source is available on Github.

Vulkan working group has released a major Vulkan 1.0 specification updateThe Vulkan working group has released a major Vulkan 1.0 specification update that adds eighteen new KHR extensions. They include KHR replacements for the experimental KHX_external_memory_* and KHX_external_semaphore_* extensions released earlier this year, incorporating changes based on developer and implementer feedback. The release also adds a set of KHR_external_fence_* extensions. Together, these extensions allow applications to share memory and synchronization primitives across process and API boundaries. Two new extensions, KHR_dedicated_allocation and KHR_get_memory_requirements2, provide more expressive and extensible ways for applications to optimize their GPU memory allocation policies. KHR_16bit_storage, KHR_storage_buffer_storage_class, and KHR_variable_pointer allow Vulkan implementations to accept shader programs containing new programming constructs recently added to the SPIR-V intermediate shading language.

The new extensions are accompanied by a new release of the Vulkan 1.0 conformance test that checks that the new extensions are implemented correctly, and a new Vulkan SDK that provides loader and validation support and a snapshot of a compatible release of the GLSLang shader compiler. All of the new extensions are supported in the latest NVIDIA drivers, and support from other GPU vendors is in progress.

For more information, see the Vulkan Changelog

Vulkan 1.0.53 does have a number of document clarifications and fixes, but most exciting is a handful of new extensions. The new ones to Vulkan 1.0.53 are VK_AMD_gpu_shader_int16, VK_EXT_blend_operation_advanced, VK_EXT_sampler_filter_minmax, and VK_NV_framebuffer_mixed_samples. Read more about this update from Phoronix, or hop on over to the Vulkan Change Log for more details on this update.

Vulkan Multipass was one of the talks at the Khronos Developer Day at GDC’17. The below is a blog summarizing the content of the presentation.