Correct synchronization is needed to ensure correct results from Vulkan operations (whether graphical or computational). Modern graphics hardware is both parallel and pipelined, with various operations happening simultaneously for performance reasons. Vulkan has a limited number of ordering guarantees, but for most operations, it is the application’s responsibility to inform the implementation when ordering is required between operations. The need for such synchronization operations arises when the same region of memory is used by subsequent operations in different ways — for example a mip-level being written by a blit operation, and then being used for sampled lookup by a shader. If these two uses are not guaranteed to operate sequentially, a data hazard exists. A Vulkan Synchronization Validation layer has been created to help identify resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory. Click here to view the Guide to Vulkan Synchronization Validation, a LunarG white paper that provides an overview of synchronization and why it is important along with a quick start guide for new users. The reader will learn about synchronization validation and associated validation messages, how to use synchronization validation, and how to optimize it. Developers should be familiar with both Vulkan Synchronization and using/configuring Vulkan Validation before trying to run synchronization validation.
2019 Vulkan Ecosystem & SDK Survey – 2020 Year-End Results
In December of 2019, LunarG conducted a Vulkan ecosystem survey. Many Vulkan developers shared their requests for improvements. LunarG took those suggestions to heart and made many enhancements to the Vulkan ecosystem this year. We’ve prepared a report for the Vulkan developer community that summarizes our work. Read on for more information.
Where do I find the list of what’s included in the Vulkan SDK?
Vulkan SDK elements come from many repositories. Have you ever wondered what elements make up a Vulkan SDK?
New Guide to Vulkan Synchronization Validation
Correct synchronization is needed to ensure correct results from Vulkan operations (whether graphical or computational). A Vulkan Synchronization Validation layer has been created to help identify resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory. LunarG offers a Guide to Vulkan Synchronization Validation to help developers get started.
Error Reporting Improvements for Vulkan Validation Layers
The Vulkan validation layers provide important information about the behavior and correctness of applications, and it is important that validation transfers this information to the user as clearly, usefully, and completely as possible. Community feedback, received through LunarXchange, Github, and Vulkan Ecosystem Surveys have highlighted several areas for improvement and we have recently turned our focus towards updating the layer messaging systems. Read on for more information about these improvements and a link to our new white paper.
New Synchronization Validation Quick Start Guide Available for Vulkan Developers
Synchronization Validation is a new layer in the Vulkan toolkit. Synchronization Validation is intended to identify resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory. LunarG has created a Quick Start Guide for Vulkan developers.
Introducing the New Vulkan Configurator (vkconfig)
LunarG has enhanced the Vulkan Configurator, also known as vkconfig! Read on for links to a LunarG white paper and a video demo that introduce enhancements to this powerful Vulkan developer tool.
Vulkan Validation Layers
By design, Vulkan device drivers provide no error checking. However, Vulkan application developers will need a way to validate that they are using the Vulkan API correctly while developing their applications. The solution described in the Vulkan Specification was to define validation layers as a critical, if not mandatory, part of the development process. While the Vulkan Validation Layers can provide valuable information to developers, constant runtime API validation can result in performance penalties. Vulkan developers can use the Validation Layers as part of the debug process and then turn them off when running production code — eliminating the performance penalty.


