diff options
Diffstat (limited to 'src/compositor-rpi.c')
-rw-r--r-- | src/compositor-rpi.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c index a064a86b..2d726866 100644 --- a/src/compositor-rpi.c +++ b/src/compositor-rpi.c @@ -47,6 +47,7 @@ #include "rpi-renderer.h" #include "launcher-util.h" #include "libinput-seat.h" +#include "presentation_timing-server-protocol.h" #if 0 #define DBG(...) \ @@ -215,8 +216,9 @@ rpi_output_start_repaint_loop(struct weston_output *output) { struct timespec ts; + /* XXX: do a phony dispmanx update and trigger on its completion? */ clock_gettime(output->compositor->presentation_clock, &ts); - weston_output_finish_frame(output, &ts); + weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID); } static int @@ -250,10 +252,13 @@ static void rpi_output_update_complete(struct rpi_output *output, const struct timespec *stamp) { + uint32_t flags = PRESENTATION_FEEDBACK_KIND_VSYNC | + PRESENTATION_FEEDBACK_KIND_HW_COMPLETION; + DBG("frame update complete(%ld.%09ld)\n", (long)stamp->tv_sec, (long)stamp->tv_nsec); rpi_renderer_finish_frame(&output->base); - weston_output_finish_frame(&output->base, stamp); + weston_output_finish_frame(&output->base, stamp, flags); } static void |