Repaint Issue

Abhijit Potnis abhijitpotnis at gmail.com
Wed Sep 12 01:32:09 PDT 2012


Hello Ander,

Thanks for the pointers.
I shall have a look as you suggested.

On Wed, Sep 12, 2012 at 12:53 AM, Ander Conselvan de Oliveira <
conselvan2 at gmail.com> wrote:

> On 09/11/2012 05:48 PM, Abhijit Potnis wrote:
>
>>      > Repaint is supposed to be as-needed only, not periodical, but
>> clearly
>>      > some trigger is missing. Maybe a new surface is not assigned an
>>     output
>>      > until redraw, and redraw does not happen until there is damage, and
>>      > damage is not applied, if the window is not mapped? Or something
>> like
>>      > that, chicken-and-egg problem with assigning an output. A wild
>>     guess...
>>      >
>>
>>
>> Ya, I too feel so. I see that the final weston_output_finish_frame()
>> call after
>>   a client is killed arrives with output->repaint_needed set to 0, and
>> hence
>>   weston_output_repaint is not called.
>>
>
> If there is nothing else updating the screen you would see this happen
> when the first frame without the killed surface is shown on the screen. So
> this is expect, although it seems you're getting this one frame too early.
>
>
>  How does the window unmap-ing
>> process occur ? Is this expected ?
>>
>
> Unmapping a surface involves damaging the area below the surface so it
> gets repainted on the next frame, removing the surface from the surface
> list, resetting keyboard and pointer focus if appropriate and scheduling a
> repaint. All this is done in weston_surface_unmap().
>
> It seems the problem you are seeing is caused by a failure to schedule a
> repaint. Looking at weston_surface_schedule_**repaint(), the only
> possible explanation for the failure would be the surface having a bad
> output_mask. So I would advise you to first verify if the output_mask is
> valid (i.e., the bits for the outputs the surface is in are set, should be
> 1 if you have just one output) and if that is invalid, try to figure out
> why you end up with a bad value. You probably want to look at
> weston_surface_assign_output() for that.
>
> Cheers,
> Ander
>



-- 
Regards,
Abhijit Potnis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20120912/f30e7659/attachment.html>


More information about the wayland-devel mailing list