Commit Graph

637 Commits

Author SHA1 Message Date
Brad Lassey
415ed19020 bug 790139 - crash in FT2FontEntry::CreateFontEntry when visiting any site in CM10 r=jfkthame 2012-10-05 17:46:02 -04:00
Adrian Johnson
a4ecfc373d From: Adrian Johnson <ajohnson@redneon.com>
Bug 691061 - Don't use patterns with padded images. r=jmuizelaar
2012-09-21 15:19:01 +12:00
Adrian Johnson
1eb79198fb From: Adrian Johnson <ajohnson@redneon.com>
Bug 691061 - Check if EXTEND_PAD group can be painted with EXTEND_NONE. r=jmuizelaar
2012-09-21 15:18:42 +12:00
Robert O'Callahan
bc17ca2619 Cairo patch update for bug 792903. DONTBUILD 2012-09-26 21:34:30 +12:00
Robert O'Callahan
8d196dd5fa Bug 792903. Prevent num_stops from being set to zero. r=bas 2012-09-26 12:19:32 +12:00
Jeff Muizelaar
db63614544 Bug 792993. cairo: use proper loop bounds in make_opaque(). r=nsilva
The new version of the code is more obviously correct. Hopefully
the compiler is smart enough to turn it into something fast.

--HG--
extra : rebase_source : bdf2f00c5eae5d5a1bf6dff223b1b05f561384ab
2012-09-25 18:59:12 -04:00
Bas Schouten
0f492946e6 Bug 784382 - Part 1: Use new ID2D1DeviceContext interface for subpixel AA with clipping in cairo. r=jrmuizel 2012-09-25 20:14:53 +02:00
Robert O'Callahan
45a2d1f1e1 Bug 468568. Part 0.5: _cairo_dwrite_scaled_font_create_win32_scaled_font should check font names to ensure that GDI gave us back the correct font. r=jfkthame
--HG--
extra : rebase_source : 2411f4946cb5d95900bf413546db508474448ab5
2012-09-17 16:25:24 +12:00
Jeff Muizelaar
8b611e824d Bug 788794. Use BitBlt to do SOURCE and OVER from RGB24 to ARGB32. r=nical
This seems to give a speed up of about 23x for this operation.

--HG--
extra : transplant_source : %AA%E9T%24%E5%97KR%A2%FC%E2%DB%A3ga%5C%82K%7DW
2012-09-12 22:57:25 -04:00
Nathan Froyd
308f8bfb0c Bug 785422 - remove -pedantic from cairo OS_CFLAGS; r=BenWa 2012-08-24 12:38:40 -04:00
Gregory Szorc
f03f6794f9 Bug 776077 - Silence hundreds of conversion errors in cairo; r=jmuizelaar
Cairo is a 3rd party project and we decided in bug that silencing the
warnings was easier than patching.

--HG--
extra : rebase_source : aa7a22b208e62d0d84d1b4a6e5c58d366d957bb9
2012-08-20 14:04:42 -07:00
Karl Tomlinson
63b934ae82 b=709477 use precise region extents instead of loose clip extents for clip rect r=jrmuizel 2012-08-18 08:43:21 +12:00
Siddharth Agarwal
f5ea284189 Bug 780421 - Use $(PYTHON) to run config.status. r=glandium 2012-08-05 12:42:57 +02:00
Mike Hommey
c1b35e7b2a Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Mike Hommey
be451c22dc Backout changeset 2ef51674316a (bug 774032 bonus) for various Mochitest bustages on a CLOSED TREE 2012-08-04 10:38:41 +02:00
Mike Hommey
e79d87471e Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 08:48:56 +02:00
Mike Hommey
6de82c7f66 Bug 774032 part 6 - Replace autoconf handling of config files and headers with our own. r=ted 2012-08-04 08:47:28 +02:00
Robert O'Callahan
348b690758 Bug 768775. Improve the precision of the calculation of the number of stops that need to be added to handle 'repeat' and 'reflect', when we're filling a path. r=bas 2012-07-25 21:35:28 +12:00
Jeff Muizelaar
4201121765 Bug 683243. Dither 16 bit gradients. r=BenWa
This does a 2x2 ordered dither in the same way that Skia does.

One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.
2012-07-04 11:42:29 -04:00
Jeff Muizelaar
5505f36353 Bug 683243. Add a 16 bit pipeline. r=BenWa
This is to support dithering 16 bit gradients with decent performance.
2012-07-11 12:58:17 -04:00
Phil Ringnalda
ee765a147f Back out 0c1f34eb5b93 and 0f987ac28e8c (bug 683243) for Android R2 bustage 2012-07-12 22:27:34 -07:00
Jeff Muizelaar
ae283d4494 Bug 683243. Dither 16 bit gradients. r=BenWa
This does a 2x2 ordered dither in the same way that Skia does.

One of the things I'm currently unhappy with is that it duplicates
the gradient walker code for 16 bits. We could turn it into a large
macro that does the appropriate things for 16 bit and 32 bit
versions, but that's not particularly appealing.

--HG--
extra : rebase_source : ef89cd53d68166db825bb993e1262db342ba9b5d
2012-07-04 11:42:29 -04:00
Jeff Muizelaar
c5f96c52da Bug 683243. Add a 16 bit pipeline. r=BenWa
This is to support dithering 16 bit gradients with decent performance.

--HG--
extra : rebase_source : cffa90d5959211c8c1953867d85c7799ed52d662
2012-07-11 12:58:17 -04:00
Robert O'Callahan
b1211aeed9 Bug 768348. Avoid ExtCreatePen failures by avoiding rounding widths and dash lengths down to zero. r=jrmuizel
--HG--
extra : rebase_source : 5231a02af67486dbd0e663d3756ad60fe1483157
2012-07-02 11:49:34 +12:00
Jeff Muizelaar
9faf9b9e17 Bug 757878. Add a fast path for 8888_over_565 with NEON. r=bgirard,joe
Add a 2 pass implementation of this op. This uses Siarhei Siamashka's
idea mentioned here:
http://lists.freedesktop.org/archives/pixman/2011-April/001156.html
2012-05-17 19:23:53 -04:00
Gervase Markham
638c878b13 Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
--HG--
extra : rebase_source : da55a4937383eda2baf7c9a362501da8ee664146
2012-05-29 16:52:43 +01:00
Benoit Girard
886844596f Bug 681114 - Diagnostic patch to crash earlier when cairo_array is corrupted. r=jmuizelaar
--HG--
rename : b2g/config/mozconfigs/linux32/nightly => b2g/config/mozconfigs/linux32/debug
rename : mobile/android/config/mozconfigs/android-x86/debug => mobile/android/config/mozconfigs/android/debug
rename : mobile/android/config/mozconfigs/android-armv6/l10n-nightly => mobile/android/config/mozconfigs/android/l10n-nightly
rename : mobile/android/config/mozconfigs/android-x86/l10n-release => mobile/android/config/mozconfigs/android/l10n-release
rename : mobile/android/config/mozconfigs/android-armv6/nightly => mobile/android/config/mozconfigs/android/nightly
rename : mobile/android/config/mozconfigs/android-x86/release => mobile/android/config/mozconfigs/android/release
extra : rebase_source : e2f84d0e8df8dcd3aed4301f8911eeb18412601d
2012-05-28 10:15:48 -04:00
Takanori MATSUURA
5c9f3f4809 Bug 751521 - Separate pixman detection from cairo. r=glandium 2012-05-26 08:44:00 +02:00
Jeff Muizelaar
1420f5a06f Bug 749976. Reduce the curve tolerance to be closer to skia on mobile. r=bgirard
Skia uses a value of 0.5, however using such a high value causes some reftest failures.
Switch to 0.3 because we can do that without changing the reftests too much. We
can still use a higher value if we need to later. This should give us sqrt(3)
reduction in the number of segments.

--HG--
extra : rebase_source : 39f1892a61f7e242460deb1bc21adb30778147e3
2012-05-25 00:49:54 -04:00
Benoit Girard
4d73f1dfec Bug 681114 - Diagnostic patch to crash earlier when cairo_array is corrupted. r=jmuizelaar
--HG--
extra : rebase_source : 97efb782c0ceba76330edf7a1be3b9cd14c11f15
2012-05-22 14:40:07 -04:00
Bas Schouten
e438db859d Bug 595375: Fail brush creation when bitmap creation fails. r=jrmuizel 2012-05-20 22:29:07 +02:00
Jeff Muizelaar
22391d9a7a Bug 755834. Use even lower precision bilinear interpolation when scaling 565 to 565. r=joe
This takes a trick from skia to go faster. For now, it's only
used on non-NEON devices.

--HG--
extra : rebase_source : c2ddce91cc8cf71ee609420107b0922d1166db43
2012-05-17 16:54:02 -04:00
Jeff Muizelaar
3388f68759 Bug 754364. Fix bustage from changing the wrong #if 0 2012-05-16 02:04:31 -04:00
Jeff Muizelaar
e80b46f17e Bug 754364. Add bilinear non-repeat and repeat fast paths. r=joe
This gives significantly faster bilinear sampling when we
don't have NEON.

--HG--
extra : rebase_source : 4473dd220020e65e4bc22b84fa780c7828b357a7
2012-05-15 18:26:16 -04:00
Ryan VanderMeulen
28caa3b877 Backout df38ed62a24a (bug 754364) due to Windows red. a=CLOSED TREE 2012-05-15 20:29:13 -04:00
Jeff Muizelaar
45a184cabb Bug 754364. Add bilinear non-repeat and repeat fast paths. r=joe
This gives significantly faster bilinear sampling when we
don't have NEON.
2012-05-15 18:26:16 -04:00
Mike Hommey
ae655ec44e Bug 755277 - Avoid duplicate rules after bug 748001. r=ted 2012-05-15 19:01:01 +02:00
Jeff Muizelaar
a7f8653d6a Bug 754872. Avoid using two passes to draw glyphs on mobile. r=joe
Chrome & Safari both use a single pass for overlapping glyphs. We shouldn't try
so hard when running on mobile.
2012-05-15 00:48:00 -04:00
Siarhei Siamashka
4e5674d074 Bug 754364. pixman: Add scaled nearest repeat fast paths. r=jrmuizel
This will allows us to scale and repeat in a single pass instead
of doing it in two.

--HG--
extra : rebase_source : 8f40aec620494d9c584a3c58cd70ac39723041a4
2012-05-12 10:01:17 -04:00
Jeff Muizelaar
2f4b7dc2b9 Bug 689707. Use lower precision bilinear interpolation. r=joe
This takes the bilinear interpolation code from Skia. It
uses 4 bits of precision instead of 8. This lets it interpolate
two components at a time because the results fit in 16 bits.

The lower precision code is only used in the fallback code
and not in any of the specialized code for NEON. This means
pixman gives different results depending on the cpu which isn't
great. However, this was easiest and the NEON code doesn't
gain as much from using lower precision.

Skia actually uses even lower interpolation when working with
565 but that's harder to plug in right now, and this gives
a reasonable improvement.
2012-05-10 22:12:52 -04:00
Jeff Muizelaar
2c07bcfc75 Bug 751668. Avoid incorrectly using EXTEND_NONE. r=joe
It seems like we sometimes end up using EXTEND_NONE unintentionally, this is
likely caused by different rounding between cairo and pixman. Pixman already
does a similar reduction to EXTEND_NONE so there's not point in duplicating it
here.

--HG--
extra : rebase_source : 5649a2583a8a01084567bfb06cb3c788437210f5
2012-05-03 15:21:52 -04:00
Ehsan Akhgari
52885d5cd3 Bug 751273 - Part 1: Remove the debugging code in Cairo which we don't use any more; r=jrmuizel
Landing on a CLOSED TREE
2012-05-02 16:28:13 -04:00
Jeff Muizelaar
8feca18ee2 Bug 746695. Update libpixman to 0.24.4 a=joe
Alan Coopersmith (2):
      Change MMX ldq_u to return _m64 instead of forcing all callers to cast
      Make mmx code compatible with Solaris Studio 12.3 compilers

Andrea Canciani (13):
      Include noop in win32 builds
      Silence autoconf warnings
      radial: Improve documentation and naming
      radial: Fix typos and trailing whitespace
      win32: Build benchmarks
      Workaround bug in llvm-gcc
      test: Fix compilation on win32
      build: Reuse sources and pixman-combine build rules
      build: Reuse test sources
      build-win32: Share targets and variables across win32 makefiles
      build-win32: Add root Makefile.win32
      test: Do not include config.h unless HAVE_CONFIG_H is defined
      build-win32: Add 'check' target

Benjamin Otte (2):
      tests: Add PNG_CFLAGS/LIBS to tests
      build: replace @VAR@ with $(VAR) in makefiles

Bobby Salazar (1):
      Android Runtime Detection Support For ARM NEON

Chris Wilson (1):
      bits: optimise fetching width==1 repeats

Colin Walters (1):
      autogen.sh: Support GNOME Build API

Jeff Muizelaar (1):
      Add definitions of INT64_MIN and INT64_MAX

Jon TURNEY (1):
      Fix build on cygwin after commit efdf65c0c4fff551fb3cd9104deda9adb6261e22

Matt Turner (11):
      lowlevel-blt: add over_x888_8_8888
      mmx: fix formats in commented code
      mmx: convert while (w) to if (w) when possible
      mmx: rename USE_MMX to USE_X86_MMX
      mmx: wrap x86/MMX inline assembly in ifdef USE_X86_MMX
      mmx: fix unaligned accesses
      mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt
      mmx: compile on ARM for iwmmxt optimizations
      mmx: optimize unaligned 64-bit ARM/iwmmxt loads
      Make sure iwMMXt is only detected on ARM
      Correct the minimum gcc version needed for iwmmxt

Naohiro Aota (1):
      Don't use non-POSIX test

Nis Martensen (1):
      Fix a few typos in pixman-combine.c.template

Siarhei Siamashka (4):
      C fast path for scaled src_x888_8888 with nearest filter
      ARM: workaround binutils bug #12931 (code sections alignment)
      test: better coverage for BILINEAR->NEAREST filter optimization
      BILINEAR->NEAREST filter optimization for simple rotation and translation

Søren Sandmann (5):
      mmx: Delete some unused variables
      sse2: Delete some unused variables
      demos: Comment out some unused variables
      ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca().
      test: Make fuzzer-find-diff.pl executable

Søren Sandmann Pedersen (63):
      Add a "noop" implementation.
      Add a noop composite function for the DST operator
      Move noop dest fetching to noop implementation
      Add a noop src iterator
      Move NULL iterator into pixman-noop.c
      Move NOP src iterator into noop implementation.
      Replace instances of "dst_*" with "dest_*"
      In pixman-general.c rename image_parameters to {src, mask, dest}_image
      Replace argumentxs to composite functions with a pointer to a struct
      blitters-test: Make common formats more likely to be tested.
      Pre-release version bump to 0.23.2
      Post-release version bump to 0.23.3
      Makefile.am: Add pixman@lists.freedesktop.org to RELEASE_ANNOUNCE_LIST
      Fix lcg_rand_u32() to return 32 random bits.
      New test of pixman_region_contains_{rectangle,point}
      Speed up pixman_region{,32}_contains_rectangle()
      Use find_box_for_y() in pixman_region_contains_point() too
      Don't include stdint.h in lowlevel-blt-bench.c
      In pixman_image_create_bits() allow images larger than 2GB
      Rename pixman-fast-path.h to pixman-inlines.h
      Use repeat() function from pixman-inlines.h in pixman-bits-image.c
      Move bilinear interpolation to pixman-inlines.h
      Pre-release version bump to 0.23.4
      Post-release version bump to 0.23.5
      test: New function to save a pixman image to .png
      Use pkg-config to determine the flags to use with libpng
      test: Use smaller boxes in region_contains_test()
      A few tweaks to a comment in pixman-combine.c.template
      Add a generic unorm_to_unorm() conversion utility
      Add general pixel converter
      Add initial version of the MAKE_ACCESSORS() macro
      Use MAKE_ACCESSORS() to generate all the 32 bit accessors
      Use MAKE_ACCESSORS() to generate accessors for all the 16bpp formats
      Use MAKE_ACCESSORS() to generate accessors for 8bpp RGB formats
      Use MAKE_ACCESSORS() to generate accessors for 4 bpp RGB formats
      Use MAKE_ACCESSORS() to generate accessors for 24bpp formats
      Use MAKE_ACCESSORS() to generate accessors for the a1 format.
      Use MAKE_ACCESSORS() to generate accessors for paletted formats
      Remove x and y coordinates from analyze_extents() and compute_sample_extents()
      Split computation of sample area into own function
      Eliminate compute_sample_extents() function
      test: Occasionally use a BILINEAR filter in blitters-test
      Strength-reduce BILINEAR filter to NEAREST filter for identity transforms
      Don't include stdint.h in scaling-helpers-test.
      Add src, mask, and dest flags to the composite args struct.
      Pre-release version bump to 0.23.6
      Post-release version bump to 0.23.7
      Add stable release / development snapshot to draft release notes
      gradient walker: Correct types and fix formatting
      Use sentinels instead of special casing first and last stops
      Simplify gradient_walker_reset()
      Merge branch 'gradients'
      Fix use of uninitialized fields reported by valgrind
      Pre-release version bump to 0.23.8
      Post-release version bump to 0.23.9
      Pre-release version bump to 0.24.0
      Post-release version bump to 0.24.1
      gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
      pixman-image.c: Fix typo in pixman_image_set_transform()
      Fix some signed overflow bugs
      Reject trapezoids where top (botttom) is above (below) the edges
      Fix bugs with alpha maps
      Pre-release version bump to 0.24.2

Taekyun Kim (25):
      Replace boolean arguments with flags for bilinear fast path template
      REPEAT_NORMAL support for bilinear fast path template
      sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function
      ARM: Add REPEAT_NORMAL functions to bilinear BIND macros
      Enable REPEAT_NORMAL bilinear fast path entries
      Bilinear REPEAT_NORMAL source line extension for too short src_width
      ARM NEON: Standard fast path out_reverse_8_8888
      ARM: NEON better instruction scheduling of over_n_8_8888
      ARM: NEON better instruction scheduling of over_n_8888
      sse2: Macros for assembling bilinear interpolation code fractions
      sse2: Bilinear scaled over_8888_8888
      sse2: Bilinear scaled over_8888_8_8888
      init/fini functions for pixman_image_t
      Add new fast path flag FAST_PATH_BITS_IMAGE
      Move _pixman_lookup_composite_function() to pixman-utils.c
      Simple repeat fast path
      Simple repeat: Extend too short source scanlines into temporary buffer
      ARM: NEON: Some cleanup of bilinear scanline functions
      ARM: NEON: Bilinear macro template for instruction scheduling
      ARM: NEON: Replace old bilinear scanline generator with new template
      ARM: NEON: Instruction scheduling of bilinear over_8888_8888
      ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888
      ARM: NEON: Standard fast path src_n_8_8888
      ARM: NEON: Standard fast path src_n_8_8
      ARM: NEON: Fix assembly typo error in src_n_8_8888
2012-04-20 00:07:56 -04:00
Jacek Caban
1ba02bc7fd Bug 742361 - GCC 4.7 mingw fails to compile cairo due to missing ffs declaration r=jrmuizel 2012-04-10 10:20:07 +02:00
Ehsan Akhgari
e5bc80f370 Bug 737909 - Add a patch file to gfx/cairo; r=joe
DONTBUILD
2012-03-22 11:37:19 -04:00
Ehsan Akhgari
cbb5ccd3ae Bug 737909 - Address Joe's review comment; r=joe 2012-03-22 11:32:08 -04:00
Rafael Ávila de Espíndola
9f88ba1725 Bug 737909 - Fix opt -Werror build with clang; r=joe 2012-03-22 11:30:08 -04:00
Oleg Romashin
d2bdd4d246 Bug 726461 - cairo-qt-surface not compiling with Qt5. r=jrmuizel 2012-03-16 18:36:28 -04:00
Pallavi Kumarijha
b0d44855be Bug 712554 - Remove MSVC6 support from Cairo Readme. r=jmuizelaar 2012-03-10 13:14:29 -05:00
Jonathan Kew
21fcc850ec bug 719410 pt 1 - don't use subpixel AA under GDI/DirectWrite if ClearType is disabled system-wide. r=bas 2012-03-06 17:38:55 +00:00