|
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_nvidia_create (struct comp_compositor *c) |
| Create a direct surface to an HMD on NVIDIA. | |
Data Fields | ||
| struct comp_target_swapchain | base | |
| Display * | dpy | |
| struct comp_window_direct_nvidia_display * | displays | |
| uint16_t | display_count | |
Data Fields inherited from comp_target_swapchain | ||
| struct comp_target | base | |
| Base target. | ||
| struct u_pacing_compositor * | upc | |
| Compositor frame pacing helper. | ||
| enum comp_target_display_timing_usage | timing_usage | |
| If we should use display timing. | ||
| int64_t | current_frame_id | |
| Also works as a frame index. | ||
| 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. | ||
| VkDisplayKHR | display | |
| The current display used for direct mode, VK_NULL_HANDLE else. | ||
| struct { | ||
| bool thread_running | ||
| 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... | ||
| bool event_active | ||
| Skipping the event on the first vblank avoids a spurious VK_ERROR_OUT_OF_HOST_MEMORY error. 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. | ||
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. | |
| 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. | |
| 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. | |
Direct mode "window" into a device, using Vulkan direct mode extension and xcb.