The Windows SDK released September 9, 2021 (1.2.189.2) was repackaged in a new, modular format using the Qt Installer framework. The previous SDKs were packaged using the NSIS (Nullsoft Scriptable Install System) framework. This paper describes what motivated the repackaging of the Windows SDK and shares the benefits to the user. Click here for a link to the white paper.
2020 Vulkan Ecosystem & SDK Survey – 2021 Year-End Results
In November of 2020, 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.
Vulkan Ecosystem and SDK Survey – 2021 Year End Update
Last November 2020, LunarG conducted an ecosystem survey and published the survey results in a public report. This status update document summarizes the ecosystem enhancements completed over the last year in response to feedback received in the 2020 survey.
New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim
The Device Simulation Layer (also called Devsim) helps developers write applications that can be used on multiple platforms while following the Vulkan specification. To ensure an application properly handles multiple platforms, these checks must be run on all platforms of interest to the developer. Combinations of GPUs, ICDs, drivers, and operating systems to name a few factors create an exponential number of possible test platforms, which is infeasible for a developer to obtain and maintain. DevSim can help solve this problem. For example, DevSim can be configured as though the application is running on a device with the minimum properties, features, and limits defined by the Vulkan specification. Please read the new white paper, Creating Portable Vulkan Applications Using DevSim, to learn how to use this valuable tool.
Vulkan Layer Symbiosis within the Vulkan Ecosystem – new LunarG white paper
The purpose of this whitepaper is to describe how to create a Vulkan Layer in symbiosis with the Vulkan ecosystem. By this, we mean creating a layer that can benefit from the tools of the Vulkan ecosystem while following the Vulkan ecosystem conventions so that Vulkan developers don’t have to keep up with constant new behaviors. Instead, we can rely on the behaviors familiar to developers and can focus on using the features of the layers. Click here to view the white paper.
SDK Version Compatibility for Vulkan
Vulkan was originally released in March of 2016. Since that time the Khronos Vulkan Working Group continues to update the Vulkan API. When new Vulkan releases become available, the version number associated with the API gets incremented. This document was originally published in May of 2018 to share the impact of the new Vulkan 1.1 release on applications written with Vulkan 1.0. We’ve updated this white paper to explain how new Vulkan 1.x releases may impact applications. The latest revisions include removing deprecated Vulkan version macros and adding a description of the newly defined Vulkan variant ID. Click here to download a copy of this white paper.
The State of Vulkan on Apple, new LunarG white paper
This white paper discusses how Vulkan can be layered over the native Metal API to support Vulkan development on macOS, iOS, and tvOS devices by using MoltenVK. Learn more about developing for the Apple ecosystem using Vulkan.
Vulkan Synchronization2 Validation
Synchronization Validation for the Vulkan API was first released in 2020 and has been substantially evolved to support Synchronization2. The newly released Vulkan API VK_KHR_synchronization2 extension brings extensive improvements to Vulkan queue submission, events, and pipeline barriers resulting in significant API usability enhancements for developers. Synchronization2 highlights include: Data for semaphores and command buffers is passed in arrays of structures, rather than in separate arrays spread across multiple structures, to streamline queue submissions. Barrier pipeline stage masks are now stored in the barrier structure rather than passed as separate parameters to vkCmdPipelineBarrier() to simplify resource state tracking. VkPipelineStageFlags2KHR and VkAccessFlags2KHR are expanded to 64-bits to allow for future extensibility with new extensions. vkCmdSetEvent2KHR() requires pipeline barriers, enhancing driver efficiency by scheduling work at event ‘set’ time, rather than the ‘wait’ for barrier information to become available. New image layout types now ‘do the right thing’ for both color and depth/stencil images. Also, image layout transitions do not happen if a barrier’s oldLayout and newLayout field are equal, even if the layout provided doesn’t match the current layout of the image. Synchronization2 brings big changes to Vulkan to improve developer productivity and application performance. Updates to the Vulkan SDK and vkconfig will improve API usability for developers. Click here to download a copy of the LunarG Vulkan Synchronization2 white paper that includes an introduction to Synchronization2 and instructions to help you get started.


