[cairo] Cairo roadmap

Andrea Canciani ranma42 at gmail.com
Mon Sep 27 17:16:07 PDT 2010


On Tue, Sep 28, 2010 at 1:27 AM, Krzysztof Kosiński <tweenk.pl at gmail.com> wrote:
> W dniu 27 września 2010 23:42 użytkownik Andrea Canciani
> <ranma42 at gmail.com> napisał:
>>> 1. Floating point coordinates in Pixman.
>> Do you mean in the API? Or for internal computations?
>
> Both are required to avoid the rendering corruptions seen with large
> gradients.
Not exactly true. They can be handy, but they are not *required*.
Please note that ensuring full precision with floating point is usually
harder than with fixed point.
Also, see wip/linear2. It makes linear gradient be as exact as possible
(more than it would be possible using doubles).
>
>>> 2. Gradient precision improvements.
>> I have a couple of branches improving them:
>> - http://cgit.freedesktop.org/~ranma42/pixman/log/?h=wip/radial-float2
>>  (almost ready for merge, I would just like some benchmarking on
>>  non-x86_64 architectures)
>> - http://cgit.freedesktop.org/~ranma42/pixman/log/?h=wip/linear2
>>  (it probably won't compile on 32 bits architectures, as it uses int128_t.
>>  I'm working on getting wide-ints (and atomics etc etc) from cairo in
>> pixman,
>>  but there is still some work to do)
>
> Yes, I had those improvements in mind. If they were made to compile on
> 32bit, they would be sufficient. However, they might become redundant
> if 1 is implemented (though probably in reality the internal real type
> should be specified at compile time, so both integer and
> floating-point versions of Pixman could be built from the same
> source).
Please read again the commits. wip/radial-float2 changes the definition
of radial gradients, so it is orthogonal to the floating point issue
and certainly
not redundant.


More information about the cairo mailing list