[PATCH 1/3] simple-egl: Set the opaque region if windowed and -o is passed

Ander Conselvan de Oliveira conselvan2 at gmail.com
Mon Sep 10 05:02:00 PDT 2012

Hi Scott,

Thanks for reviewing!

On 09/07/2012 11:23 PM, Scott Moreau wrote:
> On Fri, Sep 7, 2012 at 7:32 AM, Ander Conselvan de Oliveira
> <conselvan2 at gmail.com <mailto:conselvan2 at gmail.com>> 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.

My mistake. I had a rebased branch with one extra commit that I used for 
bisecting and forgot to change to master before doing this.

>     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:

I did. And it seems I forgot to mention in the commit message that this 
patch does not regress the bug solved in said commit, it just, IMO, a 
better fix for the problem.


> 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.

What I'm trying to do here is have the opaque region of the simple-egl 
surface set properly when it is run with the -o switch, even when not 
running fullscreen. That setup uncovered a bug where too much redrawing 
was culled when using overlays.

I guess I created this whole mess because when I added fullscreen 
support I made it use an XRGB config to test the scanning out of client 
buffers. The "if (fullscreen) opaque = 1;" conditional survived this 
far, but since the introduction of '-o' it shouldn't be needed anymore. 
(Well, the compositor should know that a fullscreen surface is opaque 
anyway, but that's a different story.)

So what this patch does is:

  - reverts your patch;
  - removes the if fullscreen make the window opaque switch, which fixes 
the problem of getting an opaque window if simple-egl is launched with 
-f and later made not fullscreen;
  - sets the opaque region in redraw() also when in fullscreen mode, 
regardless of the -o switch, so the compositor still scans out the 
client buffers in that case.

Anyway, I'll resend the patch with the correct sha1 of the commit and 
try to be clearer about what the patch does.


More information about the wayland-devel mailing list