Commit Graph

1110 Commits

Author SHA1 Message Date
Søren Sandmann Pedersen
4df925bb28 Change composite test to use a rainbow gradient as source.
Also make the destination a yellow patch. This makes the output a bit
more comparable to the image in the PDF specification.
2009-07-16 09:45:32 -04:00
Søren Sandmann Pedersen
4f369faffa Various minor formatting changes 2009-07-16 09:45:32 -04:00
Søren Sandmann Pedersen
3d3baa3c5e Change name of macro from RGB16_TO_ENTRY to RGB15_TO_ENTRY 2009-07-16 09:45:32 -04:00
Benjamin Otte
12e829a8de Clarify color burn code - no semantical changes
- Improve documentation to be equal to Proposed ISO32000 Extension
- Simplify code in default case
2009-07-16 15:33:43 +02:00
Benjamin Otte
acf5738a82 Clarify color dodge code - no semantical changes
- Improve documentation to be equal to Proposed ISO32000 Extension
- Simplify code in default case
2009-07-16 15:33:27 +02:00
Benjamin Otte
3dafe926b2 Fix terms in comments describing the blend modes 2009-07-16 15:02:51 +02:00
Søren Sandmann Pedersen
90ac94b9cb Add -fno-strict-aliasing 2009-07-14 18:49:43 -04:00
Søren Sandmann Pedersen
268561a3c6 Post-release version bump 2009-07-13 22:22:20 -04:00
Søren Sandmann Pedersen
466cf2b445 Pre-release version bump 2009-07-13 22:00:52 -04:00
Søren Sandmann Pedersen
83f6e2eacf Reindent and rename identifiers in scaling-test.c 2009-07-13 19:58:04 -04:00
Søren Sandmann Pedersen
9a6ad34810 Reformat pixman.h 2009-07-13 19:56:25 -04:00
Søren Sandmann Pedersen
22f322fe24 Reindent and reformat pixman-private.h 2009-07-13 19:56:25 -04:00
Søren Sandmann Pedersen
b4d1960098 Reindent and reformat pixman-combine.h.template 2009-07-13 19:56:25 -04:00
Søren Sandmann Pedersen
f54c776e75 Reindent and reformat pixman-combine.c.template 2009-07-13 19:56:25 -04:00
Søren Sandmann Pedersen
d57b55bb26 Reindent and reformat pixman-vmx.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
01b604c606 Reformat and reindent pixman-utils.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
1d52ecbbe0 Reformat and reindent pixman-trap.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
c1178e4941 Reformat pixman-timer.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
74774bad00 Reformat and reindent pixman-sse2.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
7dc3593d81 Reformat and reindent pixman-solid-fill.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
3db9f5ff6e Reformat and reindent pixman-region.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
317df68e94 Reindent and reformat pixman-radial-gradient.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
8820c81b50 Reindent and reformat pixman-mmx.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
c68283360d Reindent and reformat pixman-matrix.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
19397bc732 Reindent and reformat pixman-linear-gradient.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
e8e08b35e7 Reindent and reformat pixman-implementation.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
2c74165179 Reindent and reformat pixman-image.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
5aadc28e19 Reindent and reformat pixman-gradient-walker.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
ac043ac2da Reindent and reformat pixman-general.c 2009-07-13 19:55:34 -04:00
Søren Sandmann Pedersen
7b3f5fdc57 Reindent and reformat pixman-fastpath.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
c332e229bb Reindent and reformat pixman-edge.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
4ba9a44e8f Reindent and reformat pixman-cpu.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
e01fc6bba7 Reindent and reformat pixman-conical-gradient.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
2871add52e Reindent and reformat pixman.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
0e6e08d380 Reindent and reformat pixman-bits-image.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
89eda86549 Reindent and reformat pixman-arm-simd.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
9a26a60a23 Reindent and reformat pixman-arm-neon.c 2009-07-13 19:55:33 -04:00
Søren Sandmann Pedersen
0af8ef742c Reindent and reformat pixman-access.c. 2009-07-13 19:55:33 -04:00
Benjamin Otte
be3a1b04ae Fix burn and dodge operators to match acroread output 2009-07-13 18:02:09 -04:00
Søren Sandmann Pedersen
7dc2c48bca Return immediately if the operator is CONJOINT_DST or DISJOINT_DST
These are noops just like plain DST is.
2009-07-13 05:58:43 -04:00
Søren Sandmann Pedersen
bb383def00 Fix bits_image_fetch_{un}transformed() for 64 bit buffers.
The buffer pointer has to advance twice as far as in the 32 bit case.
2009-07-13 05:39:40 -04:00
Søren Sandmann Pedersen
c88b75d24c Make sure we get all 64 bits in bits_image_fetch_solid_64()
Previously we would only store the first 32 bits.
2009-07-13 04:43:37 -04:00
Søren Sandmann Pedersen
f73ecb3f0f Fix typo in bits_image_fetch_solid_64().
Found by blitters-test.
2009-07-13 04:04:59 -04:00
Søren Sandmann Pedersen
03c6b294a4 Only destroy the regions when pixman_compute_composite_region() returns TRUE 2009-07-12 03:55:23 -04:00
Søren Sandmann Pedersen
2af5f64e93 Move workaround logic to pixman-bits-image.c.
Instead of computing whether a workaround is needed on every call to
_pixman_run_fast_path(), just cache this information in the image.

Also, when workarounds are needed, clip against the source geometry to
prevent out of bound reads.
2009-07-12 03:06:13 -04:00
Søren Sandmann Pedersen
5088ca8d97 Only apply the workaround to source images when out_of_bounds_workaround is set.
Pointed out by Siarhei Siamashka.
2009-07-10 18:18:00 -04:00
Siarhei Siamashka
51418786e4 Return nonzero code from scaling-test program in case of failure.
This can potentially help in tests automation.
2009-07-10 13:50:15 -04:00
Siarhei Siamashka
71862fe84e Fix scaling-test to work on big endian systems 2009-07-10 13:50:15 -04:00
Michel Dänzer
0f8c5d2fd4 Convert some leftover instances of Alpha() in pixman-vmx.c.
They were probably missed due to the space before the parens.
2009-07-10 11:28:11 +02:00
Søren Sandmann Pedersen
0fce356762 Add workarounds for X servers doing out-of-bounds accesses.
Old X servers rely on out-of-bounds accesses when they are asked
to composite with a window as the source. They create a pixman image
pointing to some bogus position in memory, but then they set a clip
region to the position where the actual bits are.

Due to a bug in old versions of pixman, where it would not clip
against the image bounds when a clip region was set, this would
actually work.

The workaround added by this commit is to try and detect whether a
source drawable is actually a window without a client clip set. Such a
window will generally have a clip region that corresponds exactly to
the hierarchy clip in the server, whereas pixmaps will have a clip
region that is an exact match to the drawable.

When we detect such a window, we allow a fast path to run that would
normally be rejected due to the sources not completely subsuming the
composite region.

Fixed X servers should call the new function
pixman_disable_out_of_bounds_workaround() to disable the workaround.

This was reported in bug 22484.
2009-07-10 02:57:09 -04:00