Monado OpenXR Runtime
Loading...
Searching...
No Matches
xrt_image_native Struct Reference

A single image of a swapchain based on native buffer handles. More...

#include <xrt/xrt_compositor.h>

Collaboration diagram for xrt_image_native:

Data Fields

xrt_graphics_buffer_handle_t handle
 Native buffer handle.
 
uint64_t size
 Buffer size in memory.
 
bool use_dedicated_allocation
 Is the image created with a dedicated allocation or not.
 
bool is_dxgi_handle
 Is the native buffer handle a DXGI handle?
 

Detailed Description

A single image of a swapchain based on native buffer handles.

See also
xrt_swapchain_native, xrt_graphics_buffer_handle_t

Field Documentation

◆ handle

◆ is_dxgi_handle

bool xrt_image_native::is_dxgi_handle

Is the native buffer handle a DXGI handle?

  • If true, it is some kind of weird global handle, not reference counted, but widely compatible with various images. Ostensibly deprecated, but works the best on Windows.
  • If false, it's either not Windows, or a reference counted "NT Handle" which has awkward limitations, such as "usually no depth images allowed".

Referenced by vk_csci_get_image_external_handle_type(), and vk_ic_from_natives().

◆ size

uint64_t xrt_image_native::size

Buffer size in memory.

Optional, set to 0 if unknown at allocation time. If not zero, used for a max memory requirements check when importing into Vulkan.

Referenced by client_gl_memobj_swapchain_create(), comp_swapchain_create_init(), ogl_import_from_native(), vk_create_image_from_native(), and vk_ic_from_natives().

◆ use_dedicated_allocation

bool xrt_image_native::use_dedicated_allocation

Is the image created with a dedicated allocation or not.

Referenced by client_gl_memobj_swapchain_create(), comp_swapchain_create_init(), and ogl_import_from_native().


The documentation for this struct was generated from the following file: