Description
If an application waits on a swapchain image by calling
xrWaitSwapchainImage in a session created using
XrGraphicsBindingD3D12KHR, and that call returns XR_SUCCESS or
XR_SESSION_LOSS_PENDING, then the OpenXR runtime must guarantee that
the following conditions are true:
-
The color rendering target image has a resource state match with
D3D12_RESOURCE_STATE_RENDER_TARGET -
The depth rendering target image has a resource state match with
D3D12_RESOURCE_STATE_DEPTH_WRITE -
The
ID3D12CommandQueuespecified in XrGraphicsBindingD3D12KHR is able to write to the image.
When an application releases a swapchain image by calling xrReleaseSwapchainImage in a session created using XrGraphicsBindingD3D12KHR, the OpenXR runtime must interpret the image as:
-
Having a resource state match with
D3D12_RESOURCE_STATE_RENDER_TARGETif the image is a color rendering target -
Having a resource state match with
D3D12_RESOURCE_STATE_DEPTH_WRITEif the image is a depth rendering target -
Being available for read/write on the
ID3D12CommandQueuespecified in XrGraphicsBindingD3D12KHR.
The application is responsible for transitioning the swapchain image back to the resource state and queue availability that the OpenXR runtime requires. If the image is not in a resource state match with the above specifications the runtime may exhibit undefined behavior.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.