mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-08 10:08:06 +02:00
[x11] implement new activate/deactivate methods
We disable flushing when inactive.
This commit is contained in:
parent
92bf5acfa2
commit
fe6d25904d
1 changed files with 19 additions and 0 deletions
|
|
@ -86,6 +86,8 @@ struct _ply_renderer_backend
|
|||
ply_console_t *console;
|
||||
|
||||
ply_fd_watch_t *display_watch;
|
||||
|
||||
uint32_t is_inactive : 1;
|
||||
};
|
||||
|
||||
ply_renderer_plugin_interface_t *ply_renderer_backend_get_interface (void);
|
||||
|
|
@ -307,6 +309,18 @@ unmap_from_device (ply_renderer_backend_t *backend)
|
|||
ply_console_ignore_mode_changes (backend->console, false);
|
||||
}
|
||||
|
||||
static void
|
||||
activate (ply_renderer_backend_t *backend)
|
||||
{
|
||||
backend->is_inactive = false;
|
||||
}
|
||||
|
||||
static void
|
||||
deactivate (ply_renderer_backend_t *backend)
|
||||
{
|
||||
backend->is_inactive = true;
|
||||
}
|
||||
|
||||
static void
|
||||
flush_area_to_device (ply_renderer_backend_t *backend,
|
||||
ply_renderer_head_t *head,
|
||||
|
|
@ -338,6 +352,9 @@ flush_head (ply_renderer_backend_t *backend,
|
|||
|
||||
assert (backend != NULL);
|
||||
|
||||
if (backend->is_inactive)
|
||||
return;
|
||||
|
||||
pixel_buffer = head->pixel_buffer;
|
||||
updated_region = ply_pixel_buffer_get_updated_areas (pixel_buffer);
|
||||
areas_to_flush = ply_region_get_rectangle_list (updated_region);
|
||||
|
|
@ -516,6 +533,8 @@ ply_renderer_backend_get_interface (void)
|
|||
.query_device = query_device,
|
||||
.map_to_device = map_to_device,
|
||||
.unmap_from_device = unmap_from_device,
|
||||
.activate = activate,
|
||||
.deactivate = deactivate,
|
||||
.flush_head = flush_head,
|
||||
.get_heads = get_heads,
|
||||
.get_buffer_for_head = get_buffer_for_head,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue