|
Monado OpenXR Runtime
|
SDL compositor implementation. More...
#include "os/os_time.h"#include "util/u_misc.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 "sdl_internal.h"#include <stdio.h>#include <stdarg.h>
Macros | |
| #define | SC_TRACE(c, ...) U_LOG_IFL_T(get_vk(c)->log_level, __VA_ARGS__); |
| #define | SC_DEBUG(c, ...) U_LOG_IFL_D(get_vk(c)->log_level, __VA_ARGS__); |
| #define | SC_INFO(c, ...) U_LOG_IFL_I(get_vk(c)->log_level, __VA_ARGS__); |
| #define | SC_WARN(c, ...) U_LOG_IFL_W(get_vk(c)->log_level, __VA_ARGS__); |
| #define | SC_ERROR(c, ...) U_LOG_IFL_E(get_vk(c)->log_level, __VA_ARGS__); |
Functions | |
| static struct vk_bundle * | get_vk (struct sdl_compositor *c) |
| static VkResult | select_instances_extensions (struct sdl_compositor *c, struct u_extension_list_builder *required_builder, struct u_extension_list_builder *optional_builder) |
| static bool | compositor_init_vulkan (struct sdl_compositor *c, enum u_logging_level log_level) |
| static bool | compositor_init_pacing (struct sdl_compositor *c) |
| static bool | compositor_init_info (struct sdl_compositor *c) |
| static bool | compositor_init_sys_info (struct sdl_compositor *c, struct sdl_program *sp, struct xrt_device *xdev) |
| static xrt_result_t | sdl_compositor_begin_session (struct xrt_compositor *xc, const struct xrt_begin_session_info *info) |
| static xrt_result_t | sdl_compositor_end_session (struct xrt_compositor *xc) |
| static xrt_result_t | sdl_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 | sdl_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 | sdl_compositor_begin_frame (struct xrt_compositor *xc, int64_t frame_id) |
| static xrt_result_t | sdl_compositor_discard_frame (struct xrt_compositor *xc, int64_t frame_id) |
| static xrt_result_t | sdl_compositor_layer_commit (struct xrt_compositor *xc, xrt_graphics_sync_handle_t sync_handle) |
| static void | sdl_compositor_destroy (struct xrt_compositor *xc) |
| void | sdl_compositor_init (struct sdl_program *sp) |
| Initializes the compositor part of the SDL program. | |
| xrt_result_t | sdl_compositor_create_system (struct sdl_program *sp, struct xrt_system_compositor **out_xsysc) |
| Creates the system compositor that wraps the native compositor. | |
Variables | |
| static const char * | instance_extensions_common [] |
| static const char * | required_device_extensions [] |
| static const char * | optional_device_extensions [] |
SDL compositor implementation.
| xrt_result_t sdl_compositor_create_system | ( | struct sdl_program * | sp, |
| struct xrt_system_compositor ** | out_xsysc | ||
| ) |
Creates the system compositor that wraps the native compositor.
References comp_base::base, sdl_compositor::base, sdl_program::c, comp_multi_create_system_compositor(), u_pa_factory_create(), and XRT_SUCCESS.
| void sdl_compositor_init | ( | struct sdl_program * | sp | ) |
Initializes the compositor part of the SDL program.
References comp_base::base, xrt_compositor_native::base, sdl_compositor::base, xrt_compositor::begin_frame, xrt_compositor::begin_session, sdl_program::c, xrt_compositor::create_swapchain, xrt_compositor::destroy, xrt_compositor::discard_frame, xrt_compositor::end_session, sdl_compositor::frame, sdl_compositor::frame_interval_ns, xrt_compositor::import_swapchain, xrt_compositor::layer_commit, sdl_program::log_level, xrt_compositor::mark_frame, xrt_compositor::predict_frame, sdl_swapchain_create(), sdl_swapchain_import(), U_TIME_1S_IN_NS, comp_base::vk, and sdl_program::xdev_base.
Referenced by sdl_program_plus_create().
|
static |