mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-09 10:38:07 +02:00
gl-renderer: split buffer age query out of output_get_damage
Split the buffer age query out into a separate function. The following patches will replace the remainder of the output_get_damage function. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
parent
f043ad3647
commit
38181e1748
1 changed files with 15 additions and 4 deletions
|
|
@ -1538,15 +1538,13 @@ output_get_border_damage(struct weston_output *output,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
output_get_damage(struct weston_output *output,
|
||||
pixman_region32_t *buffer_damage, uint32_t *border_damage)
|
||||
static int
|
||||
output_get_buffer_age(struct weston_output *output)
|
||||
{
|
||||
struct gl_output_state *go = get_output_state(output);
|
||||
struct gl_renderer *gr = get_renderer(output->compositor);
|
||||
EGLint buffer_age = 0;
|
||||
EGLBoolean ret;
|
||||
int i;
|
||||
|
||||
if (gr->has_egl_buffer_age || gr->has_egl_partial_update) {
|
||||
ret = eglQuerySurface(gr->egl_display, go->egl_surface,
|
||||
|
|
@ -1559,6 +1557,19 @@ output_get_damage(struct weston_output *output,
|
|||
buffer_age = 1;
|
||||
}
|
||||
|
||||
return buffer_age;
|
||||
}
|
||||
|
||||
static void
|
||||
output_get_damage(struct weston_output *output,
|
||||
pixman_region32_t *buffer_damage, uint32_t *border_damage)
|
||||
{
|
||||
struct gl_output_state *go = get_output_state(output);
|
||||
int buffer_age;
|
||||
int i;
|
||||
|
||||
buffer_age = output_get_buffer_age(output);
|
||||
|
||||
if (buffer_age == 0 || buffer_age - 1 > BUFFER_DAMAGE_COUNT) {
|
||||
pixman_region32_copy(buffer_damage, &output->region);
|
||||
*border_damage = BORDER_ALL_DIRTY;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue