Commit Graph

124 Commits

Author SHA1 Message Date
Tobias Netzel
f566ca9252 Bug 817045 - Enable libpixman VMX acceleration. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Mike Hommey
6173fa297f Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Jeff Muizelaar
091c38ffda 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
3770f17103 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
cfef187ad4 Back out 0c1f34eb5b93 and 0f987ac28e8c (bug 683243) for Android R2 bustage 2012-07-12 22:27:34 -07:00
Jeff Muizelaar
40983c8443 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
6d431e1711 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
Jeff Muizelaar
e5ef842a1b 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
d4eb7d5782 Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
--HG--
extra : rebase_source : da55a4937383eda2baf7c9a362501da8ee664146
2012-05-29 16:52:43 +01:00
Jeff Muizelaar
21a136e943 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
639f644bc2 Bug 754364. Fix bustage from changing the wrong #if 0 2012-05-16 02:04:31 -04:00
Jeff Muizelaar
915ee48539 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
4fa5e1a4a3 Backout df38ed62a24a (bug 754364) due to Windows red. a=CLOSED TREE 2012-05-15 20:29:13 -04:00
Jeff Muizelaar
5748bfbc37 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
40b66bc763 Bug 755277 - Avoid duplicate rules after bug 748001. r=ted 2012-05-15 19:01:01 +02:00
Siarhei Siamashka
b6e967e61f 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
da3d6ffb97 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
4277a03964 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
Thomas Prip Vestergaard
9fdf146bd7 Bug 710992 - Fix third argument in memcmp call in pixman-image.c; r=roc 2012-01-02 19:15:04 +01:00
Bill McCloskey
af6c302c9e Bug 705332 - Re-enable printing filename in quiet builds (r=njn) 2011-12-08 10:14:06 -08:00
Nicholas Nethercote
a4c1789959 Bug 703456 - Kill REPORT_BUILD; kill it dead. r=ted. 2011-11-21 18:47:54 -08:00
Gregory Szorc
f9737cefa1 Bug 698248 - Remove unused FORCE_USE_PIC variable; r=khuey 2011-11-01 15:45:23 -07:00
Ted Mielczarek
50422c9345 bug 686371 - Use pixman C fallback on iOS. r=jmuizelaar 2011-10-10 16:01:55 -04:00
Jim Chen
ff43470eb0 Bug 672787 - Use proper alignment for libpixman ARM assembly; r=siarhei.siamashka 2011-09-21 09:01:07 -04:00
Mike Hommey
d1ce73f80c Bug 654049 - Use global optimization flags for jemalloc, cairo, pixman and sqlite. r=ted 2011-07-21 08:32:23 +02:00
Makoto Kato
09ff6f5746 Bug 413019 - Remove PGO workaround for some modules. r=ted 2011-07-01 12:46:02 +09:00
Matheus Kerschbaum
35f86c76ad Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Jeff Muizelaar
0ffb2687b5 Bug 658249. Update pixman to 0f6a4d45886d64b244d57403609f0377b58cc7fb.
Andrea Canciani (1):
      test: Fix compilation on win32

Dave Yeo (1):
      Check for working mmap()

Gilles Espinasse (2):
      Fix missing AC_MSG_RESULT value from Werror test
      Fix OpenMP not supported case

Siarhei Siamashka (7):
      ARM: tweaked horizontal weights update in NEON bilinear scaling code
      ARM: use aligned memory writes in NEON bilinear scaling code
      ARM: support for software pipelining in bilinear macros
      ARM: use less ARM instructions in NEON bilinear scaling code
      ARM: support different levels of loop unrolling in bilinear scaler
      ARM: pipelined NEON implementation of bilinear scaled 'src_8888_8888'
      ARM: pipelined NEON implementation of bilinear scaled 'src_8888_0565'

Søren Sandmann Pedersen (8):
      Makefile.am: Put development releases in "snapshots" directory
      ARM: Tiny improvement in over_n_8888_8888_ca_process_pixblock_head
      ARM: Add 'neon_composite_over_n_8888_0565_ca' fast path
      Offset rendering in pixman_composite_trapezoids() by (x_dst, y_dst)
      Pre-release version bump to 0.21.8
      Post-release version bump to 0.21.9
      Pre-release version bump to 0.22.0
      Post-release version bump to 0.23.1

Taekyun Kim (3):
      ARM: Common macro for scaled bilinear scanline function with A8 mask
      ARM: NEON scanline functions for bilinear scaling
      ARM: Enable bilinear fast paths using scanline functions in pixman-arm-neon-asm-bilinear.S

--HG--
extra : rebase_source : aff729718af3e7d25577603241d204bf02ecfb90
2011-05-18 13:43:30 -04:00
Siarhei Siamashka
45f3e58d85 Bug 656782 - Runtime CPU features detection does not work for pixman in Android [r=jmuizelaar]
Pixman upgrade from bug 640250 resulted in ARM cpu features
not being detected properly in Android. As a result, NEON
optimizations were not used at all.
2011-05-12 15:26:00 -04:00
Jeff Muizelaar
bbf0b70e51 Update pixman to ad3cbfb073fc325e1b3152898ca71b8255675957
Alan Coopersmith (1):
      Sun's copyrights belong to Oracle now

Alexandros Frantzis (2):
      Add simple support for the r8g8b8a8 and r8g8b8x8 formats.
      Add support for the r8g8b8a8 and r8g8b8x8 formats to the tests.

Andrea Canciani (14):
      Improve precision of linear gradients
      Make classification consistent with rasterization
      Remove unused enum value
      Fix an overflow in the new radial gradient code
      Remove unused stop_range field
      Fix opacity check
      Improve conical gradients opacity check
      Improve handling of tangent circles
      Add a test for radial gradients
      Fix compilation on Win32
      test: Fix tests for compilation on Windows
      test: Add Makefile for Win32
      Do not include unused headers
      test: Silence MSVC warnings

Cyril Brulebois (2):
      Fix argument quoting for AC_INIT.
      Fix linking issues when HAVE_FEENABLEEXCEPT is set.

Jon TURNEY (2):
      Plug another leak in alphamap test
      Remove stray #include <fenv.h>

Rolland Dudemaine (4):
      test: Fix for mismatched 'fence_malloc' prototype/implementation
      Correct the initialization of 'max_vx'
      test: Use the right enum types instead of int to fix warnings
      Fix "variable was set but never used" warnings

Scott McCreary (1):
      Added check to find pthread on Haiku.

Siarhei Siamashka (62):
      Fixed broken configure check for __thread support
      Do CPU features detection from 'constructor' function when compiled with gcc
      ARM: fix 'vld1.8'->'vld1.32' typo in add_8888_8888 NEON fast path
      ARM: NEON: source image pixel fetcher can be overrided now
      ARM: nearest scaling support for NEON scanline compositing functions
      ARM: macro template in C code to simplify using scaled fast paths
      ARM: performance tuning of NEON nearest scaled pixel fetcher
      ARM: NEON optimization for scaled over_8888_8888 with nearest filter
      ARM: NEON optimization for scaled over_8888_0565 with nearest filter
      ARM: NEON optimization for scaled src_8888_0565 with nearest filter
      ARM: NEON optimization for scaled src_0565_8888 with nearest filter
      ARM: optimization for scaled src_0565_0565 with nearest filter
      C fast path for a1 fill operation
      ARM: added 'neon_composite_over_n_8_8' fast path
      ARM: introduced 'fetch_mask_pixblock' macro to simplify code
      ARM: better NEON instructions scheduling for over_n_8_0565
      ARM: added 'neon_composite_over_8888_n_0565' fast path
      ARM: reuse common NEON code for over_{n_8|8888_n|8888_8}_0565
      ARM: added 'neon_composite_over_0565_n_0565' fast path
      ARM: added 'neon_composite_add_8888_8_8888' fast path
      ARM: better NEON instructions scheduling for add_8888_8888_8888
      ARM: added 'neon_composite_add_n_8_8888' fast path
      ARM: added 'neon_composite_add_8888_n_8888' fast path
      ARM: added flags parameter to some asm fast path wrapper macros
      ARM: added 'neon_composite_in_n_8' fast path
      ARM: added 'neon_src_rpixbuf_8888' fast path
      Fix for potential unaligned memory accesses
      COPYING: added Nokia to the list of copyright holders
      Revert "Fix "syntax error: empty declaration" warnings."
      Fix for "syntax error: empty declaration" Solaris Studio warnings
      Workaround for a preprocessor issue in old Sun Studio
      Bugfix for a corner case in 'pixman_transform_is_inverse'
      Make 'fast_composite_scaled_nearest_*' less suspicious
      A new configure option --enable-static-testprogs
      ARM: do /proc/self/auxv based cpu features detection only in linux
      The code in 'bitmap_addrect' already assumes non-null 'reg->data'
      test: affine-test updated to stress 90/180/270 degrees rotation more
      New flags for 90/180/270 rotation
      C fast paths for a simple 90/270 degrees rotation
      Use const modifiers for source buffers in nearest scaling fast paths
      test: Extend scaling-test to support a8/solid mask and ADD operation
      Support for a8 and solid mask in nearest scaling main loop template
      Better support for NONE repeat in nearest scaling main loop template
      ARM: new macro template for using scaled fast paths with a8 mask
      ARM: NEON optimization for nearest scaled over_8888_8_0565
      ARM: NEON optimization for nearest scaled over_0565_8_0565
      SSE2 optimization for nearest scaled over_8888_n_8888
      Ensure that tests run as the last step of a build for 'make check'
      Main loop template for fast single pass bilinear scaling
      test: check correctness of 'bilinear_pad_repeat_get_scanline_bounds'
      SSE2 optimization for bilinear scaled 'src_8888_8888'
      ARM: NEON optimization for bilinear scaled 'src_8888_8888'
      ARM: use prefetch in nearest scaled 'src_0565_0565'
      ARM: common macro for nearest scaling fast paths
      ARM: assembly optimized nearest scaled 'src_8888_8888'
      ARM: new bilinear fast path template macro in 'pixman-arm-common.h'
      ARM: NEON: common macro template for bilinear scanline scalers
      ARM: use common macro template for bilinear scaled 'src_8888_8888'
      ARM: NEON optimization for bilinear scaled 'src_8888_0565'
      ARM: NEON optimization for bilinear scaled 'src_0565_x888'
      ARM: NEON optimization for bilinear scaled 'src_0565_0565'
      ARM: a bit faster NEON bilinear scaling for r5g6b5 source images

Søren Sandmann Pedersen (79):
      Remove the class field from source_image_t
      Pre-release version bump to 0.19.6
      Post-release version bump to 0.19.7
      Pre-release version bump to 0.20.0
      Post-release version bump to 0.20.1
      Version bump 0.21.1.
      COPYING: Stop saying that a modification is currently under discussion.
      Remove workaround for a bug in the 1.6 X server.
      [mmx] Mark some of the output variables as early-clobber.
      Delete the source_image_t struct.
      Generate {a,x}8r8g8b8, a8, 565 fetchers for nearest/affine images
      Pre-release version bump
      Post-release version bump to 0.21.3
      test: Make composite test use some existing macros instead of defining its own
      Add enable_fp_exceptions() function in utils.[ch]
      Extend gradient-crash-test
      test: Move palette initialization to utils.[ch]
      test/utils.c: Initialize palette->rgba to 0.
      Make the argument to fence_malloc() an int64_t
      Add a stress-test program.
      Add a test compositing with the various PDF operators.
      Fix divide-by-zero in set_lum().
      sse2: Skip src pixels that are zero in sse2_composite_over_8888_n_8888()
      Add iterators in the general implementation
      Move initialization of iterators for bits images to pixman-bits-image.c
      Eliminate the _pixman_image_store_scanline_32/64 functions
      Move iterator initialization to the respective image files
      Virtualize iterator initialization
      Use an iterator in pixman_image_get_solid()
      Move get_scanline_32/64 to the bits part of the image struct
      Allow NULL property_changed function
      Consolidate the various get_scanline_32() into get_scanline_narrow()
      Linear: Optimize for horizontal gradients
      Get rid of the classify methods
      Add direct-write optimization back
      Skip fetching pixels when possible
      Turn on testing for destination transformation
      Fix destination fetching
      Fix dangling-pointer bug in bits_image_fetch_bilinear_no_repeat_8888().
      Pre-release version bump to 0.21.4
      Post-release version bump to 0.21.5
      Print a warning when a development snapshot is being configured.
      Move fallback decisions from implementations into pixman-cpu.c.
      Add a test for over_x888_8_0565 in lowlevel_blt_bench().
      Add SSE2 fetcher for x8r8g8b8
      Add SSE2 fetcher for a8
      Improve performance of sse2_combine_over_u()
      Add SSE2 fetcher for 0565
      Add pixman-conical-gradient.c to Makefile.win32.
      Move all the GTK+ based test programs to a new subdir, "demos"
      Add @TESTPROGS_EXTRA_LDFLAGS@ to AM_LDFLAGS
      test/Makefile.am: Move all the TEST_LDADD into a new global LDADD.
      Add pixman_composite_trapezoids().
      Add a test program for pixman_composite_trapezoids().
      Add support for triangles to pixman.
      Add a test program, tri-test
      Optimize adding opaque trapezoids onto a8 destination.
      Add new public function pixman_add_triangles()
      Avoid marking images dirty when properties are reset
      In pixman_image_set_transform() allow NULL for transform
      Coding style:  core_combine_in_u_pixelsse2 -> core_combine_in_u_pixel_sse2
      sse2: Convert all uses of MMX registers to use SSE2 registers instead.
      sse2: Delete unused MMX functions and constants and all _mm_empty()s
      sse2: Don't compile pixman-sse2.c with -mmmx anymore
      sse2: Remove all the core_combine_* functions
      sse2: Delete obsolete or redundant comments
      sse2: Remove pixman-x64-mmx-emulation.h
      sse2: Minor coding style cleanups.
      Delete pixman-x64-mmx-emulation.h from pixman/Makefile.am
      Minor fix to the RELEASING file
      Pre-release version bump to 0.21.6
      Post-release version bump to 0.21.7
      test: In image_endian_swap() use pixman_image_get_format() to get the bpp.
      test: Do endian swapping of the source and destination images.
      In delegate_{src,dest}_iter_init() call delegate directly.
      Fill out parts of iters in _pixman_implementation_{src,dest}_iter_init()
      Simplify the prototype for iterator initializers.
      test: Randomize some tests if PIXMAN_RANDOMIZE_TESTS is set
      test: Fix infinite loop in composite
2011-03-28 13:52:09 -04:00
Makoto Kato
7518d2a843 Bug 627606 - Remove PGO hack on Win64. r=ted a=bsmedberg 2011-02-09 15:51:25 +09:00
Oleg Romashin
b9a3958eb3 Bug 618570 - -mfloat-abi=softfp should not be hardcoded in pixman r=jmuizelaar a=approval2.0
--HG--
extra : rebase_source : bdd986ff66400c7115214721aa11c3fb810138e3
2011-01-04 17:37:18 +02:00
Ginn Chen
80fcc6ed53 Bug 612234 Fix for non libxul build on Windows r=neil a=blocking-2.0 2010-12-06 00:06:54 +08:00
Ginn Chen
1308832119 Bug 612234 Part 3: Make internal pixman functions hidden for Solaris Studio compiler r=jmuizelaar a=blocking-2.0 2010-11-30 14:38:47 +08:00
Jeff Muizelaar
9de81a88da Bug 604168. pixman: Update to f6ab20ca6604739b82311fc078d6ce850f43adc0 a=blocking-fennec
Andrea Canciani (4):
      support single-stop gradients
      test: verify that gradients do not crash pixman
      Draw radial gradients with PDF semantics
      Add comments about errors

Benjamin Otte (2):
      region: Add a new test region-translate
      region: Fix pixman_region_translate() clipping bug

Brad Smith (1):
      Add support for AltiVec detection for OpenBSD/PowerPC.

Dmitri Vorobiev (5):
      Move aligned_malloc() to utils
      Add gettime() routine to test utils
      Add noinline macro
      Use <sys/mman.h> macros only when they are available
      Some clean-ups in fence_malloc() and fence_free()

Jeff Muizelaar (1):
      create getter for component alpha

Jonathan Morton (1):
      Add a lowlevel blitter benchmark

Liu Xinyun (2):
      add enable-cache-prefetch option
      Remove cache prefetch code.

M Joonas Pihlaja (6):
      Try harder to find suitable flags for pthreads.
      Don't trust OpenBSD's gcc to produce working code for __thread.
      Check that the OpenMP pragmas don't cause link errors.
      Check for specific flags by actually trying to compile and link.
      Avoid trailing slashes on automake install dirs.
      Fix thinko in configure.ac's macro to test linking.

Maarten Bosmans (2):
      Use windows.h directly for mingw32 build
      Add *.exe to .gitignore

Marek Vasut (1):
      Add support for 32bpp X14R6G6B6 format.

Mika Yrjola (1):
      Fix "syntax error: empty declaration" warnings.

Siarhei Siamashka (25):
      test: main loop from blitters-test added as a new function to utils.c
      test: blitters-test-bisect.rb converted to perl
      test: blitters-test updated to use new fuzzer_test_main() function
      test: scaling-test updated to use new fuzzer_test_main() function
      test: added OpenMP support for better utilization of multiple CPU cores
      test: 'scaling-crash-test' added
      test: 'scaling-test' updated to provide better coverage
      Code simplification (no need advancing 'vx' at the end of scanline)
      ARM: 'neon_combine_out_reverse_u' combiner
      ARM: added 'neon_composite_over_8888_8_0565' fast path
      ARM: common init/cleanup macro for saving/restoring NEON registers
      ARM: helper macros for conversion between 8888/x888/0565 formats
      ARM: added 'neon_composite_over_0565_8_0565' fast path
      test: detection of possible floating point registers corruption
      Nearest scaling fast path macros moved to 'pixman-fast-path.h'
      Nearest scaling fast path macro split into two parts
      Introduce a fake PIXMAN_REPEAT_COVER constant
      PAD repeat support for fast scaling with nearest filter
      NONE repeat support for fast scaling with nearest filter
      SSE2 optimization for scaled over_8888_8888 operation with nearest filter
      ARM: NEON: added forgotten cache preload for over_n_8888/over_n_0565
      ARM: added 'neon_composite_add_0565_8_0565' fast path
      ARM: added 'neon_composite_out_reverse_8_0565' fast path
      Use more unrolling for scaled src_0565_0565 with nearest filter
      ARM: restore fallback to ARMv6 implementation from NEON in the delegate chain

Søren Sandmann Pedersen (94):
      Don't use __thread on MinGW.
      Add macros for thread local storage on MinGW 32
      test/gtk-utils: Set the size of the window to the size of the image
      Merge branch 'for-master'
      Eliminate mask_bits from all the scanline fetchers.
      When storing a g1 pixel, store the lowest bit, rather than comparing with 0.
      Make separate gray scanline storers.
      Fix conical gradients to match QConicalGradient from Qt
      Store the conical angle in floating point radians, not fixed point degrees
      Minor tweaks to README
      Make the combiner macros less likely to cause name collisions.
      Fix memory leak in the pthreads thread local storage code
      Hide the global implementation variable behind a force_inline function.
      Cache the implementation along with the fast paths.
      Split the fast path caching into its own force_inline function
      test: Make sure the palettes for indexed format roundtrip properly
      When converting indexed formats to 64 bits, don't correct for channel widths
      Make the repeat mode explicit in the FAST_NEAREST macro.
      In the FAST_NEAREST macro call the function 8888_8888 and not x888_x888
      fast-path: Some formatting fixes
      Check for read accessors before taking the bilinear fast path
      [fast] Add fast_composite_src_x888_8888()
      [sse2] Add sse2_composite_src_x888_8888()
      [sse2] Add sse2_composite_in_n_8()
      [sse2] Add sse2_composite_add_n_8()
      bits: Fix potential divide-by-zero in projective code
      Add x14r6g6b6 format to blitters-test
      If we bail out of do_composite, make sure to undo any workarounds.
      CODING_STYLE: Delete the stuff about trailing spaces
      Fix Altivec/OpenBSD patch
      Extend scaling-crash-test in various ways
      Replace compute_src_extent_flags() with analyze_extents()
      Eliminate recursion from alpha map code
      Eliminate get_pixel_32() and get_pixel_64() from bits_image.
      Split bits_image_fetch_transformed() into two functions.
      Eliminate the store_scanline_{32,64} function pointers.
      Remove "_raw_" from all the accessors.
      Add some new FAST_PATH flags
      Store the various bits image fetchers in a table with formats and flags.
      Add alpha-loop test program
      pixman_image_set_alpha_map(): Disallow alpha map cycles
      Introduce new FAST_PATH_SAMPLES_OPAQUE flag
      Only try to compute the FAST_SAMPLES_COVER_CLIP for bits images
      Pre-release version bump to 0.19.2
      Post-release version bump to 0.19.3
      Merge pixman_image_composite32() and do_composite().
      Be more paranoid about checking for GTK+
      Store a2b2g2r2 pixel through the WRITE macro
      When pixman_compute_composite_region32() returns FALSE, don't fini the region.
      Silence some warnings about uninitialized variables
      Add FAST_PATH_NO_ALPHA_MAP to the standard destination flags.
      Do opacity computation with shifts instead of comparing with 0
      Add fence_malloc() and fence_free().
      Update and extend the alphamap test
      Rename FAST_PATH_NO_WIDE_FORMAT to FAST_PATH_NARROW_FORMAT
      Remove FAST_PATH_NARROW_FORMAT flag if there is a wide alpha map
      Clip composite region against the destination alpha map extents.
      Move some of the FAST_PATH_COVERS_CLIP computation to pixman-image.c
      analyze_extents: Fast path for non-transformed BITS images
      test: Add affine-test
      Use a macro to generate some {a,x}8r8g8b8, a8, and r5g6b5 bilinear fetchers.
      Enable bits_image_fetch_bilinear_affine_pad_a8r8g8b8
      Enable bits_image_fetch_bilinear_affine_none_a8r8g8b8
      Enable bits_image_fetch_bilinear_affine_reflect_a8r8g8b8
      Enable bits_image_fetch_bilinear_affine_normal_a8r8g8b8
      Enable bits_image_fetch_bilinear_affine_pad_x8r8g8b8
      Enable bits_image_fetch_bilinear_affine_none_x8r8g8b8
      Enable bits_image_fetch_bilinear_affine_reflect_x8r8g8b8
      Enable bits_image_fetch_bilinear_affine_normal_x8r8g8b8
      Enable bits_image_fetch_bilinear_affine_pad_a8
      Enable bits_image_fetch_bilinear_affine_none_a8
      Enable bits_image_fetch_bilinear_affine_reflect_a8
      Enable bits_image_fetch_bilinear_affine_normal_a8
      Enable bits_image_fetch_bilinear_affine_pad_r5g6b5
      Enable bits_image_fetch_bilinear_affine_none_r5g6b5
      Enable bits_image_fetch_bilinear_affine_reflect_r5g6b5
      Enable bits_image_fetch_bilinear_affine_normal_r5g6b5
      compute_composite_region32: Zero extents before returning FALSE.
      Pre-release version bump to 0.19.4
      Post-release version bump to 0.19.5
      If MAP_ANONYMOUS is not defined, define it to MAP_ANON.
      Revert "add enable-cache-prefetch option"
      Rename all the fast paths with _8000 in their names to _8
      Fix search-and-replace issue in lowlevel-blt-bench.c
      Fix bug in FAST_PATH_STD_FAST_PATH
      Delete simple repeat code
      Remove broken optimizations in combine_disjoint_over_u()
      test: Fix bug in color_correct() in composite.c
      test: Fix eval_diff() so that it provides useful error values.
      test: Change composite so that it tests randomly generated images
      test: Parallize composite.c with OpenMP
      test: Add some more colors to the color table in composite.c
      Add no-op combiners for DST and the CA versions of the HSL operators.
      Plug leak in the alphamap test.

Tor Lillqvist (1):
      Support __thread on MINGW 4.5
2010-10-20 15:25:03 -04:00
Makoto Kato
f5bd2bc6da Bug 488851 - Enable SSE2 for pixman r=jmuizelaar, a=joe 2010-08-26 15:54:10 +09:00
Daniel Holbert
f535a780b9 Bug 503279: disable spammy 'missing initializer' warning in imported code within gfx. r=jrmuizel 2010-07-13 11:50:18 -07:00
Justin Wood
ce097ec76a Bug 467051 - Introduce GLOBAL_DEPS to build system (gfx/cairo) r=vlad, feedback+=ted
--HG--
extra : rebase_source : 3dee9c67387cb9b72dd81da6d52ad996afa2bfae
2010-05-30 22:49:32 -04:00
Brad Lassey
76a20dbcfd [android] read /proc/cpuinfo for cpu info 2010-05-07 16:48:33 -04:00
Makoto Kato
66128e542c Bug 540999 - Enable SSE2 for pixman on Windows x64 build. r=jmuizelaar 2010-05-12 17:07:19 +09:00
Jeff Muizelaar
38c2106acc Bug 562087: Update pixman to 2f4f2fb4859931bf6dc5632d8c919e7296736427
Should give some performance improvements
2010-05-05 11:23:54 -04:00
Siddharth Agarwal
6e91448d6a Bug 558907 - VC10: pixman.h defines intN_t even though stdint.h is available. r=jrmuizel 2010-04-13 14:19:46 +05:30
Jeff Muizelaar
8668ef9bd2 Bug 544697. pixman: Reenable NEON support. r=vlad,bsmedberg
3f91dcac71c4 turned off NEON because of build breakage. This
turns it back on.

We also need to add a SSRCS target so that .S files get built
with gcc.
2010-02-08 23:13:12 -05:00
Jeff Muizelaar
e52c2af98f Revert 3f91dcac71c4 for breaking 'make check'. 2010-02-09 00:07:00 -05:00
Jeff Muizelaar
c631d2fce6 Bug 544697. pixman: Reenable NEON support. r=vlad,bsmedberg
3f91dcac71c4 turned off NEON because of build breakage. This
turns it back on.

We also need to add a SSRCS target so that .S files get built
with gcc.
2010-02-08 23:13:12 -05:00
Jeff Muizelaar
027bedcc63 Bug 530550. pixman: Fix arm gcc build.
The pixman-arm-simd-asm.c was just a copy of pixman-arm-simd.c instead
of the file it was supposed to be.
2010-01-21 11:30:07 -05:00
Jeff Muizelaar
ef56830e01 Bug 530550. Fix non-libxul build breakage caused by 0af6ca3135ca. r=ehsan
Non-libxul builds include pixman.h directly instead of having it included
by pixman-private.h which defines PIXMAN_USE_INTERNAL_API. So we ensure
PIXMAN_USE_INTERNAL_API is defined before including pixman.h
2010-01-20 20:01:00 -05:00
Jeff Muizelaar
e20cd75bd7 Bug 540464. pixman: update to 7862f9b96e8e8456cc60852790c7f244a5e3425e
This is a substantial cleanup of pixman and could break things.
2010-01-20 15:08:05 -05:00
Karl Tomlinson
a527c04bef b=518506 make public pixman symbols available in --disable-libxul and --enable-system-cairo builds r=bsmedberg 2009-12-14 10:00:31 +13:00
Benjamin Smedberg
008e309c7f Bug 513032 - remove empty conditionals in our makefiles, r=ted 2009-08-27 10:48:18 -07:00