summaryrefslogtreecommitdiff
path: root/src/compositor-rpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor-rpi.c')
-rw-r--r--src/compositor-rpi.c9
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