<div dir="ltr"><div><div><div>reply subject line not offered. <br></div>fvwm not finding pixmap was my initial reason for subscribing most of this coding is over my head.=) how would I upgrade pixmap <br></div><br>pixmap -0.26.2 is my current app. <br><br></div>Thanks<br><br>  nick <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 13, 2016 at 2:00 PM,  <span dir="ltr"><<a href="mailto:pixman-request@lists.freedesktop.org" target="_blank">pixman-request@lists.freedesktop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Pixman mailing list submissions to<br>
        <a href="mailto:pixman@lists.freedesktop.org">pixman@lists.freedesktop.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.freedesktop.org/mailman/listinfo/pixman" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/pixman</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:pixman-request@lists.freedesktop.org">pixman-request@lists.freedesktop.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:pixman-owner@lists.freedesktop.org">pixman-owner@lists.freedesktop.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Pixman digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. Re: Cleaning patchwork (Pekka Paalanen)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Wed, 13 Jan 2016 15:16:38 +0200<br>
From: Pekka Paalanen <<a href="mailto:pekka.paalanen@collabora.co.uk">pekka.paalanen@collabora.co.uk</a>><br>
To: Oded Gabbay <<a href="mailto:oded.gabbay@gmail.com">oded.gabbay@gmail.com</a>><br>
Cc: pixman <<a href="mailto:pixman@lists.freedesktop.org">pixman@lists.freedesktop.org</a>>, Siarhei Siamashka<br>
        <<a href="mailto:siarheisiamashka@gmail.com">siarheisiamashka@gmail.com</a>><br>
Subject: Re: [Pixman] Cleaning patchwork<br>
Message-ID: <<a href="mailto:20160113151638.3ee32fc3.pekka.paalanen@collabora.co.uk">20160113151638.3ee32fc3.pekka.paalanen@collabora.co.uk</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
On Mon, 11 Jan 2016 11:37:57 +0200<br>
Oded Gabbay <<a href="mailto:oded.gabbay@gmail.com">oded.gabbay@gmail.com</a>> wrote:<br>
<br>
> On Mon, Jan 4, 2016 at 4:31 PM, Ben Avison <<a href="mailto:bavison@riscosopen.org">bavison@riscosopen.org</a>> wrote:<br>
> > On Tue, 22 Dec 2015 13:14:21 -0000, Oded Gabbay <<a href="mailto:oded.gabbay@gmail.com">oded.gabbay@gmail.com</a>><br>
> > wrote:<br>
> ><br>
> >> Hi Ben,<br>
> >><br>
> >> I would like to clean pixman's patchwork and you have about 20<br>
> >> outstanding patches.<br>
> ><br>
> > [...]<br>
> ><br>
> >> [4/4] pixman-fast-path: Make bilinear cover fetcher use COVER_CLIP_TIGHT<br>
> >> flag<br>
> >> [3/4] armv7/mips/sse2: Make bilinear cover fast paths use COVER_CLIP_TIGHT<br>
> >> flag<br>
> >> [2/4] Introduce FAST_PATH_SAMPLES_COVER_CLIP_TIGHT_BILINEAR flag<br>
> ><br>
> ><br>
> > I still think these are a worthwhile improvement and have described some<br>
> > conditions under which it should be measurable using affine-bench. I believe<br>
> > Pekka wanted to prove it using real-world traces though, and since there was<br>
> > no measurable change for better or worse using the normal Cairo traces, he<br>
> > was attempting to capture some new ones that would exercise the cases I<br>
> > described. Last I heard though, he had found that Cairo's tracer was broken,<br>
> > so he was unable to make progress. Under the circumstances, do you think<br>
> > affine-bench results alone would be acceptable?<br>
><br>
> Hi Pekka,<br>
> I admit I didn't follow these patches when Ben sent them as you and<br>
> Siarhei reviewed them.<br>
> May I ask you to write your opinion on the matter ?<br>
<br>
Hi Oded,<br>
<br>
that's a tough question.<br>
<br>
Ben's work is based on original performance research done by me and my<br>
colleagues, which hinted which cases could use optimization. That was<br>
quite a long time ago on Raspberry Pi 1.<br>
<br>
There could be several reasons why I failed to find cases where these<br>
make a measurable difference. As said, recording traces was difficult,<br>
so perhaps I just could not record the right use cases. The software,<br>
e.g. Epiphany, may have changed since to not hit these cases anymore.<br>
Profiling on amd64 might just not make a difference, and profiling on<br>
Rpi takes a lot of time and I ran out.<br>
<br>
If I wasn't involved in this, and taking Pixman's developement<br>
mentality that I've picked up from the old maintainers into account,<br>
optimizations should not be landed without proof that they help<br>
real-world use cases. But there is indeed that room for interpretation:<br>
do we have sufficient proof? Does affine-bench mimic some real-world<br>
use cases or is it purely artificial?<br>
<br>
I am biased, because I would hate to see Ben's work go wasted and I am<br>
partly responsible for him doing that work. That's also why I used a lot<br>
of effort in trying to prove the benefits.<br>
<br>
But, I worked on the premise that we *have to* prove real-world<br>
benefit. At least that would have been unquestionable. Maybe I overdid<br>
it and affine-bench is enough after all?<br>
<br>
The same questions apply to lowlevel-blt-bench, too.<br>
<br>
><br>
> ><br>
> >> Resolve implementation-defined behaviour for division rounded to -infinity<br>
> ><br>
> ><br>
> > This one got bogged down in an argument about whether C89 should still be<br>
> > supported or not, which I'm not sure was ever resolved?<br>
><br>
> So from reading back the thread, I saw two things:<br>
> 1. Pekka and Siarhei  wrote about adding test(s) to verify behavior of % and /<br>
> 2. C89 compatibility issue. Because we have already forked 0.34 and<br>
> 0.36 seems like a 2017 story, I think we can start phasing it out in<br>
> the 0.35 development releases and see if someone complains.<br>
<br>
The only thing I can say here is that if you rely on something but are<br>
not quite sure it's true, then make sure you at least catch it when<br>
it's false. I suppose the needed tests here would be few and simple?<br>
<br>
I cannot comment on C89.<br>
<br>
> ><br>
> >> [05/37,v2] composite flags: Early detection of fully opaque 1x1<br>
> >> repeating source images<br>
> >> [10/37,v2] pixman-fast-path: Add in_8888_8 fast path<br>
> >> [11/37,v2] armv6: Add in_8888_8 fast path<br>
> >> [23/37,v2] armv6: Add optimised scanline fetchers and writeback for<br>
> >> r5g6b5 and a8<br>
> >> [24/37,v2] armv6: Add optimised scanline fetcher for a1r5g5b5<br>
> >> [25/37,v2] armv6: Add src_1555_8888 fast path<br>
> ><br>
> ><br>
> > v1 of these patches were reviewed (excluding the ARM assembly parts) by<br>
> > Søren on 05 Oct 2014, and v2 addressed the issue he raised. There haven't<br>
> > been any comments on the reposted versions.<br>
><br>
> Could you re-post only the the ones you fixed with the v2 remarks ?<br>
> I'll take a look and hopefully we could merge them.<br>
><br>
> ><br>
> >> armv7: Re-use existing fast paths in more cases<br>
> >> armv7: Re-use existing fast paths in more cases<br>
> ><br>
> ><br>
> > These apply the same rules that Søren suggested for my ARMv6 paths in the v2<br>
> > patches above to the pre-existing ARMv7 paths as well. The only review<br>
> > comment received so far was that the two patches needed different names.<br>
><br>
> Same comment as above.<br>
><br>
> ><br>
> >> [2/5,v2] armv7: Add in_8888_8 fast path<br>
> ><br>
> ><br>
> > The only difference for v2 here was again just a matter of defining the<br>
> > widest possible set of pixel formats to match the fast path.<br>
><br>
> Same comment as above.<br>
><br>
> ><br>
> >> [5/5] armv7: Add src_1555_8888 fast path<br>
> >> [4/5] armv7: Add in_reverse_8888_8888 fast path<br>
> >> [3/5] armv7: Add in_n_8888 fast path<br>
> >> [1/5] armv7: Use prefetch for small-width images too<br>
> >> [3/3] armv7: Use VLD-to-all-lanes<br>
> >> [2/3] armv7: Faster fill operations<br>
> >> [1/3] armv7: Coalesce scalar accesses where possible<br>
> >> Require destination images to be bitmaps<br>
> ><br>
> ><br>
> > None of these have received any comments to date. In many cases, I suspect<br>
> > it's the fact that they involve ARM assembly, and we don't have many (any?)<br>
> > active reviewers who know it. I'm not sure what we can do about that.<br>
><br>
> Send them as a different series and I'll take a look (as much as I<br>
> can, I also don't know ARM assembly).<br>
<br>
Regarding ARM assembly, since we don't really have anyone to review it,<br>
I'd propose we rely on the test suite for verification. That leaves<br>
only the question "is this new path exercised by the test suite?"<br>
<br>
If you can tell "yes", trust the test suite and leave it at that. If<br>
there is like one hit or none, then one has to improve the test suite<br>
first. It is fairly easy, because Pixman has a gold-standard<br>
implementation to compare against, so setting up new or extending<br>
fuzzing tests can just assume it is correct.<br>
<br>
So, some sort of test coverity analysis? If the new function shows up<br>
in 'perf record' of 'make check', it's good? If it doesn't, then... add<br>
a printf-call?<br>
<br>
<br>
Thanks,<br>
pq<br>
<br>
> ><br>
> >> I also suggest that for the relevant ones (if there are any), you<br>
> >> would rebase them on the latest master and re-send them as a single<br>
> >> series in order to restart the review process.<br>
> ><br>
> ><br>
> > I can certainly do that, but I had previously been asked to split my<br>
> > postings into smaller series that were independent. I have a lot more<br>
> > patches waiting to post that depend on the ones that are stuck in limbo -<br>
> > the complete set can be seen at<br>
> ><br>
> > <a href="https://github.com/bavison/pixman/commits/arm-neon-release1" rel="noreferrer" target="_blank">https://github.com/bavison/pixman/commits/arm-neon-release1</a><br>
> ><br>
> > if you're interested. Or I could just post/repost the whole lot (72 patches<br>
> > now), like I did with my 37-patch series from 2014.<br>
> ><br>
> > Ben<br>
><br>
> Let's start with the patches you wrote above and move step by step after it.<br>
><br>
> Thanks,<br>
><br>
>         Oded<br>
<br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
Pixman mailing list<br>
<a href="mailto:Pixman@lists.freedesktop.org">Pixman@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/pixman" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/pixman</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Pixman Digest, Vol 71, Issue 13<br>
**************************************<br>
</blockquote></div><br></div>