Ratified extension exposes visible and hidden regions per view. See how to reduce fragments without creating borders or assuming a fixed mask.
Direct answer
The ratified extension XR_KHR_visibility_mask allows you to query, by view, a mesh of visible or hidden triangles or a contour. The application can use the hidden region to avoid fragments that the lens will never show, reducing GPU work. The mask depends on the runtime and view configuration, may change and may not be available; therefore it should be treated as optional optimization with fallback to full rendering.
Optimization happens before shading
Stenciling or cutting out the hidden region prevents work on fragments outside the area that reaches the eyes.
Each view has its own geometry
Do not reuse the left mask on the right or assume that two devices expose the same contour.
Event signals change
The runtime can notify you that the mask has changed; caches need to be updated before continuing optimization.
Absence requires fallback
Zero counts or unavailable extents should result in normal rendering, never an empty screen.
Nexus Reading
Implement as an optional path, measure GPU gain and test edges on all supported runtimes and configurations.
FAQ
Is the extension ratified?
Yes. XR_KHR_visibility_mask has ratified status and depends on OpenXR 1.0.
Is the mask the same on both eyes?
It shouldn't be assumed. The query is done by view and configuration.
What to do when there is no mask?
Render the full view and record the absence as expected fallback.
Essential guides to delve deeper into the decision
This editorial analysis was produced by Nexus from the official sources below, consulted on October 31, 2026. The text is original and interprets practical implications for companies.
- Khronos — XR_KHR_visibility_mask: ratified status, dependencies, and extension objects.
- Khronos — xrGetVisibilityMaskKHR: query by view, mask types, buffers and missing data.
Date reported by main source: OpenXR 1.1.65, published on October 16, 2026; analysis on October 31, 2026.

