summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-04-25 17:25:52 +0900
committerHermet Park <hermetpark@gmail.com>2019-04-25 17:25:52 +0900
commitb37e6a4df6d01dc2fd7e96dee3a7c3b4ed4ce78d (patch)
tree7d7e4fbce2bed18e79ee8f3d425e091895d7170c
parent815535eebe25b5cec95a7ee676d345c4d7c4ff61 (diff)
downloadefl-b37e6a4df6d01dc2fd7e96dee3a7c3b4ed4ce78d.tar.gz
elementry win: support msaa, stencil and depth bits for wayland.
-rw-r--r--src/lib/elementary/efl_ui_win.c49
1 files 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))