summaryrefslogtreecommitdiff
path: root/src/bin/engine_drm.c
blob: 254870606b44eec6b18d23a010d2624f7ea2b76b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "main.h"

#include <Evas_Engine_Drm.h>

Eina_Bool 
engine_drm_args(const char *engine __UNUSED__, int width __UNUSED__, int height __UNUSED__)
{
   Evas_Engine_Info_Drm *einfo;

   evas_output_method_set(evas, evas_render_method_lookup("drm"));
   einfo = (Evas_Engine_Info_Drm *)evas_engine_info_get(evas);
   if (!einfo)
     {
        printf("Evas does not support the Drm Enginge\n");
        return EINA_FALSE;
     }

   /* setup drm props in such a way so that evas itself will handle doing 
    * the drm card init, etc, etc because we are not using ecore_evas here */
   einfo->info.fd = -1;
   einfo->info.tty = -1;
   einfo->info.output = -1;
   einfo->info.plane = -1;
   einfo->info.rotation = 0;
   einfo->info.depth = 32;
   einfo->info.destination_alpha = EINA_FALSE;
   einfo->info.vsync = EINA_FALSE;

   if (!evas_engine_info_set(evas, (Evas_Engine_Info *)einfo))
     {
        printf("Evas could not setup the information for the Drm Engine\n");
        return EINA_FALSE;
     }

   return EINA_TRUE;
}

void 
engine_drm_loop(void)
{

}

void 
engine_drm_shutdown(void)
{

}