68 VkSwapchainKHR handle;
74 VkSurfaceFormatKHR format;
75#ifdef VK_EXT_display_surface_counter
76 VkSurfaceCounterFlagsEXT surface_counter_flags;
82 VkFormat color_format;
83 VkColorSpaceKHR color_space;
Abstracted compositor rendering target.
comp_target_display_timing_usage
If the target should use the display timing information.
Definition: comp_target.h:51
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.
Definition: comp_target_swapchain.c:1078
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.
Definition: comp_target_swapchain.c:1043
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 VkSw...
Definition: comp_target_swapchain.c:1024
Wraps and manage VkSwapchainKHR and VkSurfaceKHR, used by Compositor code.
Definition: comp_target_swapchain.h:37
VkPresentModeKHR present_mode
Present mode that the system must support.
Definition: comp_target_swapchain.h:87
VkDisplayKHR display
The current display used for direct mode, VK_NULL_HANDLE else.
Definition: comp_target_swapchain.h:90
int64_t current_frame_id
Also works as a frame index.
Definition: comp_target_swapchain.h:48
uint64_t last_vblank_ns
Protected by event_thread lock.
Definition: comp_target_swapchain.h:101
struct os_thread_helper event_thread
Thread waiting on vblank_event_fence (first pixel out).
Definition: comp_target_swapchain.h:104
bool should_wait
Protected by event_thread lock.
Definition: comp_target_swapchain.h:98
VkExtent2D extent
The extents that a sub-class wants us to use, see ignore_compositor_extent above.
Definition: comp_target_swapchain.h:63
struct comp_target base
Base target.
Definition: comp_target_swapchain.h:39
bool has_logged_info
We print swapchain info as INFO the first time we create a VkSWapchain, this keeps track if we have d...
Definition: comp_target_swapchain.h:111
bool compositor_extent
Should we ignore the compositor's preferred extents.
Definition: comp_target_swapchain.h:57
struct u_pacing_compositor * upc
Compositor frame pacing helper.
Definition: comp_target_swapchain.h:42
bool has_started
Must only be accessed from main compositor thread.
Definition: comp_target_swapchain.h:95
enum comp_target_display_timing_usage timing_usage
If we should use display timing.
Definition: comp_target_swapchain.h:45
A compositor target: where the compositor renders to.
Definition: comp_target.h:132
All in one helper that handles locking, waiting for change and starting a thread.
Definition: os_threading.h:453
Compositor pacing helper interface.
Definition: u_pacing.h:68
Common Vulkan code header.