summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/engine_drm.c47
-rw-r--r--src/bin/engine_drm.h8
2 files changed, 55 insertions, 0 deletions
diff --git a/src/bin/engine_drm.c b/src/bin/engine_drm.c
new file mode 100644
index 0000000..9c840b9
--- /dev/null
+++ b/src/bin/engine_drm.c
@@ -0,0 +1,47 @@
1#include "main.h"
2
3#include <Evas_Engine_Drm.h>
4
5Eina_Bool
6engine_drm_args(const char *engine __UNUSED__, int width, int height)
7{
8 Evas_Engine_Info_Drm *einfo;
9
10 evas_output_method_set(evas, evas_render_method_lookup("drm"));
11 einfo = (Evas_Engine_Info_Drm *)evas_engine_info_get(evas);
12 if (!einfo)
13 {
14 printf("Evas does not support the Drm Enginge\n");
15 return EINA_FALSE;
16 }
17
18 /* setup drm props in such a way so that evas itself will handle doing
19 * the drm card init, etc, etc because we are not using ecore_evas here */
20 einfo->info.fd = -1;
21 einfo->info.tty = -1;
22 einfo->info.output = -1;
23 einfo->info.plane = -1;
24 einfo->info.rotation = 0;
25 einfo->info.depth = 32;
26 einfo->info.destination_alpha = EINA_FALSE;
27
28 if (!evas_engine_info_set(evas, (Evas_Engine_Info *)einfo))
29 {
30 printf("Evas could not setup the information for the Drm Engine\n");
31 return EINA_FALSE;
32 }
33
34 return EINA_TRUE;
35}
36
37void
38engine_drm_loop(void)
39{
40
41}
42
43void
44engine_drm_shutdown(void)
45{
46
47}
diff --git a/src/bin/engine_drm.h b/src/bin/engine_drm.h
new file mode 100644
index 0000000..a031a9b
--- /dev/null
+++ b/src/bin/engine_drm.h
@@ -0,0 +1,8 @@
1#ifndef ENGINE_DRM_H
2#define ENGINE_DRM_H
3
4Eina_Bool engine_drm_args(const char *engine, int width, int height);
5void engine_drm_loop(void);
6void engine_drm_shutdown(void);
7
8#endif