117 uint32_t native_image_count,
119 uint32_t active_index,
139 uint32_t native_image_count,
141 uint32_t active_index,
225 uint32_t active_index,
static int os_mutex_init(struct os_mutex *om)
Init.
Definition: os_threading.h:70
static void os_mutex_lock(struct os_mutex *om)
Lock.
Definition: os_threading.h:86
static void os_mutex_unlock(struct os_mutex *om)
Unlock.
Definition: os_threading.h:110
static void os_mutex_destroy(struct os_mutex *om)
Clean up.
Definition: os_threading.h:122
static void u_swapchain_debug_unlock(struct u_swapchain_debug *uscd)
Simple lock helper.
Definition: u_native_images_debug.h:288
static void u_native_images_debug_set_locked(struct u_native_images_debug *unid, xrt_limited_unique_id_t limited_unique_id, struct xrt_image_native *native_images, uint32_t native_image_count, const struct xrt_swapchain_create_info *xscci, uint32_t active_index, bool flip_y)
Helper function to update all variables, must be called with the lock held.
Definition: u_native_images_debug.h:114
static void u_native_images_debug_clear(struct u_native_images_debug *unid)
Clear all variables atomically by holding the lock, still valid to use.
Definition: u_native_images_debug.h:177
static void u_native_images_debug_unlock(struct u_native_images_debug *unid)
Simple lock helper.
Definition: u_native_images_debug.h:103
static void u_swapchain_debug_init(struct u_swapchain_debug *uscd)
Must be called before variable is tracked.
Definition: u_native_images_debug.h:211
static void u_native_images_debug_lock(struct u_native_images_debug *unid)
Simple lock helper.
Definition: u_native_images_debug.h:92
static void u_swapchain_debug_clear(struct u_swapchain_debug *uscd)
Clear all variables atomically by holding the lock, still valid to use.
Definition: u_native_images_debug.h:250
static void u_native_images_debug_clear_locked(struct u_native_images_debug *unid)
Clear all variables, must be called with the lock held.
Definition: u_native_images_debug.h:162
static void u_native_images_debug_set(struct u_native_images_debug *unid, xrt_limited_unique_id_t limited_unique_id, struct xrt_image_native *native_images, uint32_t native_image_count, const struct xrt_swapchain_create_info *xscci, uint32_t active_index, bool flip_y)
Updates all variables atomically by holding the lock.
Definition: u_native_images_debug.h:136
static void u_swapchain_debug_destroy(struct u_swapchain_debug *uscd)
Must not be called while variable longer tracked, after u_var_remove_root.
Definition: u_native_images_debug.h:264
static void u_native_images_debug_init(struct u_native_images_debug *unid)
Must be called before variable is tracked.
Definition: u_native_images_debug.h:65
static void u_swapchain_debug_lock(struct u_swapchain_debug *uscd)
Simple lock helper.
Definition: u_native_images_debug.h:277
static void u_swapchain_debug_set(struct u_swapchain_debug *uscd, struct xrt_swapchain_native *xscn, const struct xrt_swapchain_create_info *xscci, uint32_t active_index, bool flip_y)
Updates all variables atomically by holding the lock.
Definition: u_native_images_debug.h:222
static void u_native_images_debug_destroy(struct u_native_images_debug *unid)
Must not be called while variable longer tracked, after u_var_remove_root.
Definition: u_native_images_debug.h:76
static void xrt_swapchain_native_reference(struct xrt_swapchain_native **dst, struct xrt_swapchain_native *src)
Update the reference counts on swapchain(s).
Definition: xrt_compositor.h:2210
Wrapper around OS threading native functions.
A wrapper around a native mutex.
Definition: os_threading.h:55
A struct for debugging one or more native images.
Definition: u_native_images_debug.h:27
uint32_t active_index
The native image that was last filled in by the source, only valid if native_images is non-null,...
Definition: u_native_images_debug.h:53
struct os_mutex mutex
Is initialised/destroyed when added or root is removed.
Definition: u_native_images_debug.h:29
struct xrt_image_native * native_images
List to current set of native images, protected by mutex.
Definition: u_native_images_debug.h:38
const struct xrt_swapchain_create_info * xscci
Information needed to import the native images, information in the struct is immutable,...
Definition: u_native_images_debug.h:47
bool flip_y
Should the image be flipped in y direction.
Definition: u_native_images_debug.h:56
xrt_limited_unique_id_t limited_unique_id
Process unique id for the set of images, protected by mutex, allows caching of imports.
Definition: u_native_images_debug.h:35
uint32_t native_image_count
Count of native_images, protected by mutex.
Definition: u_native_images_debug.h:41
Allows to debug image that is in GPU memory.
Definition: u_native_images_debug.h:197
struct u_native_images_debug base
Base for native image debugging.
Definition: u_native_images_debug.h:199
struct xrt_swapchain_native * xscn
Protected by base::mutex.
Definition: u_native_images_debug.h:202
A single image of a swapchain based on native buffer handles.
Definition: xrt_compositor.h:2150
A limited unique id, it is only unique for the process it is in, so must not be used or synchronized ...
Definition: xrt_defines.h:79
Swapchain creation info.
Definition: xrt_compositor.h:876
Base class for a swapchain that exposes a native buffer handle to be imported into a client API.
Definition: xrt_compositor.h:2191
struct xrt_swapchain base
Base.
Definition: xrt_compositor.h:2193
xrt_limited_unique_id_t limited_unique_id
Unique id for the swapchain, only unique for the current process, is not synchronized between service...
Definition: xrt_compositor.h:2199
uint32_t image_count
Number of images.
Definition: xrt_compositor.h:547
Header declaring XRT graphics interfaces.