summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/drm/evas_engine.h
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-11-20 16:53:31 -0600
committerDerek Foreman <derekf@osg.samsung.com>2017-11-20 16:54:00 -0600
commitea1f76f9809974f20c0451d4625040e97566796a (patch)
tree635cfce4daa4717741598f09102d68f1a068198e /src/modules/evas/engines/drm/evas_engine.h
parentf0f02d33864a8d4110cf9b2c7002f7e222312ca6 (diff)
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.
Diffstat (limited to 'src/modules/evas/engines/drm/evas_engine.h')
-rw-r--r--src/modules/evas/engines/drm/evas_engine.h4
1 files changed, 3 insertions, 1 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;
41# endif 41# endif
42# define CRI(...) EINA_LOG_DOM_CRIT(_evas_engine_drm_log_dom, __VA_ARGS__) 42# define CRI(...) EINA_LOG_DOM_CRIT(_evas_engine_drm_log_dom, __VA_ARGS__)
43 43
44#define MAX_BUFFERS 10
45
44typedef struct _Outbuf_Fb 46typedef struct _Outbuf_Fb
45{ 47{
46 int age; 48 int age;
@@ -61,7 +63,7 @@ struct _Outbuf
61 struct 63 struct
62 { 64 {
63 int num; 65 int num;
64 Outbuf_Fb ofb[4], *draw; 66 Outbuf_Fb ofb[MAX_BUFFERS], *draw;
65 Ecore_Drm2_Output *output; 67 Ecore_Drm2_Output *output;
66 Ecore_Drm2_Plane *plane; 68 Ecore_Drm2_Plane *plane;
67 Eina_List *pending; 69 Eina_List *pending;