diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2016-03-24 15:39:02 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-03-24 15:39:02 +0100 |
commit | a9ea738067dc81913dd6229b565ee6620f7e2482 (patch) | |
tree | 19cec1080c10b773f647eac06b7be45e946fb795 | |
parent | 187097bc1722406fb62597df26308529fec6951e (diff) | |
download | fbida-a9ea738067dc81913dd6229b565ee6620f7e2482.tar.gz |
drm: add flush2.11
-rw-r--r-- | drmtools.c | 6 | ||||
-rw-r--r-- | fb-gui.c | 2 | ||||
-rw-r--r-- | gfx.h | 1 |
3 files changed, 9 insertions, 0 deletions
@@ -200,6 +200,11 @@ static void drm_restore_display(void) drm_show_fb(); } +static void drm_flush_display(void) +{ + drmModeDirtyFB(fd, fb_id, 0, 0); +} + gfxstate *drm_init(const char *device, const char *output) { gfxstate *gfx; @@ -240,6 +245,7 @@ gfxstate *drm_init(const char *device, const char *output) gfx->restore_display = drm_restore_display; gfx->cleanup_display = drm_cleanup_display; + gfx->flush_display = drm_flush_display; return gfx; } @@ -101,6 +101,8 @@ void shadow_render(gfxstate *gfx) shadow_render_line(gfx, i, gfx->mem + offset, shadow[i]); sdirty[i] = 0; } + if (gfx->flush_display) + gfx->flush_display(); } void shadow_clear_lines(int first, int last) @@ -16,4 +16,5 @@ struct gfxstate { /* calls */ void (*restore_display)(void); void (*cleanup_display)(void); + void (*flush_display)(void); }; |