path: root/src/modules/evas/engines/drm/evas_engine.h
diff options
authorDerek Foreman <>2016-10-19 15:33:09 -0500
committerDerek Foreman <>2016-10-19 16:29:05 -0500
commit7a978fe58c67fb48d2d1769bbfb61fdd55225cd0 (patch)
tree9193f82b6ffe4ed821b9cbf2a0beee5eef00f051 /src/modules/evas/engines/drm/evas_engine.h
parent455afb707fe81f1f81874ba3ea753ffda853eca4 (diff)
evas_engines: Send both surface and buffer damage to outbuf_flush callback
Some engines should using sending surface damage, until now we'd only ever provided them with buffer damage. The difference is that surface damage is the damage to the surface the compositor is displaying, and the buffer damage is the damage to the buffer the client has rendered. These are different when the client is using multiple buffers of different ages to render into. Anything that calls eglSwapBuffersWithDamage, wl_surface_damage() or wl_surface_damage_buffer() should be using surface damage, and not buffer damage. This patch is intended to make no functional change - any flush cb that used buffer damage before still should. Actual fixes to follow. Apologies if I broke any engines - it's a bit of a copy and wasteland out here.
Diffstat (limited to 'src/modules/evas/engines/drm/evas_engine.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/modules/evas/engines/drm/evas_engine.h b/src/modules/evas/engines/drm/evas_engine.h
index f125379431..fe2228aea6 100644
--- a/src/modules/evas/engines/drm/evas_engine.h
+++ b/src/modules/evas/engines/drm/evas_engine.h
@@ -77,7 +77,7 @@ Render_Engine_Swap_Mode _outbuf_state_get(Outbuf *ob);
77void *_outbuf_update_region_new(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); 77void *_outbuf_update_region_new(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
78void _outbuf_update_region_push(Outbuf *ob, RGBA_Image *update, int x, int y, int w, int h); 78void _outbuf_update_region_push(Outbuf *ob, RGBA_Image *update, int x, int y, int w, int h);
79void _outbuf_update_region_free(Outbuf *ob, RGBA_Image *update); 79void _outbuf_update_region_free(Outbuf *ob, RGBA_Image *update);
80void _outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode); 80void _outbuf_flush(Outbuf *ob, Tilebuf_Rect *surface_damage, Tilebuf_Rect *buffer_damage, Evas_Render_Mode render_mode);
81void _outbuf_redraws_clear(Outbuf *ob); 81void _outbuf_redraws_clear(Outbuf *ob);
82 82
83#endif 83#endif