This document details the VK_NV_ray_tracing_validation extension which adds support for ray tracing validation at an implementation level.

1. Problem Statement

Ray tracing issues can be hard to debug. Validation layers can help root cause some of the problems but a more detailed validation requires implementation details.

2. Solution Space

Ray tracing validation by a Vulkan implementation performs more thorough checks at the implementation level, which helps identify potential problems that cannot be caught by the validation layers.

Warnings and errors can be delivered straight from a ray tracing implementation to the application through a messenger callback registered with the implementation, where they can be processed through existing application-side debugging or logging systems.

3. Proposal

Implementations may expose the VK_NV_ray_tracing_validation extension and the VkPhysicalDeviceRayTracingValidationFeaturesNV::rayTracingValidation feature which allows applications to enable ray tracing validation.

4. Issues