Monado OpenXR Runtime
|
Direct mode "window" into a device, using Vulkan direct mode extension and xcb. More...
Public Member Functions | |
struct comp_target * | comp_window_direct_randr_create (struct comp_compositor *c) |
Create a direct surface to an HMD over RandR. More... | |
Data Fields | |
struct comp_target_swapchain | base |
Display * | dpy |
xcb_screen_t * | screen |
struct comp_window_direct_randr_display * | displays |
uint16_t | display_count |
Data Fields inherited from comp_target_swapchain | |
struct comp_target | base |
Base target. More... | |
struct u_pacing_compositor * | upc |
Compositor frame pacing helper. More... | |
enum comp_target_display_timing_usage | timing_usage |
If we should use display timing. More... | |
int64_t | current_frame_id |
Also works as a frame index. More... | |
struct { | |
bool compositor_extent | |
Should we ignore the compositor's preferred extents. More... | |
VkExtent2D extent | |
The extents that a sub-class wants us to use, see ignore_compositor_extent above. More... | |
} | override |
struct { | |
VkSwapchainKHR handle | |
} | swapchain |
struct { | |
VkSurfaceKHR handle | |
VkSurfaceFormatKHR format | |
} | surface |
struct { | |
VkFormat color_format | |
VkColorSpaceKHR color_space | |
} | preferred |
VkPresentModeKHR | present_mode |
Present mode that the system must support. More... | |
VkDisplayKHR | display |
The current display used for direct mode, VK_NULL_HANDLE else. More... | |
struct { | |
bool has_started | |
Must only be accessed from main compositor thread. More... | |
bool should_wait | |
Protected by event_thread lock. More... | |
uint64_t last_vblank_ns | |
Protected by event_thread lock. More... | |
struct os_thread_helper event_thread | |
Thread waiting on vblank_event_fence (first pixel out). More... | |
} | vblank |
bool | has_logged_info |
We print swapchain info as INFO the first time we create a VkSWapchain, this keeps track if we have done it. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from comp_target_swapchain | |
void | comp_target_swapchain_init_and_set_fnptrs (struct comp_target_swapchain *cts, enum comp_target_display_timing_usage timing_usage) |
Pre Vulkan initialisation, sets function pointers. More... | |
void | comp_target_swapchain_override_extents (struct comp_target_swapchain *cts, VkExtent2D extent) |
Set that any size from the compositor should be ignored and that given size must be used for the VkSwapchain the helper code creates. More... | |
void | comp_target_swapchain_cleanup (struct comp_target_swapchain *cts) |
Free all managed resources on the given comp_target_swapchain, does not free the struct itself. More... | |
Direct mode "window" into a device, using Vulkan direct mode extension and xcb.