Name Strings
SPV_KHR_opacity_micromap
Contact
See Issues list in the Khronos SPIRV-Headers repository: https://github.com/KhronosGroup/SPIRV-Headers
Contributors
-
Daniel Koch, NVIDIA
-
Eric Werness, NVIDIA
-
Joshua Barczak, Intel
-
Matt Netsch, Qualcomm
Status
-
Approved by the SPIR-V Working Group: 2026-01-07
-
Ratified by the Khronos Board: 2026-02-20
Version
Last Modified Date |
2025-12-10 |
Revision |
3 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.6 Revision 6.
This extension requires SPIR-V 1.4.
This extension requires SPV_KHR_ray_query or SPV_KHR_ray_tracing.
Overview
This extension adds new functionality to support the Vulkan VK_KHR_opacity_micromap extension in SPIR-V.
Extension Name
To use this extension within a SPIR-V module, at least one of the following OpExtension strings must be present in the module:
OpExtension "SPV_KHR_opacity_micromap" OpExtension "SPV_EXT_opacity_micromap"
Modifications to the SPIR-V Specification
- (Modify Section 3.2.5, Execution Mode, adding to the existing table)
-
Execution mode Enabling Capabilities Extra Operands 6031
OpacityMicromapIdKHR
Indicates whether the shader can use opacity micromaps or not. The <id> operand is the id of a constant instruction of OpTypeBool which may be a specialization constant. If ray query traversal uses acceleration structures with opacity micromaps, this execution mode must be specified with a value of true; otherwise, undefined behavior results.
RayTracingOpacityMicromapExecutionModeKHR
<id>
Enable - (Modify Section 3.2.31, Ray Flags, adding to the existing table)
-
Ray Flags Enabling Capabilities 1024
ForceOpacityMicromap2StateKHR
Force opacity micromaps intersected by this ray to be evaluated in the 2 state mode. See the Ray Opacity Micromap in the Vulkan API specification.RayTracingOpacityMicromapKHR
- (Modify Section 3.2.30, Capability, adding a row to the Capability table)
-
Capability Implicitly Declares 5381
RayTracingOpacityMicromapKHR
Uses the ForceOpacityMicromap2StateKHR enumerant.Shader
6032
RayTracingOpacityMicromapExecutionModeKHR
Uses the OpacityMicromapIdKHR execution mode.Shader
Validation Rules
An OpExtension must be added to the SPIR-V for validation layers to check legal use of this extension:
OpExtension "SPV_KHR_opacity_micromap" OpExtension "SPV_EXT_opacity_micromap"
Either OpExtension string is accepted, it’s not necessary to include both.
If a shader uses execution mode OpacityMicromapIdKHR, it must have the SPV_KHR_opacity_micromap extension string.
Issues
(1) Why are there two OpExtension strings?
RESOLVED: This extension is identical to SPV_EXT_opacity_micromap except that it adds a new execution mode named OpacityMicromapIdKHR. There is a strong desire to keep the existing behaviors when a shader does not use the new execution mode.
Revision History
| Rev | Date | Author | Changes |
|---|---|---|---|
1 |
2025-04-09 |
Eric Werness/Wooyoung Kim |
Initial revision |
2 |
2025-11-12 |
Wooyoung Kim |
Add ExecutionMode OpacityMicromapIdKHR, Updated to SPIR-V 1.6.6 |
3 |
2025-12-10 |
Wooyoung Kim |
Allow "OpExtension SPV_EXT_opacity_micromap" to use the extension |