From b37e6a4df6d01dc2fd7e96dee3a7c3b4ed4ce78d Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 25 Apr 2019 17:25:52 +0900 Subject: [PATCH] elementry win: support msaa, stencil and depth bits for wayland. --- src/lib/elementary/efl_ui_win.c | 49 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 1434ea0ed2..9091e56e73 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -5409,33 +5409,34 @@ _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); for (i = 0; i < p; i++) { + int opt[20], opt_i = 0; + + if (_elm_config->vsync) + { + opt[opt_i++] = ECORE_EVAS_OPT_VSYNC; + opt[opt_i++] = 1; + } + if (gl_depth) + { + opt[opt_i++] = ECORE_EVAS_OPT_GL_DEPTH; + opt[opt_i++] = gl_depth; + } + if (gl_stencil) + { + opt[opt_i++] = ECORE_EVAS_OPT_GL_STENCIL; + opt[opt_i++] = gl_stencil; + } + if (gl_msaa) + { + opt[opt_i++] = ECORE_EVAS_OPT_GL_MSAA; + opt[opt_i++] = gl_msaa; + } + 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)) { - int opt[20], opt_i = 0; - - if (_elm_config->vsync) - { - opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_VSYNC; - opt[opt_i++] = 1; - } - if (gl_depth) - { - opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_DEPTH; - opt[opt_i++] = gl_depth; - } - if (gl_stencil) - { - opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_STENCIL; - opt[opt_i++] = gl_stencil; - } - if (gl_msaa) - { - opt[opt_i++] = ECORE_EVAS_GL_X11_OPT_GL_MSAA; - opt[opt_i++] = gl_msaa; - } - opt[opt_i] = 0; if (opt_i > 0) tmp_sd.ee = ecore_evas_gl_x11_options_new(NULL, 0, 0, 0, 0, 0, opt); 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)) tmp_sd.ee = _wayland_shm_new(NULL, parent_id, 0, 0, 0, 0, 0); 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)) tmp_sd.ee = ecore_evas_software_gdi_new(NULL, 0, 0, 1, 1); else if (!strcmp(enginelist[i], ELM_SOFTWARE_DDRAW))