LunarG released a new Vulkan feature last month with the Vulkan SDK: GPU-Assisted Validation.  Read on for more information about the feature and the new detailed LunarG GPU-Assisted Validation white paper.

The Vulkan validation layers perform a variety of API usage checks during application execution. These checks verify that the application is using the API correctly by performing stateless parameter checking, object lifetime tracking, object state validation, and various other checks. The layers 1) perform these checks on the CPU as the Vulkan application executes and 2) provide valuable information about Vulkan API usage to the developer.

However, much of an application’s activity is on the GPU, where the CPU-based validation layers have little visibility. The new white paper explains the concept of GPU-assisted validation and how a developer can use it. 

What is GPU-Assisted Validation?

GPU-Assisted Validation involves using the GPU to check for API usage errors at shader execution time. These on-GPU checks can’t always find general shader program logic errors but can detect certain run-time problems like out-of-bounds (OOB) indexing into descriptor arrays and accessing invalid descriptors.

This feature’s design is intended to allow the developer to use nearly the same validation layer workflow on the GPU as on the CPU. This white paper discusses one specific type of GPU-assisted validation that has been implemented in a validation layer, which is indexing into an array of descriptors, otherwise known as “bindless” descriptor access. 

GPU-assisted validation work is not complete. Look for future updates to LunarG’s GPU-Assisted Validation feature and the LunarG GPU-Assisted Validation white paper.

Info about LunarG, Inc.

LunarG’s software engineering experts create software solutions for open source and commercial customers using leading-edge 3D graphics and compute technologies, including Vulkan, OpenXR, SPIR-V, and OpenGL. We have strengths in performance analysis and tuning, runtime and tools development, shader optimizations, driver development, new feature development, and porting engines and applications to Vulkan. Our software engineering team is based in Fort Collins, Colorado. LunarG was founded by software experts who are passionate about 3D graphics.

For more information about LunarG, check out our website.