summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/drm/evas_engine.h
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-04-07 10:51:13 -0400
committerStefan Schmidt <s.schmidt@samsung.com>2015-04-09 17:40:53 +0200
commitd815d9bd108a11628ac4e8679957b05cf49b3c3f (patch)
tree63fad9b160438c77cf20ee50aac127c1e102cea7 /src/modules/evas/engines/drm/evas_engine.h
parent318f2c435a8013e75c0e9804bfea6fbb223f07f4 (diff)
evas-drm: Use Ecore_Drm_Fb for framebuffers
Summary: This commit changes the evas drm engine to use Ecore_Drm_Fb for framebuffers. We remove the old 'Buffer' structure from the evas engine and replace it in Outbuf with Ecore_Drm_Fb. This also removes unused functions from the evas_drm.c file as we can now use ecore_drm_fb calls @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src/modules/evas/engines/drm/evas_engine.h')
-rw-r--r--src/modules/evas/engines/drm/evas_engine.h25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/modules/evas/engines/drm/evas_engine.h b/src/modules/evas/engines/drm/evas_engine.h
index 4bb6a9157f..7a4dffe26a 100644
--- a/src/modules/evas/engines/drm/evas_engine.h
+++ b/src/modules/evas/engines/drm/evas_engine.h
@@ -49,25 +49,8 @@ extern int _evas_engine_drm_log_dom;
49/* define a maximum number of 'buffers' (double-buff, triple-buff, etc) */ 49/* define a maximum number of 'buffers' (double-buff, triple-buff, etc) */
50# define NUM_BUFFERS 2 50# define NUM_BUFFERS 2
51 51
52typedef struct _Buffer Buffer;
53typedef struct _Plane Plane; 52typedef struct _Plane Plane;
54 53
55struct _Buffer
56{
57 int w, h;
58 int stride, size;
59 int handle;
60 unsigned int fb;
61
62 void *data; // used for software framebuffers
63
64# ifdef HAVE_DRM_HW_ACCEL
65 void *bo; // used for hardware framebuffers
66# endif
67
68 Eina_Bool valid : 1;
69};
70
71struct _Plane 54struct _Plane
72{ 55{
73 unsigned int id; 56 unsigned int id;
@@ -93,7 +76,7 @@ struct _Outbuf
93 76
94 struct 77 struct
95 { 78 {
96 Buffer buffer[NUM_BUFFERS]; 79 Ecore_Drm_Fb *buffer[NUM_BUFFERS];
97 80
98 Eina_List *pending_writes; 81 Eina_List *pending_writes;
99 Eina_List *planes; 82 Eina_List *planes;
@@ -128,9 +111,7 @@ void evas_outbuf_update_region_free(Outbuf *ob, RGBA_Image *update);
128void evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode); 111void evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode);
129 112
130Eina_Bool evas_drm_outbuf_setup(Outbuf *ob); 113Eina_Bool evas_drm_outbuf_setup(Outbuf *ob);
131void evas_drm_outbuf_framebuffer_set(Outbuf *ob, Buffer *buffer); 114void evas_drm_outbuf_framebuffer_set(Outbuf *ob, Ecore_Drm_Fb *buffer);
132Eina_Bool evas_drm_framebuffer_create(int fd, Buffer *buffer, int depth); 115Eina_Bool evas_drm_framebuffer_send(Outbuf *ob, Ecore_Drm_Fb *buffer);
133void evas_drm_framebuffer_destroy(int fd, Buffer *buffer);
134Eina_Bool evas_drm_framebuffer_send(Outbuf *ob, Buffer *buffer);
135 116
136#endif 117#endif