Commit Graph

1147 Commits

Author SHA1 Message Date
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
Søren Sandmann Pedersen
61254a3c09 Add a BUILT_SOURCES with pixman-combine{32,64}.{c.h}
Bug 22681.
2009-07-09 23:17:56 -04:00
Adrian Bunk
34ec50a476 Fix the NEON build after "Convert CamelCase names to underscore_names."
This patch fixes the following build error caused
    by commit a98b71eff4
    (Convert CamelCase names to underscore_names.):

    <--   snip  -->

    ...
    pixman-arm-neon.c: In function 'neon_composite_over_n_8_0565':
    pixman-arm-neon.c:1784: error: 'x_dst' undeclared (first use in this function)
    pixman-arm-neon.c:1784: error: (Each undeclared identifier is reported only once
    pixman-arm-neon.c:1784: error: for each function it appears in.)
    pixman-arm-neon.c:1785: error: 'p_dst' undeclared (first use in this function)
    pixman-arm-neon.c: In function 'neon_composite_over_n_0565':
    pixman-arm-neon.c:1937: error: 'x_dst' undeclared (first use in this function)
    pixman-arm-neon.c:1938: error: 'p_dst' undeclared (first use in this function)
    pixman-arm-neon.c: In function 'neon_composite_over_8888_0565':
    pixman-arm-neon.c:2074: error: 'x_dst' undeclared (first use in this function)
    pixman-arm-neon.c:2075: error: 'p_dst' undeclared (first use in this function)
    make[3]: *** [libpixman_arm_neon_la-pixman-arm-neon.lo] Error 1
    ...

    <--  snip  -->
2009-07-09 17:50:30 -04:00
Søren Sandmann Pedersen
6b34482870 Update the CRC value in scaling-test.c.
The changes in pixman behavior justifying this are:

- New clipping rules

- Bug fixes in region code. In particular, when
  pixman_region_init_rects() is called on these two boxes:

	{ 2, 6, 7, 6 }
	{ 4, 1, 6, 7 }

  it now ignores the first one, which is empty and produces

	{ 4, 1, 6, 7 }

  Previously, it would produce:

	{ 2, 1, 7, 7 }

  for some reason.
2009-07-09 04:04:00 -04:00
Søren Sandmann Pedersen
4c60ed5ec6 Fix bug in pixman-region.c where empty regions would not be properly initialized.
Also add a couple more tests to region-test.c.
2009-07-09 04:00:19 -04:00
Søren Sandmann Pedersen
bcf01c21d7 Fix a couple of problems with the tests when HAVE_GTK is not defined.
- Make sure the non-gtk+ test programs are added to noinst_PROGRAMS
  when HAVE_GTK is not set.

- Don't include glib.h in oob-test.c
2009-07-09 01:47:19 -04:00
Søren Sandmann Pedersen
0db0430d1d Merge branch 'naming' 2009-07-08 18:59:15 -04:00
Søren Sandmann Pedersen
31a40a1725 Eliminate boxes with x1 > x2 or y1 > y2 in pixman_region_init_rects(). 2009-07-08 18:41:41 -04:00
Søren Sandmann Pedersen
706e659431 Add a box with y2 < y1 in region-test.c 2009-07-08 18:39:43 -04:00
Søren Sandmann Pedersen
b3cf3f0c2b Fix up some overeager search-and-replace renamings 2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
c2e331693d Rename num_rects back to numRects.
The name numRects is public API and can't be changed.
2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
8261b4d57c Rename combine_*_c to combine_*_ca
s/combine_(.+)_c([^a-z0-9A-Z])/combine_$1_ca$2/g;
2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
3c03990ba2 Various sse2 renamings 2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
9d0be1d4c8 s/sse2combine/sse2_combine/g 2009-07-08 00:39:32 -04:00