CODING_STYLE | 216 + ChangeLog | 514 ++ configure.ac | 6 debian/README.source | 3 debian/changelog | 8 debian/control | 2 debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch | 52 debian/patches/series | 1 debian/rules | 6 pixman/pixman-access.c | 1745 +++------- pixman/pixman-bits-image.c | 610 +-- pixman/pixman-combine.c.template | 22 pixman/pixman-combine.h.template | 257 - pixman/pixman-conical-gradient.c | 2 pixman/pixman-fast-path.c | 85 pixman/pixman-general.c | 2 pixman/pixman-image.c | 19 pixman/pixman-linear-gradient.c | 4 pixman/pixman-mmx.c | 66 pixman/pixman-private.h | 42 pixman/pixman-radial-gradient.c | 75 pixman/pixman-region.c | 31 pixman/pixman-solid-fill.c | 4 pixman/pixman-sse2.c | 172 pixman/pixman-trap.c | 4 pixman/pixman-utils.c | 16 pixman/pixman-vmx.c | 707 +--- pixman/pixman.c | 7 test/Makefile.am | 2 test/blitters-test-bisect.rb | 43 test/blitters-test.c | 638 +++ 31 files changed, 3093 insertions(+), 2268 deletions(-)
New commits: commit 182f32af53277b040dda0c0b4b7ec2fad861ca84 Author: Julien Cristau <jcris...@debian.org> Date: Sun Aug 23 12:45:10 2009 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 4fa5828..86a7ffb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -pixman (0.15.20-1) UNRELEASED; urgency=low +pixman (0.15.20-1) experimental; urgency=low * New upstream release candidate. * Bump shlibs and update symbols file for @@ -6,7 +6,7 @@ pixman (0.15.20-1) UNRELEASED; urgency=low * Add patch to disable use of env vars to force hwcap and platform on arm. * Add README.source with a pointer to the quilt package. - -- Julien Cristau <jcris...@debian.org> Tue, 21 Jul 2009 16:22:58 +0200 + -- Julien Cristau <jcris...@debian.org> Sun, 23 Aug 2009 12:44:59 +0200 pixman (0.15.14-1) experimental; urgency=low commit 828b229bec4a3238ca525bb66c3d136ff720ff2b Author: Julien Cristau <jcris...@debian.org> Date: Sun Aug 23 12:43:57 2009 +0200 Add README.source with a pointer to the quilt package. diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..e9078df --- /dev/null +++ b/debian/README.source @@ -0,0 +1,3 @@ +This package uses quilt to manage modifications to the upstream source. See +/usr/share/doc/quilt/README.source for details. + diff --git a/debian/changelog b/debian/changelog index aee359c..4fa5828 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ pixman (0.15.20-1) UNRELEASED; urgency=low * Bump shlibs and update symbols file for pixman_disable_out_of_bounds_workaround and new formats. * Add patch to disable use of env vars to force hwcap and platform on arm. + * Add README.source with a pointer to the quilt package. -- Julien Cristau <jcris...@debian.org> Tue, 21 Jul 2009 16:22:58 +0200 commit 3ebff7c552bbd40080816fad1953ff4e8e4aba06 Author: Julien Cristau <jcris...@debian.org> Date: Sun Aug 23 12:36:58 2009 +0200 Add patch to disable use of env vars to force hwcap and platform on arm. This is just ugly… diff --git a/debian/changelog b/debian/changelog index df0c732..aee359c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ pixman (0.15.20-1) UNRELEASED; urgency=low * New upstream release candidate. * Bump shlibs and update symbols file for pixman_disable_out_of_bounds_workaround and new formats. + * Add patch to disable use of env vars to force hwcap and platform on arm. -- Julien Cristau <jcris...@debian.org> Tue, 21 Jul 2009 16:22:58 +0200 diff --git a/debian/control b/debian/control index 3d5de18..5e9ae3f 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Julien Cristau <jcris...@debian.org>, David Nusinow <dnusi...@debian.org> -Build-Depends: debhelper (>= 5), automake, autoconf, libtool, pkg-config +Build-Depends: debhelper (>= 5), automake, autoconf, libtool, pkg-config, quilt Standards-Version: 3.8.2 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/pixman Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/pixman.git diff --git a/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch b/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch new file mode 100644 index 0000000..a060561 --- /dev/null +++ b/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch @@ -0,0 +1,52 @@ +From 2beb82c292725ad500db9d564ca73dd6c2bce463 Mon Sep 17 00:00:00 2001 +From: Julien Cristau <jcris...@debian.org> +Date: Sun, 23 Aug 2009 12:31:21 +0200 +Subject: [PATCH] pixman/arm: don't use env vars to get hwcap/platform + +--- + pixman/pixman-cpu.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c +index a2a7b8a..af16715 100644 +--- a/pixman/pixman-cpu.c ++++ b/pixman/pixman-cpu.c +@@ -253,8 +253,10 @@ pixman_arm_read_auxv () + if (aux.a_type == AT_HWCAP) + { + uint32_t hwcap = aux.a_un.a_val; ++#if 0 + if (getenv ("ARM_FORCE_HWCAP")) + hwcap = strtoul (getenv ("ARM_FORCE_HWCAP"), NULL, 0); ++#endif + /* hardcode these values to avoid depending on specific + * versions of the hwcap header, e.g. HWCAP_NEON + */ +@@ -266,8 +268,10 @@ pixman_arm_read_auxv () + else if (aux.a_type == AT_PLATFORM) + { + const char *plat = (const char*) aux.a_un.a_val; ++#if 0 + if (getenv ("ARM_FORCE_PLATFORM")) + plat = getenv ("ARM_FORCE_PLATFORM"); ++#endif + if (strncmp (plat, "v7l", 3) == 0) + { + arm_has_v7 = TRUE; +@@ -281,11 +285,13 @@ pixman_arm_read_auxv () + } + close (fd); + ++#if 0 + /* if we don't have 2.6.29, we have to do this hack; set + * the env var to trust HWCAP. + */ + if (!getenv ("ARM_TRUST_HWCAP") && arm_has_v7) + arm_has_neon = TRUE; ++#endif + } + + arm_tests_initialized = TRUE; +-- +1.6.3.3 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..21a8c56 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch diff --git a/debian/rules b/debian/rules index 534ac3e..88ea93d 100755 --- a/debian/rules +++ b/debian/rules @@ -1,5 +1,7 @@ #!/usr/bin/make -f +include /usr/share/quilt/quilt.make + PACKAGE = libpixman-1-0 SHLIBS_VERSION = 0.15.16 @@ -24,7 +26,7 @@ else endif autogen: autogen-stamp -autogen-stamp: +autogen-stamp: $(QUILT_STAMPFN) dh_testdir autoreconf -vfi touch $@ @@ -50,7 +52,7 @@ build-stamp: config-stamp touch $@ -clean: +clean: unpatch dh_testdir dh_testroot rm -f autogen-stamp config-stamp build-stamp install-stamp commit b3e7c210dfde541ae3f4cc67e65a942ef255dc6e Author: Julien Cristau <jcris...@debian.org> Date: Sun Aug 23 12:27:53 2009 +0200 Update changelogs diff --git a/ChangeLog b/ChangeLog index 5e4db05..2ad4769 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,517 @@ +commit bfdae053eaff528aa869bc05a0520ab22d540a08 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Aug 11 13:56:16 2009 -0400 + + Pre-release version-bump + +commit d6016d406a649f7a95bec2a477dfd89ba280188d +Merge: 93923c6 e084351 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Aug 11 02:04:40 2009 -0400 + + Merge branch 'blitter-test' + +commit 93923c626f2df18e29e215410e6d4bb2f5c1616f +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Mon Aug 10 20:47:36 2009 -0400 + + Fix x/y mixup in bits_image_fetch_pixel_convolution() + + Bug 23224, reported by Michel Dänzer. + +commit e084351b13faad6a3ba67808b5721957b51d16f0 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 00:45:53 2009 -0400 + + Update CRC value in blitters-test. + + At this point, the SIMD, SSE2, MMX and general implementations all + agree. + +commit ba5c5325e77b36374d3be22bd92816c332a321bb +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 00:25:56 2009 -0400 + + Various formatting fixes + +commit cc5c59b3f25dc595ce17a876e89ca549bb477e46 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 16:28:10 2009 -0400 + + Add the ability to print intermediate CRC values + +commit 0bc4adae3eb758a2cd9026397c284bd6cc7bcd65 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 15:53:33 2009 -0400 + + Reenable commented-out tests in blitter-test. + + The crashes and valgrind issues are all fixed at this point. + +commit 9ee18806a944ddde36dc1b045f89f02d025cbe48 +Author: Siarhei Siamashka <siarhei.siamas...@nokia.com> +Date: Mon Aug 3 00:01:01 2009 +0300 + + One more update to blitters-test - use aligned memory + allocations in order in order to make reproducibility + of alignment sensitive bugs more deterministic + Also testing of masks is reenabled + +commit 4fc0f9dd456bb4ad1f47e1733b02a3b491f425ed +Author: Siarhei Siamashka <siarhei.siamas...@nokia.com> +Date: Sat Aug 1 02:20:12 2009 +0300 + + HACK: updated test to better cover new neon optimizations + +commit 67769ad5bf15450d0fd0d83643e3533a9f563916 +Author: Siarhei Siamashka <siarhei.siamas...@nokia.com> +Date: Wed Jul 22 01:29:51 2009 +0300 + + Test program for stressing the use of different formats and operators + + The code and overall method is mostly based on scaling-test. This one + focuses on trying to stress as many different color formats and types + of composition operations as possible. + + This is an initial implementation which may need more tuning. Also + not all color format and operator combinations are actually used. + + When cpu specific optimizations are disabled, this test provides + identical deterministic results on x86, PPC and ARM. + + Script blitters-test-bisect.rb now works in non-stop mode, until + it finds any problem. This allows to run it for example overnight + in order to test a lot more variants of pixman calls and increase + chances of detecting problems in pixman. Just like with scaling-test, + running blitters-test binary alone with no command line arguments + runs a small predefined number of tests and compares checksum + with a reference value for quick verification. + +commit 51f597ad3258dd85b4620ac2bf0df8ca2e0ed182 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 12:00:07 2009 -0400 + + Delete commented out code in pixman-vmx.c + +commit a590eabead0a0c405a7293d8689b9992de5a689b +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:53:50 2009 -0400 + + Misc formatting fixes for pixman-vmx.c + +commit 0ebb587e2460024fb306597799ae4974441511ec +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:48:22 2009 -0400 + + In vmx_combine_atop_reverse_ca() extract alpha after inversing + +commit 3d2f00783f2972ba5311937057ea8d452f942a36 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:46:09 2009 -0400 + + Really fix vmx_combine_over_reverse_ca() + + The inverse destination alpha is just one component, not four. + +commit 2f62a4f46c1e99ddb1b7ca6d5db9410d12f32e63 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:40:42 2009 -0400 + + Fix vmx_combine_out_reverse_ca() + + The source alpha is just one component, not four. + +commit 7e58323385e442fb2cea207780db5e30be88be96 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:38:03 2009 -0400 + + Fix vmx_over_reverse_ca() + + Destination alpha must be extracted after inversing, otherwise we end + up with 0xFFs in the rgb channels. + +commit 2382bd9e2724944a05ce8a581e9ddc31e299a0c6 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:35:20 2009 -0400 + + Multiply with the alpha of dest, not inverse alpha + +commit 498df0f0bf2437130ed305fb757ae0fae90bebb7 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:32:31 2009 -0400 + + Fix vmx_combine_vmx_atop_ca() + + It didn't compute the mask correct before. + +commit 9650cd7432ef03c05895df04940e2ab6245f2618 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:26:23 2009 -0400 + + Fix vmx_combine_over_ca(). + + In the non-vector code, the mask needs to be multiplied with source + alpha. + +commit 38b9589fe6b14c822a2a4000df364d132e390f7a +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:21:43 2009 -0400 + + In vmx_combine_out_ca() multiply with the alpha of the negated vdest. + +commit de180baba3a3e7eedeb09ff7d5f4d3eff3ffc6f4 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:16:31 2009 -0400 + + Fix vmx_combine_out_ca() + + It should multiply with just the destination alpha channel, not all + four channels. + +commit 5191421d1f143cca76afa1f4fbffa68f89a5d393 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 11:07:16 2009 -0400 + + Do the full four-component IN computation in vmx_combine_in_ca(). + +commit 27fb8378fdae930475cf4528c539a78bfbd751c5 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 10:54:16 2009 -0400 + + Fix bug in vmx_combine_xor_ca() + + The destination needs to be inverted before the alpha channel is + extracted; otherwise, the RGB channels of da will be 0xff. + +commit c750667d7ac542dfa922a7970961b7095b44b8d3 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 01:07:01 2009 -0400 + + Make pix_multiply bit-exact + +commit 6243a0a015043f39531b98b9e8c4167f8bd47d82 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 23:50:32 2009 -0400 + + Change the SSE2 versions of pix_add_multiply() to produce bit-exact results. + +commit 404f4a6f3e71de5e411cb3bb1107d8ffb7c52e62 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 23:52:11 2009 -0400 + + Fix a couple of alpha==0 vs src==0 issues in pixman-sse2.c + +commit d9f80370a4d2ab54688e75256b3ea4267d8cc602 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 23:05:36 2009 -0400 + + Rename mmx_composite_add_8888_8_8() to mmx_composite_add_n_8_8(). + +commit 04619c3636697684fdd9ada9842845f6c8dd3914 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 22:46:50 2009 -0400 + + Fix a couple more alpha==0 vs src==0 bugs in pixman-mmx.c + +commit a075a870fd7e1fa70ae176d5089c695011667388 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 22:42:25 2009 -0400 + + Make pix_add_mul() in pixman-mmx.c produce exact results. + + Previously this routine would compute (x * a + y * b) / 255. Now it + computes (x * a) / 255 + (y * b) / 255, so that the results are + bitwise equivalent to the non-mmx versions. + +commit f7463ffafb8876c1f47ed9c527df33d45255e16c +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 20:29:44 2009 -0400 + + Rewrite the two-component arithmetic macros. + + Previously they were not bit-for-bit equivalent to the one-component + versions. The new code is also simpler and easier to read because it + factors out some common sub-macros. + + The x * a + y * b macro now only uses four multiplications - the + previous version used eight. + +commit 04ae08992f6381a8ffb50d8cba37753fdb58e3bf +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Aug 6 20:41:04 2009 -0400 + + Fix a bunch of srca == 0 checks that should be src == 0 in pixman-mmx.c + +commit 8bb58a3ce83d6b9c1f6796ce8e62450bdaa52cf0 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 21:24:50 2009 -0400 + + Don't run fast paths if the format requires wide compositing. + + This could happen because the wide formats would still be considered + solid if the image was 1x1 and repeating. + +commit d937b622389797a8c605b2cc50c24ca759dc57d2 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 21:16:14 2009 -0400 + + Fix bug in combine_mask_alpha_ca() + + If the mask was 0xffffffff, the source would end up being shifted + twice by A_SHIFT. + +commit 0d576b965c34a6d89b00f7b93dba6a7b8737c731 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 20:40:36 2009 -0400 + + Fix another case of changing the solid source. + + This time in fast_path_composite_n_8888_8888(). + +commit 8b82cbb69197f9c367069a77ba992f3163d40230 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 20:31:41 2009 -0400 + + Fix incorrect optimization in combine_over_ca(). + + Previously the code assumed that an alpha of 0 meant that no change + would take place. This is incorrect because an alpha of 0 can happen + as the result of the source having alpha=0, but rgb != 0. + +commit ec8b36f01030fd2fa67595f2aef4ca568b060899 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 18:18:37 2009 -0400 + + Don't change the constant source in fast_composite_over_n_8888_0565. + +commit de8fff746bfa80278f85859bef2dc0ab166f7a69 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Aug 5 16:17:52 2009 -0400 + + Fix bugs in combine_over_reverse_ca(). + + The computation cannot be optimized away when alpha is 0 because that + can happen when the source has alpha zero and rgb non-zero. + +commit 7b1df41b6110424b8dca9fa655dbc8dd95a76882 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Jul 31 17:27:38 2009 -0400 + + Add a dirty bit to the image struct, and validate before using the image. + + This cuts down the number of property_changed calls significantly. + +commit 942c4ac28209381668208a39ccc9aec4f11bf63f +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Jul 31 10:39:41 2009 -0400 + + Add sse2 version of add_n_8888_8888() + +commit 23d38201165876c031d314f73e09a75afcac4f00 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Jul 31 10:26:10 2009 -0400 + + Add a fast path for the add_n_8888_8888() operation. + + It shows up on gnome-terminal traces. + +commit c606a05213d1fe5d73b39454407414a2a245da39 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Jul 31 07:29:31 2009 -0400 + + Move bounds checks for REPEAT_NONE to get_pixel() + + On a P4, this is a large speedup for the swfdec-fill-rate-2xaa trace: + + After: + + [ # ] backend test min(s) median(s) stddev. count + [ 0] image swfdec-fill-rate-2xaa 33.061 33.061 0.00% 1/1 + + Before: + + [ # ] backend test min(s) median(s) stddev. count + [ 0] image swfdec-fill-rate-2xaa 40.342 40.342 0.00% 1/1 + + Pixman 0.14.0 produces this: + + [ # ] backend test min(s) median(s) stddev. count + [ 0] image swfdec-fill-rate-2xaa 36.896 36.896 0.00% 1/1 + +commit 1bec3e8395a307812b25fb195823ac7cf2915340 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Jul 30 10:51:38 2009 -0400 + + Remove leftover 0xffffffff in repeat() + +commit 1b98166b016af5fa374ad534d53b772c7fd2c4a5 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Jul 30 10:45:18 2009 -0400 + + Remove unused function + +commit 06836d35d26941e826e99fe35e06da50756da641 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Jul 30 10:03:44 2009 -0400 + + Misc formatting + +commit 7c8959ea3b2ff3d3abf995b3feccc677e15b4e27 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Thu Jul 30 09:58:12 2009 -0400 + + Change all the fetch_pixels() functions to only fetch one pixel. + +commit 31096446b6866de0a85ca6eb4fb68a45b21c4b49 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 09:43:12 2009 -0400 + + Add fetch_pixel_raw_32 and fetch_pixel_32 virtual functions. + + By default both are intialized to bits_image_fetch_pixel_raw(), but if + there is an alpha map, then fetch_pixel_32() is set to + bits_image_fetch_pixel_alpha(). + +commit a233b332cd9408d35e57a400874cca6188347cc2 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 09:12:51 2009 -0400 + + Various renamings and clean-ups + +commit 073399b09f073c44dd10b027788c09eddfcdf2e0 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 08:58:41 2009 -0400 + + Change bits_image_fetch_alpha_pixels() to fetch just one pixel. + +commit 6d1dfc3945917b507d40f1f3c1b1cf07858d18dd +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 08:44:40 2009 -0400 + + Change bits_image_fetch_pixels_convolution() to fetch just one pixel. + +commit b3f849f74f848c407afda1be15b966e1d6eda745 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 08:33:28 2009 -0400 + + Change bits_image_fetch_bilinear_pixels() to fetch one pixel at a time. + +commit a37383a2c646ee10ebe36d03df6bd1c0f8a75052 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 08:03:44 2009 -0400 + + Make the repeat routine work on only one coordinate at a time. + +commit a4f3fd3b2592b1b4791075187016ad444c2d60d4 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 07:55:27 2009 -0400 + + Make bits_image_fetch_nearest() return one pixel. + + Previously it would work on a buffer of coordinates. + +commit f382865ebe5e1e8d4b5299b908dab9b719fcb8ec +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 07:42:34 2009 -0400 + + Change bits_image_fetch_transformed() to work one pixel at a time. + + Previously, it would generate a buffer of coordinates, then pass that + off to a pixel fetcher, but this caused a large performance regression + with the swfdec-fill-rate-2xfsaa cairo trace. + + This is the first step towards fixing that. + +commit 4ef2807c3a6697731ada43ddad2fa915ed7cfe11 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Fri Aug 7 00:11:20 2009 -0400 + + Only define PIXMAN_TIMERS if timers are actually enabled [bug 23169] + +commit 9dec2e352b24bdccaac4f570b8cf12e61a9194ee +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 09:58:52 2009 -0400 + + Various updates to the CODING_STYLE document + +commit 2abd56e9e3d012fcb0b7c6d459ed4831464c0f2f +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 28 04:05:26 2009 -0400 + + Add a CODING_STYLE document based on the one from cairo. + +commit fdd01bcbd473f7a46c66ce8538657e32400974ed +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Jul 22 04:51:08 2009 -0400 + + Remove a couple of unused variables + +commit 845910c200db3f279229da67fbd330d903776777 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Jul 22 04:32:07 2009 -0400 + + Rename source_pict_class_t to source_image_class_t + +commit edd476d5be8f248ea21d9d80cf1986d0ccdecc3b +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Wed Jul 22 04:28:08 2009 -0400 + + Replace a bunch of 'pict's with 'image' + +commit 11d888a2837b3fe309348126b4f7c56df559df4e +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Fri Jul 24 09:36:08 2009 +0100 + + Explain how we can simplify the radial gradient computation + + Soeren rightfully complained that I had removed all the comments from + André's patch, most importantly that explain why the transformation is + valid. So add a few details to show that B varies linearly across the + scanline and how we can therefore reduce the per-pixel cost of evaluating + B. + +commit 20d2df03059d6a5941464d80e81e8116ebf4dbfe +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Thu Jul 23 19:08:40 2009 +0100 + + Fix inversion of radial gradients when r2 > r1 + + Fixes: Bug 22908 -- Invalid output of radial gradient + http://bugs.freedesktop.org/show_bug.cgi?id=22908 + + We also include a modified patch by André Tupinambá <andre...@gmail.com>, + to pull constant expressions out of the inner radial gradient walker. + +commit 84b7df09394ac7237fb42fe25c0fbde77e065a16 +Author: Benjamin Otte <o...@gnome.org> +Date: Thu Jul 23 09:54:49 2009 +0200 + + Don't warn for empty rectangles, only degenerate ones + +commit 1435c8aa3db3b6bde26216e260cc94baba225664 +Author: Benjamin Otte <o...@gnome.org> +Date: Tue Jul 21 15:00:52 2009 +0200 + + Log errors for invalid rectangles passed to region code + +commit 1796e6bf17a5d20039e098c4e352cd2765ed444e +Author: Benjamin Otte <o...@gnome.org> +Date: Tue Jul 21 14:57:59 2009 +0200 + + Simplify code that logs errors + +commit 85d56f3f7cb9c90c5af52b28fb6f7c1b14f09f07 +Author: Benjamin Otte <o...@gnome.org> +Date: Tue Jul 21 14:50:30 2009 +0200 + + Make the text when reporting a broken region more useful + +commit a77d4ffeb661d4d75109fc368bded26843662259 +Author: Søren Sandmann Pedersen <sandm...@redhat.com> +Date: Tue Jul 21 07:24:40 2009 -0400 + + Post-release version bump + commit f3ac1368775542e09f3741d2ad7b72af20bd9663 Author: Søren Sandmann Pedersen <sandm...@redhat.com> Date: Tue Jul 21 07:20:57 2009 -0400 diff --git a/debian/changelog b/debian/changelog index b821974..df0c732 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -pixman (0.15.18-1) UNRELEASED; urgency=low +pixman (0.15.20-1) UNRELEASED; urgency=low - * New upstream beta release. + * New upstream release candidate. * Bump shlibs and update symbols file for pixman_disable_out_of_bounds_workaround and new formats. commit bfdae053eaff528aa869bc05a0520ab22d540a08 Author: Søren Sandmann Pedersen <sandm...@redhat.com> Date: Tue Aug 11 13:56:16 2009 -0400 Pre-release version-bump diff --git a/configure.ac b/configure.ac index a466b86..c653a20 100644 --- a/configure.ac +++ b/configure.ac @@ -54,7 +54,7 @@ AC_PREREQ([2.57]) m4_define([pixman_major], 0) m4_define([pixman_minor], 15) -m4_define([pixman_micro], 19) +m4_define([pixman_micro], 20) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) commit 93923c626f2df18e29e215410e6d4bb2f5c1616f Author: Søren Sandmann Pedersen <sandm...@redhat.com> Date: Mon Aug 10 20:47:36 2009 -0400 Fix x/y mixup in bits_image_fetch_pixel_convolution() Bug 23224, reported by Michel Dänzer. diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c index 9e1ee13..6b80189 100644 --- a/pixman/pixman-bits-image.c +++ b/pixman/pixman-bits-image.c @@ -131,7 +131,7 @@ get_pixel (bits_image_t *image, int x, int y, pixman_bool_t check_bounds) { return 0; } - + return image->fetch_pixel_32 (image, x, y); } @@ -274,20 +274,20 @@ bits_image_fetch_pixel_convolution (bits_image_t *image, { for (j = x1; j < x2; ++j) { - int rx = i; - int ry = j; + int rx = j; + int ry = i; pixman_fixed_t f = *params; - + if (f) { uint32_t pixel; - + if (repeat_mode != PIXMAN_REPEAT_NONE) { repeat (repeat_mode, width, &rx); repeat (repeat_mode, height, &ry); - + pixel = get_pixel (image, rx, ry, FALSE); } else @@ -746,6 +746,7 @@ pixman_image_create_bits (pixman_format_code_t format, { if (free_me) free (free_me); + return NULL; } commit e084351b13faad6a3ba67808b5721957b51d16f0 Author: Søren Sandmann Pedersen <sandm...@redhat.com> Date: Fri Aug 7 00:45:53 2009 -0400 Update CRC value in blitters-test. At this point, the SIMD, SSE2, MMX and general implementations all agree. diff --git a/test/blitters-test.c b/test/blitters-test.c index cc829b5..4838e81 100644 --- a/test/blitters-test.c +++ b/test/blitters-test.c @@ -623,7 +623,7 @@ main (int argc, char *argv[]) /* Predefined value for running with all the fastpath functions disabled. It needs to be updated every time when changes are introduced to this program or behavior of pixman changes! */ - if (crc == 0x4895C7B0) + if (crc == 0xFE1244BF) { printf ("blitters test passed\n"); } commit ba5c5325e77b36374d3be22bd92816c332a321bb Author: Søren Sandmann Pedersen <sandm...@redhat.com> Date: Fri Aug 7 00:25:56 2009 -0400 Various formatting fixes diff --git a/test/blitters-test.c b/test/blitters-test.c index 350210a..cc829b5 100644 --- a/test/blitters-test.c +++ b/test/blitters-test.c @@ -91,8 +91,8 @@ lcg_rand_n (int max) static uint32_t compute_crc32 (uint32_t in_crc32, - const void *buf, - size_t buf_len) + const void *buf, + size_t buf_len) { static const uint32_t crc_table[256] = { 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, @@ -144,7 +144,7 @@ compute_crc32 (uint32_t in_crc32, unsigned char * byte_buf; size_t i; - /** accumulate crc32 for buffer **/ + /* accumulate crc32 for buffer */ crc32 = in_crc32 ^ 0xFFFFFFFF; byte_buf = (unsigned char*) buf; @@ -165,7 +165,8 @@ image_endian_swap (pixman_image_t *img, int bpp) /* swap bytes only on big endian systems */ volatile uint16_t endian_check_var = 0x1234; - if (*(volatile uint8_t *)&endian_check_var != 0x12) return; + if (*(volatile uint8_t *)&endian_check_var != 0x12) + return; for (i = 0; i < height; i++) { @@ -198,6 +199,7 @@ image_endian_swap (pixman_image_t *img, int bpp) { char t1 = line_data[j + 0]; char t2 = line_data[j + 1]; + line_data[j + 1] = t1; line_data[j + 0] = t2; } @@ -208,6 +210,7 @@ image_endian_swap (pixman_image_t *img, int bpp) char t1 = line_data[j + 0]; char t2 = line_data[j + 1]; char t3 = line_data[j + 2]; + line_data[j + 2] = t1; line_data[j + 1] = t2; line_data[j + 0] = t3; @@ -220,6 +223,7 @@ image_endian_swap (pixman_image_t *img, int bpp) char t2 = line_data[j + 1]; char t3 = line_data[j + 2]; char t4 = line_data[j + 3]; + line_data[j + 3] = t1; line_data[j + 2] = t2; line_data[j + 1] = t3; @@ -234,22 +238,24 @@ image_endian_swap (pixman_image_t *img, int bpp) /* Create random image for testing purposes */ static pixman_image_t * -create_random_image ( - pixman_format_code_t *allowed_formats, - int max_width, - int max_height, - int max_extra_stride, - pixman_format_code_t *used_fmt) +create_random_image (pixman_format_code_t *allowed_formats, + int max_width, + int max_height, + int max_extra_stride, + pixman_format_code_t *used_fmt) { int n = 0, i, width, height, stride; pixman_format_code_t fmt; uint32_t *buf; pixman_image_t *img; - while (allowed_formats[n] != -1) n++; + + while (allowed_formats[n] != -1) + n++; fmt = allowed_formats[lcg_rand_n (n)]; width = lcg_rand_n (max_width) + 1; height = lcg_rand_n (max_height) + 1; - stride = (width * PIXMAN_FORMAT_BPP (fmt) + 7) / 8 + lcg_rand_n (max_extra_stride + 1); + stride = (width * PIXMAN_FORMAT_BPP (fmt) + 7) / 8 + + lcg_rand_n (max_extra_stride + 1); stride = (stride + 3) & ~3; /* do the allocation */ @@ -259,13 +265,13 @@ create_random_image ( for (i = 0; i < stride * height; i++) { /* generation is biased to having more 0 or 255 bytes as - they are more likely to be special-cased in code */ + * they are more likely to be special-cased in code + */ *((uint8_t *)buf + i) = lcg_rand_n (4) ? lcg_rand_n (256) : (lcg_rand_n (2) ? 0 : 255); } - img = pixman_image_create_bits ( - fmt, width, height, buf, stride); + img = pixman_image_create_bits (fmt, width, height, buf, stride); image_endian_swap (img, PIXMAN_FORMAT_BPP (fmt)); @@ -275,10 +281,9 @@ create_random_image ( /* Free random image, and optionally update crc32 based on its data */ static uint32_t -free_random_image ( - uint32_t initcrc, - pixman_image_t *img, - pixman_format_code_t fmt) +free_random_image (uint32_t initcrc, + pixman_image_t *img, + pixman_format_code_t fmt) { uint32_t crc32 = 0; int stride = pixman_image_get_stride (img); @@ -294,19 +299,24 @@ free_random_image ( int i; uint32_t *data = pixman_image_get_data (img); uint32_t mask = (1 << PIXMAN_FORMAT_DEPTH (fmt)) - 1; + for (i = 0; i < 32; i++) mask |= mask << (i * PIXMAN_FORMAT_BPP (fmt)); for (i = 0; i < stride * height / 4; i++) data[i] &= mask; } + /* swap endiannes in order to provide identical results on both big - and litte endian systems */ -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org