diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2016-03-07 16:25:43 +0100 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2016-04-14 13:54:24 +0100 |
commit | a2d5b348ee0f9b51ef3b38393ce91ddbefbfaacb (patch) | |
tree | c3b576bb0bf1efb7cfdeab5bcf4d542d1831efca /lib | |
parent | fb66a5df937b44b594f17a30663938250c759b35 (diff) |
lib: Add igt_dirty_fb
Just wraps drmModeDirtyFB and for now invalidates the whole FB.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/igt_fb.c | 14 | ||||
-rw-r--r-- | lib/igt_fb.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/igt_fb.c b/lib/igt_fb.c index 81809d4c..ee03d622 100644 --- a/lib/igt_fb.c +++ b/lib/igt_fb.c @@ -1014,6 +1014,20 @@ static void create_cairo_surface__blit(int fd, struct igt_fb *fb) blit, destroy_cairo_surface__blit); } +/** + * igt_dirty_fb: + * @fd: open drm file descriptor + * @fb: pointer to an #igt_fb structure + * + * Flushes out the whole framebuffer. + * + * Returns: 0 upon success. + */ +int igt_dirty_fb(int fd, struct igt_fb *fb) +{ + return drmModeDirtyFB(fb->fd, fb->fb_id, NULL, 0); +} + static void destroy_cairo_surface__gtt(void *arg) { struct igt_fb *fb = arg; diff --git a/lib/igt_fb.h b/lib/igt_fb.h index 0a06899e..03bc9880 100644 --- a/lib/igt_fb.h +++ b/lib/igt_fb.h @@ -93,6 +93,7 @@ unsigned int igt_create_image_fb(int drm_fd, int width, int height, unsigned int igt_create_stereo_fb(int drm_fd, drmModeModeInfo *mode, uint32_t format, uint64_t tiling); void igt_remove_fb(int fd, struct igt_fb *fb); +int igt_dirty_fb(int fd, struct igt_fb *fb); /* cairo-based painting */ cairo_t *igt_get_cairo_ctx(int fd, struct igt_fb *fb); |