C Specification
XR_DEFINE_HANDLE(XrSwapchain)
Description
Normal XR applications will want to present rendered images to the user. To allow this, the runtime provides images organized in swapchains for the application to render into. The runtime must allow applications to create multiple swapchains.
Swapchain image format support by the runtime is specified by the
xrEnumerateSwapchainFormats function.
Runtimes should support R8G8B8A8
and R8G8B8A8
sRGB
formats
if possible.
Swapchain images can be 2D or 2D Array.
Rendering operations involving composition of submitted layers are assumed
to be internally performed by the runtime in linear color space.
Images submitted in sRGB color space must be created using an API-specific
sRGB format (e.g. DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
,
GL_SRGB8_ALPHA8
, VK_FORMAT_R8G8B8A8_SRGB
) to apply automatic
sRGB-to-linear conversion when read by the runtime.
All other formats will be treated as linear values.
Note
OpenXR applications should avoid submitting linear encoded 8 bit color data
(e.g. Gritz, L. and d’Eon, E. 2007. The Importance of Being Linear. In: H. Nguyen, ed., GPU Gems 3. Addison-Wesley Professional. https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-24-importance-being-linear |
Note
DXGI resources will be created with their associated TYPELESS format, but the runtime will use the application-specified format for reading the data. |
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-2023 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.