LunarG provides a Vulkan API SDK, which offers a tools framework for building and debugging applications and games. The main components in the Vulkan tools framework include the Vulkan API, a Common Loader, Validation and Debugging Layers, Trace and Replay Tools, and SPIR-V-Related Tools.

Vulkan API

The Vulkan API is a low-overhead, explicit, cross-platform, graphics application programming interface. This API provides applications with direct control over the GPU, maximizing application performance.  For more information on the Vulkan specification and API, refer to Khronos.org. For tutorial-level information, refer to LunarG‘s Vulkan tutorial, which can be found in the SDK in the Documentation\Tutorial directory and on the LunarXchange website.

Common Loader

The Vulkan Common Loader provides the interface between Vulkan applications and layer and installable client driver libraries.

Refer to the Vulkan Common Loader guide for additional information on the loader and its driver, layer, and extension management capabilities.

Validation and Debugging Layers

Vulkan supports intercepting, or hooking, API entry points via the Layer framework. A layer can intercept a subset of, or all, Vulkan entry points. The SDK provides many validation layers, including those that track memory, objects, and state.

Refer to the Vulkan Validation and Debugging Layers guide for detailed information on the Layer framework and those layers included in the SDK.

Supporting Tools

The Vulkan SDK also provides other debugging tools for Vulkan applications, including trace and replay and SPIR-V generation, disassembly, and remapping tools.

Refer to the Vulkan Trace and Replay Tools guide for additional information on Vulkan application tracing and replay.

Refer to the SPIR-V Toolchain guide for additional information on SPIR-V related tools.

Look for future posts to provide more information about these supporting tools.