derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dce3fcda866439750eaa9c82f05c2bfb059d14dc

commit dce3fcda866439750eaa9c82f05c2bfb059d14dc
Author: Derek Foreman <[email protected]>
Date:   Thu Jan 25 16:09:19 2018 -0600

    ecore_wl2: Add buffer_age_set and use it in surface code
---
 src/lib/ecore_wl2/Ecore_Wl2.h         | 1 +
 src/lib/ecore_wl2/ecore_wl2_buffer.c  | 7 +++++++
 src/lib/ecore_wl2/ecore_wl2_surface.c | 6 +++---
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index ebb8783ff7..423bcff478 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -2010,6 +2010,7 @@ EAPI void ecore_wl2_buffer_destroy(Ecore_Wl2_Buffer *b);
 EAPI Eina_Bool ecore_wl2_buffer_busy_get(Ecore_Wl2_Buffer *buffer);
 EAPI void ecore_wl2_buffer_busy_set(Ecore_Wl2_Buffer *buffer);
 EAPI int ecore_wl2_buffer_age_get(Ecore_Wl2_Buffer *buffer);
+EAPI void ecore_wl2_buffer_age_set(Ecore_Wl2_Buffer *buffer, int age);
 
 EAPI Ecore_Wl2_Surface *ecore_wl2_surface_create(Ecore_Wl2_Window *win, 
Eina_Bool alpha);
 EAPI void ecore_wl2_surface_destroy(Ecore_Wl2_Surface *surface);
diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c 
b/src/lib/ecore_wl2/ecore_wl2_buffer.c
index f9a633f629..1a5769c821 100644
--- a/src/lib/ecore_wl2/ecore_wl2_buffer.c
+++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c
@@ -696,6 +696,13 @@ ecore_wl2_buffer_age_get(Ecore_Wl2_Buffer *buffer)
    return buffer->age;
 }
 
+EAPI void ecore_wl2_buffer_age_set(Ecore_Wl2_Buffer *buffer, int age)
+{
+   EINA_SAFETY_ON_NULL_RETURN(buffer);
+
+   buffer->age = age;
+}
+
 static Ecore_Wl2_Buffer *
 _ecore_wl2_buffer_partial_create(int w, int h, Eina_Bool alpha)
 {
diff --git a/src/lib/ecore_wl2/ecore_wl2_surface.c 
b/src/lib/ecore_wl2/ecore_wl2_surface.c
index 08a62076b5..acfcf896c3 100644
--- a/src/lib/ecore_wl2/ecore_wl2_surface.c
+++ b/src/lib/ecore_wl2/ecore_wl2_surface.c
@@ -106,7 +106,7 @@ _evas_dmabuf_surface_wait(Ecore_Wl2_Surface *s)
 
         best = ecore_wl2_buffer_create(ewd, s->w, s->h, s->alpha);
         /* Start at -1 so it's age is incremented to 0 for first draw */
-        best->age = -1;
+        ecore_wl2_buffer_age_set(best, -1);
         s->buffers = eina_list_append(s->buffers, best);
      }
    return best;
@@ -128,7 +128,7 @@ _evas_dmabuf_surface_assign(Ecore_Wl2_Surface *s)
          */
         WRN("No free DMAbuf buffers, dropping a frame");
         EINA_LIST_FOREACH(s->buffers, l, b)
-          b->age = 0;
+          ecore_wl2_buffer_age_set(b, 0);
         return 0;
      }
    EINA_LIST_FOREACH(s->buffers, l, b)
@@ -149,7 +149,7 @@ _evas_dmabuf_surface_post(Ecore_Wl2_Surface *s, 
Eina_Rectangle *rects, unsigned
 
    s->current = NULL;
    ecore_wl2_buffer_busy_set(b);
-   b->age = 0;
+   ecore_wl2_buffer_age_set(b, 0);
 
    ecore_wl2_window_buffer_attach(s->wl2_win, b->wl_buffer, 0, 0, EINA_FALSE);
    ecore_wl2_window_damage(s->wl2_win, rects, count);

-- 


Reply via email to