derekf pushed a commit to branch master.

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

commit ea1f76f9809974f20c0451d4625040e97566796a
Author: Derek Foreman <[email protected]>
Date:   Mon Nov 20 16:53:31 2017 -0600

    drm ee: Allow more than 4 buffers
    
    Multi-head is hitting corner cases where there are lots of locked buffers
    and it looks like right now 5 is the magic number that makes the problem
    go away.
    
    Make it possible to set 5 or more (via env var) for testing, make a macro
    for MAX_BUFFERS instead of just a number.
---
 src/modules/evas/engines/drm/evas_engine.h | 4 +++-
 src/modules/evas/engines/drm/evas_outbuf.c | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/drm/evas_engine.h 
b/src/modules/evas/engines/drm/evas_engine.h
index c19ac4c369..af9cc4da3d 100644
--- a/src/modules/evas/engines/drm/evas_engine.h
+++ b/src/modules/evas/engines/drm/evas_engine.h
@@ -41,6 +41,8 @@ extern int _evas_engine_drm_log_dom;
 # endif
 # define CRI(...) EINA_LOG_DOM_CRIT(_evas_engine_drm_log_dom, __VA_ARGS__)
 
+#define MAX_BUFFERS 10
+
 typedef struct _Outbuf_Fb
 {
    int age;
@@ -61,7 +63,7 @@ struct _Outbuf
    struct
      {
         int num;
-        Outbuf_Fb ofb[4], *draw;
+        Outbuf_Fb ofb[MAX_BUFFERS], *draw;
         Ecore_Drm2_Output *output;
         Ecore_Drm2_Plane *plane;
         Eina_List *pending;
diff --git a/src/modules/evas/engines/drm/evas_outbuf.c 
b/src/modules/evas/engines/drm/evas_outbuf.c
index 5e76d26424..0e525d566b 100644
--- a/src/modules/evas/engines/drm/evas_outbuf.c
+++ b/src/modules/evas/engines/drm/evas_outbuf.c
@@ -87,7 +87,7 @@ _outbuf_setup(Evas_Engine_Info_Drm *info, int w, int h)
      {
         ob->priv.num = atoi(num);
         if (ob->priv.num <= 0) ob->priv.num = 3;
-        else if (ob->priv.num > 4) ob->priv.num = 4;
+        else if (ob->priv.num > MAX_BUFFERS) ob->priv.num = MAX_BUFFERS;
      }
 
    if ((ob->rotation == 0) || (ob->rotation == 180))

-- 


Reply via email to