On Fri, 12 Aug 2016 14:11:40 +0200
Fabien Dessenne <fabien.desse...@st.com> wrote:

> Emit frame_signal at the end of the GL renderer processing, so the
> frame_signal clients are informed after the buffer is actually updated.
> 
> Signed-off-by: Fabien Dessenne <fabien.desse...@st.com>
> ---
>  libweston/gl-renderer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
> index d624453..f4d4a5e 100644
> --- a/libweston/gl-renderer.c
> +++ b/libweston/gl-renderer.c
> @@ -1138,7 +1138,6 @@ gl_renderer_repaint_output(struct weston_output *output,
>       draw_output_borders(output, border_damage);
>  
>       pixman_region32_copy(&output->previous_damage, output_damage);
> -     wl_signal_emit(&output->frame_signal, output);
>  
>       if (gr->swap_buffers_with_damage) {
>               pixman_region32_init(&buffer_damage);
> @@ -1185,6 +1184,7 @@ gl_renderer_repaint_output(struct weston_output *output,
>       }
>  
>       go->border_status = BORDER_STATUS_CLEAN;
> +     wl_signal_emit(&output->frame_signal, output);
>  }
>  
>  static int

Hi,

I think this will break screenshooting.

Screenshooter relies on glReadPixels, but if you issue eglSwapBuffers
first, you no longer know what glReadPixels will return. Therefore the
signal must be emitted before the swapbuffers.

You forgot to explain what problem this change solves, too. I only see
it breaking things.


Thanks,
pq

Attachment: pgpBtL7nUn_R_.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to