[PATCH 00/15] weston scaling support
Bill Spitzak
spitzak at gmail.com
Thu May 30 07:47:11 PDT 2013
On 05/30/2013 12:42 AM, Alexander Larsson wrote:
>> The compositor will produce regions that are not integers in surface
>> space. For instance the damage from an overlapping window atop a surface
>> who's scale is not an integer will produce a region that is fractional
>> in that lower surface's space.
>
> Damage from clients is in surface space, which will be in integer
> fraction of the output space. Its true that it may be a fractional
> coordinate of the buffer space of a window below it, but it will be an
> integer coordinate in both windows *surface* space and the output space.
> So, you can clip the output drawing to integer coordinates (well, you
> have to, can't draw half an output pixel) and let the actual scaling to
> fractional coordinates happen purely in the implementation of the
> drawing operation.
I recommend that damage from clients be in "drawing space", since they
are probably closely related to the drawing code anyway. This has the
advantage that integers always mean buffer pixels and you can get any
integer location in the buffer.
What I was talking about is damage in the compositor from an overlapping
rectangle of another surface. This is not going to be an integer in
either surface space or buffer space.
More information about the wayland-devel
mailing list