mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-29 05:40:12 -04:00
backend/drm: add explicit sync support to multi-GPU blits
This commit is contained in:
parent
3187479c07
commit
d7223eae02
5 changed files with 60 additions and 10 deletions
|
|
@ -141,6 +141,9 @@ struct wlr_drm_connector_state {
|
|||
struct wlr_drm_fb *primary_fb;
|
||||
struct wlr_drm_fb *cursor_fb;
|
||||
|
||||
struct wlr_drm_syncobj_timeline *wait_timeline;
|
||||
uint64_t wait_point;
|
||||
|
||||
// used by atomic
|
||||
uint32_t mode_id;
|
||||
uint32_t gamma_lut;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@ struct wlr_drm_renderer {
|
|||
struct wlr_drm_surface {
|
||||
struct wlr_drm_renderer *renderer;
|
||||
struct wlr_swapchain *swapchain;
|
||||
|
||||
struct wlr_drm_syncobj_timeline *timeline;
|
||||
uint64_t point;
|
||||
};
|
||||
|
||||
bool init_drm_renderer(struct wlr_drm_backend *drm,
|
||||
|
|
@ -32,7 +35,8 @@ bool init_drm_surface(struct wlr_drm_surface *surf,
|
|||
void finish_drm_surface(struct wlr_drm_surface *surf);
|
||||
|
||||
struct wlr_buffer *drm_surface_blit(struct wlr_drm_surface *surf,
|
||||
struct wlr_buffer *buffer);
|
||||
struct wlr_buffer *buffer,
|
||||
struct wlr_drm_syncobj_timeline *wait_timeline, uint64_t wait_point);
|
||||
|
||||
bool drm_plane_pick_render_format(struct wlr_drm_plane *plane,
|
||||
struct wlr_drm_format *fmt, struct wlr_drm_renderer *renderer);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue