Commits on Source (6)
-
Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
2d713473 -
Before rendering a surface, its visible region is intersected with the damage region in global space. The resulting region is compressed (first step) and transformed to surface space (second step) for clipping. These steps sometimes happen twice when a paint node both has an opaque and a translucent region. This commit makes sure the first step happens just once. Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
2170caad -
Previous commit ensured damage rects compression (first step) happens just once when a paint node both has an opaque and a translucent region. This one makes sure that the damage rects transformation to surface space (second step) happens just once. Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
445e83c4 -
The axis alignment test is part of the damage transformation routine executed for each damage rect. Extract it in order to compute it once per paint node. Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
946bb51a -
transform_damage() expects a non-empty damage region. Remove compress_bands()'s run-time handling of errors and use asserts to prevent programming errors. Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
7ba16ef2 -
No need to update x1, x2 and y1 when merging a damage rect into a previous one because they don't change. Melt merge_rect() into the band compression routine as it's quite short now and convert the boolean-based for/else construct to a more concise goto-based one. Describe the compression logic to give a bit more context. Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
bc2d3005