<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 19, 2014 at 7:22 AM, Daniel Stone <span dir="ltr"><<a href="mailto:daniel@fooishbar.org" target="_blank">daniel@fooishbar.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote"><span class="">On 19 November 2014 14:58, Derek Foreman <span dir="ltr"><<a href="mailto:derekf@osg.samsung.com" target="_blank">derekf@osg.samsung.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><span style="color:rgb(34,34,34)">Since we're sort of on the topic, is there anywhere we gain anything</span><br></div></div>
from y-x banded regions?  I'm wondering if it would be worthwhile to<br>
replace pixman's region code with something that doesn't band.  I think<br>
this would let us drop the pixman dependency when not building the<br>
pixman renderer...</blockquote><div><br></div></span><div>Not really, no. Pixman only does it because the X server requires regions to be marked as YX-banded to be deigned valid (or 'complete', as an FBO analogy), and a number of the rendering algorithms in the server depend on it.</div><div><br></div><div>We don't have any of that, so can happily do without banding. A patch to Pixman which would optionally drop the strict banding would be nice, but if there's a small enough region implementation we could use instead, that could work.</div></div></div></div></blockquote><div><br></div><div>It's more that the algorithms for combining regions only work in the case where you have a vertically-sorted list of horizontal bands. So, you would have to come up with an entirely new algorithm for pixman_region_union, pixman_region_subtract, etc. if want some other format.<br><br></div><div>What's the format you're suggesting? If we flip the axes (horizontally sorted list of vertical bands), then it will work fine for the move up/down case, but break for the left/right case.<br><br></div><div>Derek's approach of post-processing the bands to make a minimal set of overall rectangles seems fine to me. <br><br></div><div>If we only need union, then we could very simply create our own region class that did what we wanted. [0]<br><br>[0] Or steal <a href="http://cgit.freedesktop.org/plymouth/tree/src/libply/ply-region.c">http://cgit.freedesktop.org/plymouth/tree/src/libply/ply-region.c</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Cheers,</div><div>Dan</div></div></div></div>
<br>_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">  Jasper<br></div>
</div></div>