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.


_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to