Monado OpenXR Runtime
null_compositor.c File Reference

Null compositor implementation. More...

#include "null_compositor.h"
#include "null_interfaces.h"
#include "os/os_time.h"
#include "util/u_misc.h"
#include "util/u_pacing.h"
#include "util/u_time.h"
#include "util/u_debug.h"
#include "util/u_verify.h"
#include "util/u_handles.h"
#include "util/u_trace_marker.h"
#include "util/comp_vulkan.h"
#include "multi/comp_multi_interface.h"
#include "xrt/xrt_compositor.h"
#include "xrt/xrt_device.h"
#include <stdint.h>
#include <stdio.h>
Include dependency graph for null_compositor.c:

Functions

static struct vk_bundleget_vk (struct null_compositor *c)
 
static VkResult select_instances_extensions (struct null_compositor *c, struct u_string_list *required, struct u_string_list *optional)
 
static bool compositor_init_vulkan (struct null_compositor *c)
 
static bool compositor_init_pacing (struct null_compositor *c)
 
static bool compositor_init_info (struct null_compositor *c)
 
static bool compositor_init_sys_info (struct null_compositor *c, struct xrt_device *xdev)
 
static xrt_result_t null_compositor_begin_session (struct xrt_compositor *xc, const struct xrt_begin_session_info *type)
 
static xrt_result_t null_compositor_end_session (struct xrt_compositor *xc)
 
static xrt_result_t null_compositor_predict_frame (struct xrt_compositor *xc, int64_t *out_frame_id, int64_t *out_wake_time_ns, int64_t *out_predicted_gpu_time_ns, int64_t *out_predicted_display_time_ns, int64_t *out_predicted_display_period_ns)
 
static xrt_result_t null_compositor_mark_frame (struct xrt_compositor *xc, int64_t frame_id, enum xrt_compositor_frame_point point, int64_t when_ns)
 
static xrt_result_t null_compositor_begin_frame (struct xrt_compositor *xc, int64_t frame_id)
 
static xrt_result_t null_compositor_discard_frame (struct xrt_compositor *xc, int64_t frame_id)
 
static xrt_result_t null_compositor_layer_commit (struct xrt_compositor *xc, xrt_graphics_sync_handle_t sync_handle)
 
static void null_compositor_destroy (struct xrt_compositor *xc)
 
static xrt_result_t null_compositor_get_display_refresh_rate (struct xrt_compositor *xc, float *out_display_refresh_rate_hz)
 
static xrt_result_t null_compositor_request_display_refresh_rate (struct xrt_compositor *xc, float display_refresh_rate_hz)
 
xrt_result_t null_compositor_create_system (struct xrt_device *xdev, struct xrt_system_compositor **out_xsysc)
 Creates a null_compositor. More...
 

Variables

static const uint64_t RECOMMENDED_VIEW_WIDTH = 320
 
static const uint64_t RECOMMENDED_VIEW_HEIGHT = 240
 
static const uint64_t MAX_VIEW_WIDTH = 1920
 
static const uint64_t MAX_VIEW_HEIGHT = 1080
 
static const char * instance_extensions_common []
 
static const char * required_device_extensions []
 
static const char * optional_device_extensions []
 

Detailed Description

Variable Documentation

◆ instance_extensions_common

const char* instance_extensions_common[]
static
Initial value:
= {
VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,
VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
}