Re: [Pixman] [cairo] Floating point API in Pixman

2010-08-12 Thread Andrea Canciani
On Thu, Aug 12, 2010 at 10:02 AM, Mathieu Lacage mathieu.lac...@sophia.inria.fr wrote: On Thu, 2010-08-12 at 09:54 +0200, Andrea Canciani wrote: (I would *really* love if int128_t was actually available!) It's available on most 64bit systems (at least x86_64) with gcc as __int128_t and

Re: [Pixman] [cairo] Floating point API in Pixman

2010-08-12 Thread Mathieu Lacage
On Thu, 2010-08-12 at 09:54 +0200, Andrea Canciani wrote: (I would *really* love if int128_t was actually available!) It's available on most 64bit systems (at least x86_64) with gcc as __int128_t and __uint128_t. I use this: #if defined(HAVE___UINT128_T) and !defined(HAVE_UINT128_T) typedef

Re: [Pixman] [cairo] Floating point API in Pixman

2010-08-12 Thread Koen Kooi
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 12-08-10 12:24, Soeren Sandmann wrote: Andrea Canciani ranm...@gmail.com writes: If we can't assume that we have a (fast) FPU, There is a fairly common misconception that ARM CPUs never have hardware floating point; that may be part of why

[Pixman] Supersampling - 2nd attempt

2010-08-12 Thread Krzysztof Kosiński
Hello This is the second attempt at bitmap supersampling in Pixman. Changes: 1. There is a new fast path flag called FAST_PATH_NO_SUPERSAMPLING (self-explanatory) 2. No divisions in inner loops, but this causes a proliferation of variables. Note: using float or double for transformation matrices

Re: [Pixman] Supersampling - 2nd attempt

2010-08-12 Thread Soeren Sandmann
Krzysztof Kosiński tweenk...@gmail.com writes: This is the second attempt at bitmap supersampling in Pixman. For people who are curious, this is a big quality improvement: original image (3200 x 2000): http://www.daimi.au.dk/~sandmann/house.jpg without patch:

Re: [Pixman] [cairo] Better quality downsampling in cairo/pixman

2010-08-12 Thread Bill Spitzak
Cairo currently does only bilinear interpolation. This is wrong for any scale less than 1, although the artifacts do not really appear until a scale less that .5. Bilinear cannot use more than 4 adjacent pixels in a square to produce an output pixel, and if you scale small enough the