Nsight can't display ray-tracing shaders that use the KHR extension

Shaders using the official Khronos ray-tracing extension declare the ray-tracing capability RayTracingKHR with the capability operand 4479. However Nsight refuses to display the SPIR-V source of the shader, giving the error:

; SPIRV Parse Error: Invalid capability operand: 4479

I assume whatever is used to parse the SPIR-V needs to be updated to support the official KHR ray-tracing extension.

Here’s a ray-generation shader that exhibits the issue.

rt_raygen.spv (13.7 KB)

Note also that the spirv-dis tool that ships with the 1.2.162 Vulkan SDK can display such SPIR-V modules without any problems, whereas previous versions of spirv-dis had the same issue (throwing an error when attempting to parse the RayTracingKHR capability).

Thank you for your feedback on Nsight Graphics. Sorry for the delayed response as many of us were out for the holidays. I have created a bug for the issue you raised and for our engineering team to resolve. Please continue to provide your feedback on Nsight Graphics so we can improve our tool to meet your needs.

@sam.derbyshire I wanted to let you know that we have addressed this issue and that the fix will be in the next version of Nsight Graphics.

Excellent, thank you. I’ll let you know how it goes, as I have my own SPIR-V compiler (see here https://gitlab.com/sheaf/fir), which sometimes ends up producing SPIR-V code that can be quite different to what you get from glslangvalidator.