On Fri, Sep 7, 2012 at 7:32 AM, Ander Conselvan de Oliveira < [email protected]> wrote:
> Since commit d523a87d2d8c0099d8ac323375b3d083aafccf9a [1], I'm not sure where you got this sha from but it's wrong. There is no such commit in weston. > window.opaque > would be 1 only in fullscreen mode, causing the opaque region to be set > only when running in fullscreen mode. Having it set properly for the > windowed case is helpful to test the overlay path in compositor-drm. > > This reverts that commit and makes window.opaque independent of the -f > switch. Instead, we set the opaque region if the window is fullscreen > or -o was passed and leave window.opaque alone in the case -f was > passed. > Did you read the entire commit message? It seems you have cut it here so I will post it: commit 6a615d262141de7cf094788203d9c044dfb9f08d Author: Scott Moreau <[email protected]> Date: Thu Aug 30 14:44:16 2012 -0600 simple-egl: Only set alpha_size=0 when -o is passed. When starting simple-egl with -f for fullscreen and toggling to 'windowed' mode with F11, the surface is opaque instead of semi-trnasparent as it is when starting without -f. We only want to create the surface with alpha_size=0 when the user explicitly passes -o because otherwise it will never have the ability to use alpha. > [1] commit d523a87d2d8c0099d8ac323375b3d083aafccf9a > The correct commit id is 6a615d262141de7cf094788203d9c044dfb9f08d, see above. > Author: Scott Moreau <[email protected]> > Date: Thu Aug 30 14:44:16 2012 -0600 > > simple-egl: Only set alpha_size=0 when -o is passed. > --- > clients/simple-egl.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/clients/simple-egl.c b/clients/simple-egl.c > index 808c2ee..a67ce2f 100644 > --- a/clients/simple-egl.c > +++ b/clients/simple-egl.c > @@ -280,12 +280,10 @@ toggle_fullscreen(struct window *window, int > fullscreen) > window->configured = 0; > > if (fullscreen) { > - window->opaque = 1; > wl_shell_surface_set_fullscreen(window->shell_surface, > > WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, > 0, NULL); > } else { > - window->opaque = 0; > wl_shell_surface_set_toplevel(window->shell_surface); > handle_configure(window, window->shell_surface, 0, > window->window_size.width, > @@ -403,7 +401,7 @@ redraw(void *data, struct wl_callback *callback, > uint32_t time) > > eglSwapBuffers(window->display->egl.dpy, window->egl_surface); > > - if (window->opaque) { > + if (window->opaque || window->fullscreen) { > region = > wl_compositor_create_region(window->display->compositor); > wl_region_add(region, 0, 0, > window->window_size.width, > @@ -594,7 +592,7 @@ main(int argc, char **argv) > struct sigaction sigint; > struct display display = { 0 }; > struct window window = { 0 }; > - int i, opaque = 0; > + int i; > > window.display = &display; > display.window = &window; > @@ -605,7 +603,7 @@ main(int argc, char **argv) > if (strcmp("-f", argv[i]) == 0) > window.fullscreen = 1; > else if (strcmp("-o", argv[i]) == 0) > - opaque = 1; > + window.opaque = 1; > else if (strcmp("-h", argv[i]) == 0) > usage(EXIT_SUCCESS); > else > @@ -621,10 +619,7 @@ main(int argc, char **argv) > wl_display_get_fd(display.display, event_mask_update, &display); > wl_display_iterate(display.display, WL_DISPLAY_READABLE); > > - if (window.fullscreen) > - window.opaque = 1; > - > - init_egl(&display, opaque); > + init_egl(&display, window.opaque); > create_surface(&window); > init_gl(&window); > > -- > 1.7.9.5 > > I'm not sure what you're trying to do with your patches here but please note the problem that this commit fixed and do not break it. Thanks, Scott
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
