summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h
diff options
context:
space:
mode:
authorMun, Gwan-gyeong <kk.moon@samsung.com>2014-08-21 11:22:16 +0200
committerCedric BAIL <cedric@osg.samsung.com>2014-08-21 12:04:53 +0200
commitf5b81093978fbbe411f9fb509617b6f4081f8da8 (patch)
tree7c6ad1c9bea56711ce23467bcd95c2b5168b3af1 /src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h
parent23892343cce3b561e98dd050821cad0bed1ce887 (diff)
evas: add evas gl-drm engine
Summary: This is the first step to introduce a gl-drm backend. Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend. @feature Reviewers: raster, Hermet, cedric, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1187 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to 'src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h')
-rw-r--r--src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h b/src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h
new file mode 100644
index 0000000000..3f41beeca9
--- /dev/null
+++ b/src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h
@@ -0,0 +1,44 @@
1#ifndef _EVAS_ENGINE_GL_DRM_H
2# define _EVAS_ENGINE_GL_DRM_H
3
4# include <gbm.h>
5
6typedef struct _Evas_Engine_Info_GL_Drm Evas_Engine_Info_GL_Drm;
7
8struct _Evas_Engine_Info_GL_Drm
9{
10 /* PRIVATE - don't mess with this baby or evas will poke its tongue out
11 * at you and make nasty noises */
12 Evas_Engine_Info magic;
13
14 /* engine specific data & parameters it needs to set up */
15 struct
16 {
17 struct gbm_device *gbm;
18 struct gbm_surface *surface;
19 uint32_t format;
20 uint32_t flags;
21 int depth, screen, rotation;
22 unsigned char destination_alpha : 1;
23 int fd, tty;
24 Eina_Bool own_fd : 1;
25 Eina_Bool own_tty : 1;
26 int output, plane;
27 } info;
28
29 struct
30 {
31 void (*pre_swap) (void *data, Evas *evas);
32 void (*post_swap) (void *data, Evas *evas);
33 void *data;
34 } callback;
35
36 /* non-blocking or blocking mode */
37 Evas_Engine_Render_Mode render_mode;
38
39 unsigned char vsync : 1;
40 unsigned char indirect : 1;
41 unsigned char swap_mode : 4;
42};
43
44#endif