elementry win: support msaa, stencil and depth bits for wayland.

This commit is contained in:
Hermet Park 2019-04-25 17:25:52 +09:00
parent 815535eebe
commit b37e6a4df6
1 changed files with 25 additions and 24 deletions

View File

@ -5408,34 +5408,35 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
} }
if (parent) parent_id = elm_win_window_id_get(parent); if (parent) parent_id = elm_win_window_id_get(parent);
for (i = 0; i < p; i++) for (i = 0; i < p; i++)
{
if (!strcmp(enginelist[i], ELM_SOFTWARE_X11))
tmp_sd.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
else if (!strcmp(enginelist[i], ELM_OPENGL_X11))
{ {
int opt[20], opt_i = 0; int opt[20], opt_i = 0;
if (_elm_config->vsync) if (_elm_config->vsync)
{ {
opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_VSYNC; opt[opt_i++] = ECORE_EVAS_OPT_VSYNC;
opt[opt_i++] = 1; opt[opt_i++] = 1;
} }
if (gl_depth) if (gl_depth)
{ {
opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_DEPTH; opt[opt_i++] = ECORE_EVAS_OPT_GL_DEPTH;
opt[opt_i++] = gl_depth; opt[opt_i++] = gl_depth;
} }
if (gl_stencil) if (gl_stencil)
{ {
opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_STENCIL; opt[opt_i++] = ECORE_EVAS_OPT_GL_STENCIL;
opt[opt_i++] = gl_stencil; opt[opt_i++] = gl_stencil;
} }
if (gl_msaa) if (gl_msaa)
{ {
opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_MSAA; opt[opt_i++] = ECORE_EVAS_OPT_GL_MSAA;
opt[opt_i++] = gl_msaa; opt[opt_i++] = gl_msaa;
} }
opt[opt_i] = 0; opt[opt_i] = 0;
if (!strcmp(enginelist[i], ELM_SOFTWARE_X11))
tmp_sd.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
else if (!strcmp(enginelist[i], ELM_OPENGL_X11))
{
if (opt_i > 0) if (opt_i > 0)
tmp_sd.ee = ecore_evas_gl_x11_options_new(NULL, 0, 0, 0, 0, 0, opt); tmp_sd.ee = ecore_evas_gl_x11_options_new(NULL, 0, 0, 0, 0, 0, opt);
else else
@ -5444,7 +5445,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
else if (!strcmp(enginelist[i], ELM_WAYLAND_SHM)) else if (!strcmp(enginelist[i], ELM_WAYLAND_SHM))
tmp_sd.ee = _wayland_shm_new(NULL, parent_id, 0, 0, 0, 0, 0); tmp_sd.ee = _wayland_shm_new(NULL, parent_id, 0, 0, 0, 0, 0);
else if (!strcmp(enginelist[i], ELM_WAYLAND_EGL)) else if (!strcmp(enginelist[i], ELM_WAYLAND_EGL))
tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0, NULL); tmp_sd.ee = _wayland_egl_new(NULL, parent_id, 0, 0, 0, 0, 0, (opt_i > 0) ? opt : NULL);
else if (!strcmp(enginelist[i], ELM_SOFTWARE_WIN32)) else if (!strcmp(enginelist[i], ELM_SOFTWARE_WIN32))
tmp_sd.ee = ecore_evas_software_gdi_new(NULL, 0, 0, 1, 1); tmp_sd.ee = ecore_evas_software_gdi_new(NULL, 0, 0, 1, 1);
else if (!strcmp(enginelist[i], ELM_SOFTWARE_DDRAW)) else if (!strcmp(enginelist[i], ELM_SOFTWARE_DDRAW))