devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3692f0905c11527c1d723c333c9bb3e1d5af66b7
commit 3692f0905c11527c1d723c333c9bb3e1d5af66b7 Author: Chris Michael <[email protected]> Date: Wed Mar 5 07:09:19 2014 +0000 evas-drm: Check buffer validity in swap function @bugfix: Check (and set) buffer validity before calling framebuffer_send. This fixes an issue where buffer was not valid, causing next_update_get to do full Copies. Signed-off-by: Chris Michael <[email protected]> --- src/modules/evas/engines/drm/evas_outbuf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/evas/engines/drm/evas_outbuf.c b/src/modules/evas/engines/drm/evas_outbuf.c index a391c7e..2008f92 100644 --- a/src/modules/evas/engines/drm/evas_outbuf.c +++ b/src/modules/evas/engines/drm/evas_outbuf.c @@ -58,6 +58,9 @@ _evas_outbuf_buffer_swap(Outbuf *ob, Eina_Rectangle *rects, unsigned int count) buff = &(ob->priv.buffer[ob->priv.curr]); + /* if this buffer is not valid, we need to set it */ + if (!buff->valid) evas_drm_outbuf_framebuffer_set(ob, buff); + /* mark the fb as dirty */ _evas_outbuf_buffer_put(ob, buff, rects, count); --
