elm win - we forgot to add gl_drm to possible elm win engines

this was forgotten it seems, so add it alongside drm engine etc. so we
can do accelerated gl in the "fb" via drm too for elm app windows.
This commit is contained in:
Carsten Haitzler 2019-01-08 14:41:30 +00:00
parent 12d2a4ce00
commit 1ff024c9bb
3 changed files with 18 additions and 4 deletions

View File

@ -5104,6 +5104,10 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
else if ((disp) && (!strcmp(disp, "fb")))
{
#ifdef HAVE_ELEMENTARY_DRM
if (is_gl_accel)
{
enginelist[p++] = ELM_GL_DRM;
}
enginelist[p++] = ELM_DRM;
#endif
#ifdef HAVE_ELEMENTARY_FB
@ -5160,6 +5164,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
enginelist[p++] = ELM_WAYLAND_EGL;
#endif
#ifdef HAVE_ELEMENTARY_DRM
enginelist[p++] = ELM_GL_DRM;
enginelist[p++] = ELM_DRM;
#endif
#ifdef HAVE_ELEMENTARY_FB
@ -5226,6 +5231,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
enginelist[p++] = ELM_WAYLAND_EGL;
#endif
#ifdef HAVE_ELEMENTARY_DRM
enginelist[p++] = ELM_GL_DRM;
enginelist[p++] = ELM_DRM;
#endif
#ifdef HAVE_ELEMENTARY_SDL
@ -5290,6 +5296,8 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
else if (!strcmp(enginelist[i], ELM_DRM))
tmp_sd.ee = ecore_evas_drm_new(NULL, 0, 0, 0, 1, 1);
else if (!strcmp(enginelist[i], ELM_GL_DRM))
tmp_sd.ee = ecore_evas_gl_drm_new(NULL, 0, 0, 0, 1, 1);
else if (!strncmp(enginelist[i], "shot:", 5))
{
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
@ -5535,7 +5543,8 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) ||
((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) &&
((engine) &&
((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))))))
((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))
|| (!strcmp(engine, ELM_GL_DRM))))))
{
Evas_Object *o;
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
@ -5604,7 +5613,8 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
_elm_win_count++;
if ((engine) &&
((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))))
((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))
|| (!strcmp(engine, ELM_GL_DRM))))
{
TRAP(sd, fullscreen_set, 1);
}
@ -6087,7 +6097,8 @@ _efl_ui_win_fullscreen_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Bool f
// YYY: handle if sd->img_obj
if (engine_name &&
((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
(!strcmp(engine_name, ELM_DRM))))
(!strcmp(engine_name, ELM_DRM)) ||
(!strcmp(engine_name, ELM_GL_DRM))))
{
// these engines... can ONLY be fullscreen
return;
@ -6112,7 +6123,8 @@ _efl_ui_win_fullscreen_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
if (engine_name &&
((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
(!strcmp(engine_name, ELM_DRM))))
(!strcmp(engine_name, ELM_DRM)) ||
(!strcmp(engine_name, ELM_GL_DRM))))
{
// these engines... can ONLY be fullscreen
return EINA_TRUE;

View File

@ -60,6 +60,7 @@ const char *_elm_engines[] = {
"wayland_egl",
"drm",
"ddraw",
"gl_drm",
NULL
};

View File

@ -190,6 +190,7 @@ extern const char *_elm_engines[];
# define ELM_WAYLAND_EGL (_elm_engines[10])
# define ELM_DRM (_elm_engines[11])
# define ELM_SOFTWARE_DDRAW (_elm_engines[12])
# define ELM_GL_DRM (_elm_engines[13])
# define ELM_FONT_TOKEN_STYLE ":style="