evas: GL_X11 context need to always be with alpha or it will fail to change.

@fix
This commit is contained in:
Cedric BAIL 2014-10-09 12:20:53 +02:00
parent 36405c6556
commit 4ea75113ca
3 changed files with 7 additions and 17 deletions

View File

@ -994,7 +994,6 @@ eng_setup(Evas *eo_e, void *in)
info->info.depth,
e->output.w, e->output.h,
info->indirect,
info->info.destination_alpha,
info->info.rotation,
swap_mode);
if (!ob)
@ -1060,11 +1059,11 @@ eng_setup(Evas *eo_e, void *in)
(info->info.screen != eng_get_ob(re)->screen) ||
(info->info.visual != eng_get_ob(re)->visual) ||
(info->info.colormap != eng_get_ob(re)->colormap) ||
(info->info.depth != eng_get_ob(re)->depth) ||
(info->info.destination_alpha != eng_get_ob(re)->alpha))
(info->info.depth != eng_get_ob(re)->depth))
{
Outbuf *ob;
eng_get_ob(re)->gl_context->references++;
eng_window_free(eng_get_ob(re));
re->generic.software.ob = NULL;
gl_wins--;
@ -1078,7 +1077,6 @@ eng_setup(Evas *eo_e, void *in)
info->info.depth,
e->output.w, e->output.h,
info->indirect,
info->info.destination_alpha,
info->info.rotation,
swap_mode);
@ -1087,6 +1085,7 @@ eng_setup(Evas *eo_e, void *in)
{
evas_render_engine_software_generic_update(&re->generic.software, ob,
e->output.w, e->output.h);
eng_get_ob(re)->gl_context->references--;
gl_wins++;
}

View File

@ -158,7 +158,7 @@ Outbuf *eng_window_new(Evas_Engine_Info_GL_X11 *info, Evas *e,
Display *disp, Window win, int screen,
Visual *vis, Colormap cmap,
int depth, int w, int h, int indirect,
int alpha, int rot,
int rot,
Render_Engine_Swap_Mode swap_mode);
void eng_window_free(Outbuf *gw);
void eng_window_use(Outbuf *gw);

View File

@ -34,7 +34,6 @@ eng_window_new(Evas_Engine_Info_GL_X11 *info,
int w,
int h,
int indirect EINA_UNUSED,
int alpha,
int rot,
Render_Engine_Swap_Mode swap_mode)
{
@ -60,7 +59,7 @@ eng_window_new(Evas_Engine_Info_GL_X11 *info,
gw->visual = vis;
gw->colormap = cmap;
gw->depth = depth;
gw->alpha = alpha;
gw->alpha = 1;
gw->w = w;
gw->h = h;
gw->rot = rot;
@ -93,16 +92,8 @@ eng_window_new(Evas_Engine_Info_GL_X11 *info,
config_attrs[n++] = 1;
// FIXME: end n900 breakage
# endif
if (gw->alpha)
{
config_attrs[n++] = EGL_ALPHA_SIZE;
config_attrs[n++] = 1;
}
else
{
config_attrs[n++] = EGL_ALPHA_SIZE;
config_attrs[n++] = 0;
}
config_attrs[n++] = EGL_ALPHA_SIZE;
config_attrs[n++] = 1;
config_attrs[n++] = EGL_DEPTH_SIZE;
config_attrs[n++] = 0;
config_attrs[n++] = EGL_STENCIL_SIZE;