Change cairo's fixed-point format from 16.16 to 24.8
The additional 8 bits of integer allows device space to be 256 times larger before applications need to start worrying about any issues with overflow. So this should help in many cases. And the loss of 8 bits of sub-pixel precision shouldn't cause any harm at all---16 was really much more than necessary. With this change the details of rasterization for several tests are changed slightly, (particularly on arcs, for example), so many reference images are updated here. NOTE: This change is currently breaking get-path-extents for ps/pdf/svg as well as push-group for ps. We do not yet know the reasons for these new failures.
|
|
@ -59,7 +59,7 @@ typedef cairo_int128_t cairo_fixed_96_32_t;
|
|||
* making sure that you compute a double-to-fixed magic number.
|
||||
* (see below).
|
||||
*/
|
||||
#define CAIRO_FIXED_FRAC_BITS 16
|
||||
#define CAIRO_FIXED_FRAC_BITS 8
|
||||
|
||||
/* A signed type %CAIRO_FIXED_BITS in size; the main fixed point type */
|
||||
typedef int32_t cairo_fixed_t;
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 442 B |
BIN
test/copy-path-ps-ref.png
Normal file
|
After Width: | Height: | Size: 474 B |
|
Before Width: | Height: | Size: 440 B |
|
Before Width: | Height: | Size: 718 B After Width: | Height: | Size: 779 B |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 4.4 KiB |