summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/software_gdi/evas_outbuf.c
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-10-19 15:33:09 -0500
committerDerek Foreman <derekf@osg.samsung.com>2016-10-19 16:29:05 -0500
commit7a978fe58c67fb48d2d1769bbfb61fdd55225cd0 (patch)
tree9193f82b6ffe4ed821b9cbf2a0beee5eef00f051 /src/modules/evas/engines/software_gdi/evas_outbuf.c
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/software_gdi/evas_outbuf.c')
-rw-r--r--src/modules/evas/engines/software_gdi/evas_outbuf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/evas/engines/software_gdi/evas_outbuf.c b/src/modules/evas/engines/software_gdi/evas_outbuf.c
index d8186d2..e58692e 100644
--- a/src/modules/evas/engines/software_gdi/evas_outbuf.c
+++ b/src/modules/evas/engines/software_gdi/evas_outbuf.c
@@ -120,7 +120,7 @@ evas_software_gdi_outbuf_free(Outbuf *buf)
120 free(obr); 120 free(obr);
121 } 121 }
122 evas_software_gdi_outbuf_idle_flush(buf); 122 evas_software_gdi_outbuf_idle_flush(buf);
123 evas_software_gdi_outbuf_flush(buf, NULL, MODE_FULL); 123 evas_software_gdi_outbuf_flush(buf, NULL, NULL, MODE_FULL);
124 124
125 evas_software_gdi_shutdown(buf); 125 evas_software_gdi_shutdown(buf);
126 free(buf); 126 free(buf);
@@ -563,7 +563,7 @@ evas_software_gdi_outbuf_free_region_for_update(Outbuf *buf EINA_UNUSED,
563} 563}
564 564
565void 565void
566evas_software_gdi_outbuf_flush(Outbuf *buf, Tilebuf_Rect *rects EINA_UNUSED, Evas_Render_Mode render_mode) 566evas_software_gdi_outbuf_flush(Outbuf *buf, Tilebuf_Rect *surface_damage EINA_UNUSED, Tilebuf_Rect *buffer_damage EINA_UNUSED, Evas_Render_Mode render_mode)
567{ 567{
568 Eina_List *l; 568 Eina_List *l;
569 RGBA_Image *im; 569 RGBA_Image *im;