Commit Graph

2394 Commits

Author SHA1 Message Date
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
Søren Sandmann Pedersen
a98b71eff4 Convert CamelCase names to underscore_names.
s/sizeRI/size_ri/g;
s/numRI/num_ri/g;
s/RepeatNone/REPEAT_NONE/g;
s/fbOver/over/g;
s/fbIn/in/g;
s/iSrc/src_image/g;
s/iMask/mask_image/g;
s/iDst/dest_image/g;
s/SaDa/Sa.Da/g;
s/FbMaskBits/MASK_BITS/g;
s/RenderSamplesX/RENDER_SAMPLES_X/g;
s/MMXData/mmx_data_t/g;
s/RegionInfo/region_info_t/g;

s/([^0x])([a-z])([A-Z])/$1$2_\l$3/g;
s/([^0x])([A-Z])([A-Z])([a-z])/$1$2_\l$3$4/g;
s/([^0x])([A-Z])([a-z]+)_([a-z])/$1\l$2$3_$4/g;
s/([a-z])_([A-Z])/$1_\l$2/g;

s/su_sE/SuSE/g;
s/X_Free86/XFree86/g;
s/X_free86/XFree86/g;

s/_ULL/ULL/g;
s/_uLL/ULL/g;

s/U_nc/UNc/g;
s/combine ##/combine_ ##/g;
s/## U/## _u/g;
s/## C/## _c/g;
s/UNc_aDD/UNc_ADD/g;

s/BLEND_MODE \((.+)\)/BLEND_MODE (\l$1)/g;
s/blend_(.+)/blend_\l$1/g;

s/AN_ds/ANDs/g;
s/O_rs/ORs/g;
s/over565/over_565/g;
s/8pix/8_pix/g;
s/Over565/over_565/g;
s/inU/in_u/g;
s/inPart/in_part/g;
s/inC/in_c/g;
s/inreverse/in_reverse/g;
s/get_exception_code/GetExceptionCode/g; # GetExceptionCode is WinCE API
s/CP_us/CPUs/g;
s/authentic_aMD/AuthenticAMD/g;
s/op_sR_cx_mAS_kx_dST/op_src_mask_dest/g;
s/no_VERBOSE/noVERBOSE/g;
s/mc_cormack/McCormack/g;
s/r1band/r1_band/g;
s/r2band/r2_band/g;
s/as GOOD things/as good things/g;
s/brokendata/broken_data/g;
s/X_render/XRender/g;
s/__open_bSD__/__OpenBSD__/g;
s/^Quick/quick/g;
s/NextRect/next_rect/g;
s/RectIn/rect_in/g;
s/pboxout/pbox_out/g;
s/F_sorted/FSorted/g;
s/usse2/u_sse2/g;
s/csse2/c_sse2/g;
s/cPixelsse2/c_pixel_sse2/g;
s/Mask565/mask_565/g;
s/565fix_rB/565_fix_rb/g;
s/565fix_g/565_fix_g/g;
s/565r/565_r/g;
s/565g/565_g/g;
s/565b/565_b/g;
s/uPixelsse2/u_pixel_sse2/g;
s/Mask00ff/mask_00ff/g;
s/Mask0080/mask_0080/g;
s/Mask0101/mask_0101/g;
s/Maskffff/mask_ffff/g;
s/Maskff000000/mask_ff000000/g;
s/load128Aligned/load_128_aligned/g;
s/load128Unaligned/load_128_unaligned/g;
s/save128Aligned/save_128_aligned/g;
s/save128Unaligned/save_128_unaligned/g;
s/fillsse2/fill_sse2/g;
s/unpack565/unpack_565/g;
s/pack565/pack_565/g;
s/bltsse2/blt_sse2/g;
s/x565Unpack/x565_unpack/g;
s/r1End/r1_end/g;
s/r2End/r2_end/g;
s/argb8Pixels/argb8_pixels/g;
2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
437ab04987 Remove reference to 8888_RevNP 2009-07-08 00:39:32 -04:00
Søren Sandmann Pedersen
55e63bd0f0 Remove reference to 8888RevNP 2009-07-08 00:39:32 -04:00