Commit Graph

769 Commits

Author SHA1 Message Date
Siarhei Siamashka
ee4e25cc8b 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
4a37a54063 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
85c4b8f292 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
d0be68448b 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
d3e64eabc7 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
a57c8bcef4 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
b8869eed71 Bug 737909 - Add a patch file to gfx/cairo; r=joe
DONTBUILD
2012-03-22 11:37:19 -04:00
Ehsan Akhgari
8ab024dc66 Bug 737909 - Address Joe's review comment; r=joe 2012-03-22 11:32:08 -04:00
Rafael Ávila de Espíndola
8b5d2441dd Bug 737909 - Fix opt -Werror build with clang; r=joe 2012-03-22 11:30:08 -04:00
Oleg Romashin
8cf88d7243 Bug 726461 - cairo-qt-surface not compiling with Qt5. r=jrmuizel 2012-03-16 18:36:28 -04:00
Pallavi Kumarijha
355635757a Bug 712554 - Remove MSVC6 support from Cairo Readme. r=jmuizelaar 2012-03-10 13:14:29 -05:00
Jonathan Kew
49eeb01f2a 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
Mark Capella
65d22b4f8e Bug 718359 - remove useless SANITY_CHECKING_FEATURE and XCB_SURFACE_FEATURE. r=khuey 2012-02-25 22:01:09 +01:00
Steven Michaud
3d7065f230 Bug 721663 - [10.5] Crash in unpackImageRow @ CGAccessSessionGetBytes while printing or previewing. r=joe 2012-02-17 11:04:03 -06:00
Jacek Caban
ce5473ee1a Bug 670096 - cairo fails to compile on mingw with D2D and DWrite enabled r=bas.schouten 2012-02-09 11:04:54 +01:00
Bas Schouten
d764876917 Bug 715658: Properly invalidate cached SourceSurfaces. r=jrmuizel 2012-01-31 06:15:23 +01:00
Jonathan Kew
fca24b2ad7 bug 721511 - use stack-based buffers for moderate-sized glyph runs in cairo/dwrite backend. r=bas 2012-01-28 12:25:53 +00:00
Jonathan Kew
8781e36f4b backout changeset 2ea682dba295 (bug 721511) due to windows crashtest orange. 2012-01-28 09:50:31 +00:00
Jonathan Kew
728a9cf4ae bug 721511 - use stack-based buffers for moderate-sized glyph runs in cairo/dwrite backend. r=bas 2012-01-28 08:28:56 +00:00
Bas Schouten
4bb693eac2 Bug 657141 - Part 2: Only optimize away clip levels when using solid alpha masks. r=jrmuizel DONTBUILD 2012-01-23 12:03:44 +01:00
Dão Gottwald
17ea9e965e Backed out changeset 17933c63c7b6 2012-01-23 12:01:37 +01:00
Dão Gottwald
9acfd51dda Bug 657141 - Part 2: Only optimize away clip levels when using solid alpha masks. r=jrmuizel 2012-01-23 12:00:24 +01:00
Stefan
17e6389d4f bug 668263 - fix erratic spacing in print-to-PDF by cherry-picking Cairo fixes from https://bugs.freedesktop.org/show_bug.cgi?id=31062. r=jrmuizel,ajohnson 2012-01-17 10:01:36 +00:00
Jeff Muizelaar
9bc69a2b90 Bug 513702. Remove gfx/cairo/cairo/test/. r=joe
We have never used these files and they are terribly
out of date.
2012-01-14 14:32:14 -05:00
Jeff Muizelaar
17440fb85b Bug 715704. Add a quartz implementation of mark_dirty_rectangle. r=roc
We need to drop our CGImage cache when the surface has been changed by outside users.
2012-01-05 18:40:01 -05:00
Thomas Prip Vestergaard
dedc91c6d0 Bug 710992 - Fix third argument in memcmp call in pixman-image.c; r=roc 2012-01-02 19:15:04 +01:00
Jacek Caban
38b73562e1 Bug 670096 - cairo fails to compile on mingw with D2D and DWrite enabled r=jones.chris.g 2011-12-19 14:04:39 +01:00
Bill McCloskey
d895426887 Bug 705332 - Re-enable printing filename in quiet builds (r=njn) 2011-12-08 10:14:06 -08:00
Nicholas Nethercote
882791c0e6 Bug 703456 - Kill REPORT_BUILD; kill it dead. r=ted. 2011-11-21 18:47:54 -08:00
Matt Woodrow
760569d977 Bug 700179 - Add GetSize() support for the windows surfaces. r=Bas 2011-11-18 17:00:37 +13:00
Jacek Caban
157942c47a Backed out changeset a21668ea9597 for Windows test failures 2011-11-15 14:09:06 +01:00
Jacek Caban
57880ecac2 Bug 670096 - cairo fails to compile on mingw with D2D and DWrite enabled r=cjones 2011-11-15 12:58:12 +01:00
Marco Bonardo
8f5a2ceab1 Merge mozilla-central and mozilla-inbound 2011-11-11 11:09:58 +01:00
Gregory Szorc
d0e48e7c69 Merge b-s to m-c 2011-11-10 15:15:29 -08:00
Michael Wu
5dd6a67845 Bug 694206 - Add Gonk (B2G) widget backend, r=cjones 2011-11-10 16:17:46 -08:00
Gregory Szorc
1a1f7b30ae Bug 698248 - Remove unused FORCE_USE_PIC variable; r=khuey 2011-11-01 15:45:23 -07:00
Matt Woodrow
fb2f8bd197 Bug 688333 - Build changes to compile skia. r=khuey 2011-10-28 20:05:35 +13:00
Ehsan Akhgari
da99f054e1 Bug 694797 - Cairo fails to build with VC11 because it tries to #define inline, which is a keyword in C++; r=jrmuizel 2011-10-17 10:42:45 -04:00
Jonathan Kew
68621d46ad bug 692744 - don't create a 1x1 image surface when it should really be empty. r=jrmuizel 2011-10-12 22:29:40 +01:00
Ted Mielczarek
9398908822 bug 686371 - Use pixman C fallback on iOS. r=jmuizelaar 2011-10-10 16:01:55 -04:00
Jim Chen
a63f3447ab Bug 672787 - Use proper alignment for libpixman ARM assembly; r=siarhei.siamashka 2011-09-21 09:01:07 -04:00
Jeff Muizelaar
e1dbca5f44 Bug 699507. cairo-win32: remove dead fallbacks. r=ajuma
This code was never used.
2011-11-04 12:07:12 -04:00
Jeff Muizelaar
70dbdabd1d Bug 699507. cairo-win32: remove dead create_span_renderer. r=ajuma
We create our span renderer ourselves so we don't need to implement
create_span_renderer anymore.
2011-11-04 12:06:46 -04:00
Jeff Muizelaar
1bf206963e Bug 699507. cairo-win32: inline check_span_renderer. r=ajuma
There's no need to call through _cairo_surface_check_span_renderer() because
we can make the decision directly.

--HG--
extra : rebase_source : 610b624d398665bc1ca9b47c35bd129d601c232b
2011-11-04 12:05:29 -04:00
Adrian Johnson
f1f5b007ce Bug 454532. cairo: Print as Unicode. r=jrmuizel
--HG--
extra : rebase_source : 3b10e50f3763535d7eee5aa5dcdc6ca2ad445ad3
2011-09-14 11:44:15 -07:00
Ehsan Akhgari
624cdf4412 Revert to 176fae7de173 which was fine.
Sorry for breaking the history, won't trust TBPL, ever again. :(
2011-09-02 09:15:54 -04:00
Ehsan Akhgari
44916171a8 Revert to changeset e6fc4594c22e which was the last one to get a green Win7 tp run 2011-09-02 09:03:08 -04:00
Ehsan Akhgari
2a3b6c8b36 Bug 684049 - cairoint.h should only use lround in C99 programs; r=jrmuizel 2011-09-01 17:46:52 -04:00
Jonathan Kew
1afbf7acda bug 675383 - add a tiny delta to x-coordinates to avoid erratic spacing of DWrite font using GDI rendering mode when a transform (e.g. synthetic italics) is in effect. r=bas 2011-08-30 20:44:34 +01:00
Matt Woodrow
bffee7f7cc Bug 675837 - Only flush Quartz surfaces on the success paths during cairo_quartz_get_image. r=roc 2011-08-27 12:02:03 +12:00