Commit Graph

150 Commits

Author SHA1 Message Date
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
0ee041b9fd Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Ms2ger
f8f8a40a0a Bug 906619 - Part a: Move unconditional CSRCS to moz.build; r=mshal 2013-08-22 08:56:02 +02:00
Ms2ger
19f3e043e3 Bug 904831 - Part b: Move unconditional MSVC_ENABLE_PGO definitions into moz.build; r=gps 2013-08-22 08:56:01 +02:00
Ms2ger
8085d723ed Bug 883284 - Part d: Move LIBXUL_LIBRARY into moz.build (f-j); r=bsmedberg 2013-08-22 08:56:00 +02:00
Joey Armstrong
abf0127265 bug 880773: Cleanup/final patch - remove DISABLED_SSRCS. r=mshal 2013-07-16 08:47:40 -04:00
Mike Hommey
e9ee5bb8ee Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Trevor Saunders
238525e2d8 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Joey Armstrong
60dd2e7c43 bug 880773: move SSRCS to mozbuild (file batch #1). r=mshal 2013-07-01 17:09:48 -04:00
Joe Drew
693499b00e Bug 882173 - Build pixman with TLS support. r=jrmuizel 2013-06-12 16:05:39 -04:00
Ted Mielczarek
47d7af59de bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
d2b6e6e01a Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
5663b98bc5 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal
ea1d9b8ba7 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
0f0c587cec Bug 784841 - Part 18o: Convert /gfx; r=jrmuizel f=Ms2ger 2013-02-25 12:47:21 -08:00
Jeff Muizelaar
faf4189886 Bug 809821. Update pixman to 0.29.2
Ben Avison (7):
      Tweaks to lowlevel-blt-bench
      ARMv6: Lay the groundwork for later patches in the series
      ARMv6: New fill routines
      ARMv6: New blit routines
      ARMv6: New conversion routines
      ARMv6: Replacement add_8_8, over_8888_8888, over_8888_n_8888 and over_n_8_8888 routines
      Improve L1 and L2 benchmark tests for caches that don't use allocate-on-write

Benjamin Gilbert (1):
      Fix thread safety on mingw-w64 and clang

Chris Wilson (6):
      sse2: Add a fast path for add_n_8888
      sse2: Add a fast path for add_n_8_8888
      sse2: Add fast paths for bilinear source with a solid mask
      Always return a valid function from lookup_composite()
      Always return a valid function from lookup_combiner()
      Eliminate duplicate copies of channel flags for pixman_image_composite32()

Jeff Muizelaar (1):
      Add a version of bilinear_interpolation for precision <=4

Joshua Root (1):
      Fix undeclared variable use and sysctlbyname error handling on ppc

Marko Lindqvist (1):
      Fix build with automake-1.13

Matt Turner (2):
      Add new demos and tests to .gitignore
      Convert INCLUDES to AM_CPPFLAGS

Nemanja Lukic (5):
      MIPS: DSPr2: Added more fast-paths for SRC operation:
      MIPS: DSPr2: Added more fast-paths for OVER operation:
      MIPS: DSPr2: Added several nearest neighbor fast paths with a8 mask:
      MIPS: DSPr2: Added more fast-paths for REVERSE operation:      - out_reverse_8_0565      - out_reverse_8_8888
      MIPS: DSPr2: Added more fast-paths:      - over_reverse_n_8888      - in_n_8_8

Siarhei Siamashka (21):
      test: Change is_little_endian() into inline function
      test: Added a better PRNG (pseudorandom number generator)
      test: Search/replace 'lcg_*' -> 'prng_*'
      test: Switch to the new PRNG instead of old LCG
      test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32'
      Improve performance of combine_over_u
      test: Workaround unaligned MOVDQA bug (http://gcc.gnu.org/PR55614)
      test: add "src_0565_8888" to lowlevel-blt-bench
      Change CONVERT_XXXX_TO_YYYY macros into inline functions
      Faster conversion from a8r8g8b8 to r5g6b5 in C code
      ARM: make use of UQADD8 instruction even in generic C code paths
      Rename 'xor' variable to 'filler' (because 'xor' is a C++ keyword)
      Define SIZE_MAX if it is not provided by the standard C headers
      Use more appropriate types and remove a magic constant
      Added C variants of r5g6b5 fetch/write-back iterators
      Faster write-back for the C variant of r5g6b5 dest iterator
      Faster fetch for the C variant of r5g6b5 src/dest iterator
      Add higher precision "pixman_transform_point_*" functions
      configure.ac: Added detection for __float128 support
      test: Added matrix-test for testing projective transform accuracy
      Use pixman_transform_point_31_16() from pixman_transform_point()

Stefan Weil (3):
      Always use xmmintrin.h for 64 bit Windows
      pixman: Use uintptr_t in type casts from pointer to integral value
      test: Fix compiler warnings caused by unused code

Søren Sandmann Pedersen (37):
      Post-release version bump to 0.27.5
      Pre-release version bump to 0.28.0
      Post-release version bump to 0.29.1
      pixman_image_composite: Reduce opaque masks to NULL
      pixman.h: Add typedefs for pixman_f_transform and pixman_f_vector
      Allow src and dst to be identical in pixman_f_transform_invert()
      Round fixed-point multiplication
      Convolution filter: round color values instead of truncating
      Add text file rounding.txt describing how rounding works
      Add new filter PIXMAN_FILTER_SEPARABLE_CONVOLUTION
      rounding.txt: Describe how SEPARABLE_CONVOLUTION filter works
      Add new pixman_filter_create_separable_convolution() API
      demos/gtk-utils.[ch]: Add pixman_image_from_file()
      demos: Add new demo program, "scale"
      Add demos/zone_plate.png
      Add demo program for conical gradients
      Add fast paths for separable convolution
      demos/radial-test: Add zero-radius circles to demonstrate rendering bugs
      radial: When comparing t to mindr, use >= rather than >
      test/utils.[ch]: Add utility function to draw a checkerboard
      demos/conical-test: Use the draw_checkerboard() utility function
      demos/radial-test: Add checkerboard to display the alpha channel
      Add testing of trapezoids to stress-test
      pixman_composite_trapezoids: Return early if mask_format is not of TYPE_ALPHA
      pixman_composite_trapezoids(): Check for NULL return from create_bits()
      float-combiner.c: Change tests for x == 0.0 tests to - FLT_MIN < x < FLT_MIN
      Handle solid images in the noop iterator
      pixman-filter.c: Cope with NULL returns from malloc()
      README: Add guidelines on how to contribute patches
      test/utils.[ch]: Add new function operator_name()
      utils.[ch]: Add new format_name() function
      test: Use operator_name() and format_name() in composite.c
      demo/scale: Add a spin button to set the number of subsample bits
      pixman-combine-float.c: Use IS_ZERO() in clip_color() and set_sat()
      Change default GPGKEY to 3892336E, which is soren.sandmann@gmail.com
      stresstest: Ensure that the rasterizer is only given alpha formats
      Pre-release version bump to 0.29.2
2013-02-18 10:17:08 -05:00
Jeff Muizelaar
c7040608de Bug 836171. Update pixman to 0.27.4
Andrea Canciani (2):
      mmx: Fix x86 build on MSVC
      build: Improve win32 build system

Benny Siegert (1):
      configure.ac: PIXMAN_LINK_WITH_ENV fix

Matt Turner (3):
      build: Remove useless DEP_CFLAGS/DEP_LIBS variables
      sse2: mark pack_565_2x128_128 as static force_inline
      iwmmxt: Don't define dummy _mm_empty for >=gcc-4.8

Nemanja Lukic (7):
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_8888 - over_8888_8_8888
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_0565 - over_8888_8_0565
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_0565_n_0565 - over_0565_8_0565
      MIPS: DSPr2: Added OVER combiner and two new fast paths: - over_8888_8888 - over_8888_8888_8888
      MIPS: DSPr2: Added fast-paths for ADD operation: - add_n_8_8 - add_n_8_8888 - add_8_8_8
      MIPS: DSPr2: Added more fast-paths for ADD operation: - add_0565_8_0565 - add_8888_8_8888 - add_8888_n_8888
      MIPS: DSPr2: Added more fast-paths for ADD operation: - add_8888_8888_8888 - add_8_8 - add_8888_8888

Siarhei Siamashka (4):
      Add scaled nearest repeat fast paths
      MIPS: skip runtime detection for DSPr2 if -mdspr2 option is in CFLAGS
      Add missing force_inline to in() function used for C fast paths
      Workaround for FTBFS with gcc 4.6 (http://gcc.gnu.org/PR54965)

Søren Sandmann Pedersen (44):
      Post-release version bump to 0.27.3
      Define TIMER_BEGIN and TIMER_END even when timers are not enabled
      Make show_image() cope with more formats
      demos: Add srgb_trap_test.c
      Remove pointless declaration of _pixman_image_get_scanline_generic_64()
      Remove obsolete TODO file
      pixel_checker: Move sRGB conversion into get_limits()
      test/utils.c: Use pow(), not powf() in sRGB conversion routines
      implementation: Write lookup_combiner() in a less convoluted way.
      Move blt delegation into pixman-implementation.c
      Move fill delegation into pixman-implementation.c
      Move delegation of src/dest iter init into pixman-implementation.c
      Rename _pixman_lookup_composite_function() to _pixman_implementation_lookup_composite()
      _pixman_implementation_create(): Initialize implementation with memset()
      implementation: Rename delegate to fallback
      Add PIXMAN_x8b8g8r8 and PIXMAN_a8b8g8r8 formats to scaling-test
      Fix bug in fast_composite_scaled_nearest()
      Fix bugs in component alpha combiners for separable PDF operators
      Add rotate-test.c test program
      Fix bugs in pixman-image.c
      pixman-combine.c.template: Formatting clean-ups
      affine-test: Print out the transformation matrix when verbose
      test: Add inifinite-loop test
      Fix for infinite-loop test
      rotate-test: Call image_endian_swap() in make_image()
      Make pixman.h more const-correct
      glyph-test: Prepare for floating point
      blitters-test: Prepare for floating point
      Add pixman-combine-float.c
      Add combiner test
      pixman-utils.c, pixman-private.h: Add floating point conversion routines
      pixman-access.c: Add floating point accessor functions
      Switch the wide pipeline over to using floating point
      Remove 64 bit pipeline
      Don't auto-generate pixman-combine32.[ch] anymore
      Speed up pixman_expand_to_float()
      Remove BUILT_SOURCES
      Only regard images as pixbufs if they have identity transformations
      region: Formatting fix
      region: Remove overlap argument from pixman_op()
      Add new pixman_image_create_bits_no_clear() API
      pixman_composite_trapezoids(): Factor out extents computation
      pixman_composite_trapezoids(): don't clip to extents for some operators
      Pre-release version bump to 0.27.4

--HG--
extra : rebase_source : ed5b5f0184dd19b2ae5caa43edee6effce14efaf
2013-02-04 15:16:01 -05:00
Jeff Muizelaar
136d28c6b3 Bug 829035. Reduce pixman bilinear precision to match upstream. 2013-02-03 16:47:01 -05:00
Jeff Muizelaar
27a9e73876 Bug 828789. Update to pixman 0.27.2.
Alan Coopersmith (2):
      Make mmx code compatible with Solaris Studio 12.3 compilers
      Just use xmmintrin.h when building with Solaris Studio compilers

Andrea Canciani (7):
      Remove useless checks for NULL before freeing
      test: Cleanup includes
      Use the ARRAY_LENGTH() macro when possible
      test: Reuse the ARRAY_LENGTH() macro
      demos: Consistently use G_N_ELEMENTS()
      test: Produce autotools-looking report in the win32 build system
      build: Fix compilation on win32

Antti S. Lankila (5):
      Faster unorm_to_unorm for wide processing.
      Remove unnecessary dst initialization
      Add support for sRGB surfaces
      Add sRGB blending demo program
      Add tests to validate new sRGB behavior

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

Chun-wei Fan (1):
      Just include xmmintrin.h on MSVC as well

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

Ingmar Runge (1):
      Fix MSVC compilation

Jeremy Huddleston (7):
      configure.ac: Add an --enable-libpng option
      Revert "Disable MMX when Clang is being used."
      Silence a warning about unused pixman_have_mmx
      Disable MMX when incompatible clang is being used.
      Expand TLS support beyond __thread to __declspec(thread)
      Fix a false-negative in MMX check
      configure.ac: Fix a copy-paste-o in TLS detection

Matt Turner (60):
      Use AC_LANG_SOURCE for iwMMXt configure program
      Make sure to run AC_SUBST IWMMXT_CFLAGS
      Convert while (w) to if (w) when possible
      autoconf: use #error instead of error
      mmx: enable over_x888_8_8888 on ARM/iwMMXt
      mmx: Use _mm_mulhi_pu16
      mmx: Use _mm_shuffle_pi16
      mmx: fix typo in pix_add_mul on MSVC
      Update .gitignore with more demos and tests
      mmx: make store8888 take uint32_t *dest as argument
      mmx: make load8888 take a pointer to data instead of the data itself
      lowlevel-blt: add over_8888_8888
      lowlevel-blt: add over_x888_n_8888
      lowlevel-blt-bench: add in_8_8 and in_n_8_8
      Use AC_LANG_SOURCE for DSPr2 configure program
      mmx: enable over_n_0565 for b5g6r5
      mmx: Use force_inline instead of __inline__ (bug 46906)
      configure.ac: require >= gcc-4.5 for ARM iwMMXt
      mmx: fix _mm_shuffle_pi16 function when compiling without optimization
      configure.ac: fix iwMMXt/gcc version error message
      mmx: add store function and use it in add_8888_8888
      mmx: add load function and use it in add_8888_8888
      mmx: make ldq_u take __m64* directly
      mmx: compile on MIPS for Loongson MMI optimizations
      mmx: remove unnecessary uint64_t<->__m64 conversions
      mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
      mmx: introduce is_equal, is_opaque, and is_zero functions
      mmx: don't pack and unpack src unnecessarily
      mmx: Use Loongson pinsrh instruction in pack_565
      mmx: Use Loongson pextrh instruction in expand565
      mmx: add r5g6b5 fetcher
      mmx: add a8 fetcher
      mmx: add x8f8g8b8 fetcher
      mmx: add src_8888_0565
      mmx: Use wpackhus in src_x888_0565 on iwMMXt
      .gitignore: add demos/checkerboard and demos/quad2quad
      configure.ac: make -march=loongson2f come before CFLAGS
      mmx: add and use pack_4x565 function
      configure.ac: Fix loongson-mmi out-of-tree builds
      configure.ac: Rename loongson -> loongson-mmi
      configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
      mmx: add and use expand_4xpacked565 function
      mmx: implement expand_4x565 in terms of expand_4xpacked565
      fast: add add_0565_0565 function
      mmx: add add_0565_0565
      mmx: add over_reverse_n_8888
      mmx: add missing _mm_empty calls
      autotools: use custom build rule to build iwMMXt code
      configure.ac: add iwmmxt2 configure flag
      .gitignore: add test/glyph-test
      sse2: enable over_n_0565 for b5g6r5
      sse2: add src_x888_0565
      Fix distcheck due to custom iwMMXt rules
      mmx: Use expand_alpha instead of mask/shift
      mmx: add scaled bilinear src_8888_8888
      mmx: add scaled bilinear over_8888_8888
      mmx: add scaled bilinear over_8888_8_8888
      mmx: optimize bilinear function when using 7-bit precision
      loongson: optimize _mm_set_pi* functions with shuffle instructions
      sse2: add missing ABGR entires for bilinear src_8888_8888

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

Nemanja Lukic (9):
      MIPS: DSPr2: Basic infrastructure for MIPS architecture
      MIPS: DSPr2: Added fast-paths for SRC operation.
      MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
      MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
      MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
      MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
      MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
      MIPS: DSPr2: Added several bilinear fast paths with a8 mask
      MIPS: DSPr2: Added more bilinear fast paths (without mask)

Sebastian Bauer (4):
      Qualify the static variables in pixman_f_transform_invert() with the const keyword.
      Changed the style of two function headers
      Added HAVE_CONFIG_H check before including config.h
      Use angle brackets form of including config.h

Siarhei Siamashka (8):
      test: OpenMP 2.5 requires signed loop iteration variables
      test: fix bisecting issue in fuzzer-find-diff.pl
      test: Fix for strict aliasing issue in 'get_random_seed'
      test: support nearest/bilinear scaling in lowlevel-blt-bench
      sse2: faster bilinear scaling (use _mm_loadl_epi64)
      Bilinear interpolation precision is now configurable at compile time
      sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
      Change default bilinear interpolation precision to 7 bits

Søren Sandmann Pedersen (81):
      Post-release version bump to 0.25.1
      region: Add pixman_region{,32}_clear() functions.
      Modify gradient-test to show a bug in NONE processing
      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
      Add missing cast in _pixman_edge_multi_init()
      Fix a bunch of signed overflow issues
      In MUL_UNc() cast to comp2_t
      Reject trapezoids where top (botttom) is above (below) the edges
      Fix rounding for DIV_UNc()
      test: In the alphamap test, also test that we get the right red value
      Fix bugs with alpha maps
      test/alphamap.c: Make dst and orig_dst more independent of each other
      Get rid of delegates for combiners
      Move the color_correct() function from composite.c to utils.c
      Rename color_correct() to round_color()
      test: Add a new "pixel_checker_t" object.
      test: Port composite test over to use new pixel_checker_t object.
      Revert "Reject trapezoids where top (botttom) is above (below) the edges"
      mmx: Enable over_x888_8_8888() for x86 as well
      mmx: Delete unused function in_over_full_src_alpha()
      Disable MMX when Clang is being used.
      Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
      Move fetching for solid bits images to pixman-noop.c
      pixman-accessors.h: Delete unused macros
      pixman-access.c: Remove some unused macros
      mmx: Squash a warning by making the argument to ldl_u() const
      Pre-release version bump to 0.25.2
      Post-release version bump to 0.25.3
      Use "=a" and "=d" constraints for rdtsc inline assembly
      demos: Add quad2quad program
      demos: Add checkerboard demo
      composite-test.c: Use similar gradient to the one in the PDF spec.
      composite-test.c: Add a parrot image
      Add the original parrot image.
      Rename fast_composite_add_1000_1000 to _add_1_1()
      gtk-utils.c: Don't include pixman-private.h
      test/utils.c: Rename and export the pngify_pixels() function.
      gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
      test/utils.c: Clip values to the [0, 255] interval
      bits_image_fetch_pixel_convolution(): Make sure channels are signed
      Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
      demos/Makefile.am: Add parrot.c to EXTRA_DIST
      Pre-release version bump to 0.25.6
      Post-release version bump to 0.25.7
      demos: Add parrot.jpg to EXTRA_DIST
      test: Composite with solid images instead of using pixman_image_fill_*
      Pre-release version bump to 0.26.0
      Post-release version bump to 0.27.1
      Pass the full image flags to iterators
      Make use of image flags in mmx and sse2 iterators
      Add doubly linked lists
      Add pixman_glyph_cache_t API
      Move CRC32 computation from blitters-test.c into utils.c
      Add support for alpha maps to compute_crc32_for_image().
      test: Add glyph-test
      Speed up pixman_composite_glyphs()
      Speed up _pixman_composite_glyphs_no_mask()
      Speed up _pixman_image_get_solid() in common cases
      bits-image: Turn all the fetchers into iterator getters
      test: Make glyph test pass on big endian
      test: Add missing break in stress-test.c
      test: Make stress-test more likely to actually composite something
      In fast_composite_tiled_repeat() don't clone images with a palette
      Use a compile-time constant for the "K" constraint in the MMX detection.
      pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
      Move x86 specific CPU detection to a new file pixman-x86.c
      Move ARM specific CPU detection to a new file pixman-arm.c
      Move PowerPC specific CPU detection to its own file pixman-ppc.c
      Move MIPS specific CPU detection to its own file, pixman-mips.c
      Move the remaining bits of pixman-cpu into pixman-implementation.c
      Simplify MIPS CPU detection
      Simplifications to ARM CPU detection
      Simplify CPU detection on PPC.
      Cleanups and simplifications in x86 CPU feature detection
      Make pixman-mmx.c compile on x86-32 without optimization
      Add make-srgb.pl to EXTRA_DIST
      stress-test: Avoid overflows in clip rectangles
      glyph-test: Avoid setting solid images as alpha maps.
      Pre-release version bump to 0.27.2
* * *

--HG--
extra : rebase_source : d5b871a3b10fe0123f6e50cf98c3621532e5d914
2013-01-08 14:09:48 -05:00
Justin Lebar
326fd2af64 Bug 832752 - On ARM, compile pixman without -mapcs-frame, even if that's specified in CFLAGS, since this calling convention appears to break the routines written in assembly. r=glandium,jrmuizel 2013-01-23 12:29:20 -05:00
Jeff Muizelaar
00dd720d3e Backout bug 828789 (bb755890ec69) because of bug 829335
Backout pixman update.
CLOSED TREE

--HG--
extra : transplant_source : Q%C9%98%DD%A3%83%8CW%22%18k%7B%26VR%8C%5B%FF%91%3E
2013-01-10 18:50:12 -05:00
Jeff Muizelaar
593109063a Bug 828789. Update to pixman 0.26.2.
Alan Coopersmith (2):
      Make mmx code compatible with Solaris Studio 12.3 compilers
      Just use xmmintrin.h when building with Solaris Studio compilers

Andrea Canciani (7):
      Remove useless checks for NULL before freeing
      test: Cleanup includes
      Use the ARRAY_LENGTH() macro when possible
      test: Reuse the ARRAY_LENGTH() macro
      demos: Consistently use G_N_ELEMENTS()
      test: Produce autotools-looking report in the win32 build system
      build: Fix compilation on win32

Antti S. Lankila (5):
      Faster unorm_to_unorm for wide processing.
      Remove unnecessary dst initialization
      Add support for sRGB surfaces
      Add sRGB blending demo program
      Add tests to validate new sRGB behavior

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

Chun-wei Fan (1):
      Just include xmmintrin.h on MSVC as well

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

Ingmar Runge (1):
      Fix MSVC compilation

Jeremy Huddleston (7):
      configure.ac: Add an --enable-libpng option
      Revert "Disable MMX when Clang is being used."
      Silence a warning about unused pixman_have_mmx
      Disable MMX when incompatible clang is being used.
      Expand TLS support beyond __thread to __declspec(thread)
      Fix a false-negative in MMX check
      configure.ac: Fix a copy-paste-o in TLS detection

Matt Turner (60):
      Use AC_LANG_SOURCE for iwMMXt configure program
      Make sure to run AC_SUBST IWMMXT_CFLAGS
      Convert while (w) to if (w) when possible
      autoconf: use #error instead of error
      mmx: enable over_x888_8_8888 on ARM/iwMMXt
      mmx: Use _mm_mulhi_pu16
      mmx: Use _mm_shuffle_pi16
      mmx: fix typo in pix_add_mul on MSVC
      Update .gitignore with more demos and tests
      mmx: make store8888 take uint32_t *dest as argument
      mmx: make load8888 take a pointer to data instead of the data itself
      lowlevel-blt: add over_8888_8888
      lowlevel-blt: add over_x888_n_8888
      lowlevel-blt-bench: add in_8_8 and in_n_8_8
      Use AC_LANG_SOURCE for DSPr2 configure program
      mmx: enable over_n_0565 for b5g6r5
      mmx: Use force_inline instead of __inline__ (bug 46906)
      configure.ac: require >= gcc-4.5 for ARM iwMMXt
      mmx: fix _mm_shuffle_pi16 function when compiling without optimization
      configure.ac: fix iwMMXt/gcc version error message
      mmx: add store function and use it in add_8888_8888
      mmx: add load function and use it in add_8888_8888
      mmx: make ldq_u take __m64* directly
      mmx: compile on MIPS for Loongson MMI optimizations
      mmx: remove unnecessary uint64_t<->__m64 conversions
      mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
      mmx: introduce is_equal, is_opaque, and is_zero functions
      mmx: don't pack and unpack src unnecessarily
      mmx: Use Loongson pinsrh instruction in pack_565
      mmx: Use Loongson pextrh instruction in expand565
      mmx: add r5g6b5 fetcher
      mmx: add a8 fetcher
      mmx: add x8f8g8b8 fetcher
      mmx: add src_8888_0565
      mmx: Use wpackhus in src_x888_0565 on iwMMXt
      .gitignore: add demos/checkerboard and demos/quad2quad
      configure.ac: make -march=loongson2f come before CFLAGS
      mmx: add and use pack_4x565 function
      configure.ac: Fix loongson-mmi out-of-tree builds
      configure.ac: Rename loongson -> loongson-mmi
      configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
      mmx: add and use expand_4xpacked565 function
      mmx: implement expand_4x565 in terms of expand_4xpacked565
      fast: add add_0565_0565 function
      mmx: add add_0565_0565
      mmx: add over_reverse_n_8888
      mmx: add missing _mm_empty calls
      autotools: use custom build rule to build iwMMXt code
      configure.ac: add iwmmxt2 configure flag
      .gitignore: add test/glyph-test
      sse2: enable over_n_0565 for b5g6r5
      sse2: add src_x888_0565
      Fix distcheck due to custom iwMMXt rules
      mmx: Use expand_alpha instead of mask/shift
      mmx: add scaled bilinear src_8888_8888
      mmx: add scaled bilinear over_8888_8888
      mmx: add scaled bilinear over_8888_8_8888
      mmx: optimize bilinear function when using 7-bit precision
      loongson: optimize _mm_set_pi* functions with shuffle instructions
      sse2: add missing ABGR entires for bilinear src_8888_8888

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

Nemanja Lukic (9):
      MIPS: DSPr2: Basic infrastructure for MIPS architecture
      MIPS: DSPr2: Added fast-paths for SRC operation.
      MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
      MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
      MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
      MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
      MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
      MIPS: DSPr2: Added several bilinear fast paths with a8 mask
      MIPS: DSPr2: Added more bilinear fast paths (without mask)

Sebastian Bauer (4):
      Qualify the static variables in pixman_f_transform_invert() with the const keyword.
      Changed the style of two function headers
      Added HAVE_CONFIG_H check before including config.h
      Use angle brackets form of including config.h

Siarhei Siamashka (8):
      test: OpenMP 2.5 requires signed loop iteration variables
      test: fix bisecting issue in fuzzer-find-diff.pl
      test: Fix for strict aliasing issue in 'get_random_seed'
      test: support nearest/bilinear scaling in lowlevel-blt-bench
      sse2: faster bilinear scaling (use _mm_loadl_epi64)
      Bilinear interpolation precision is now configurable at compile time
      sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
      Change default bilinear interpolation precision to 7 bits

Søren Sandmann Pedersen (81):
      Post-release version bump to 0.25.1
      region: Add pixman_region{,32}_clear() functions.
      Modify gradient-test to show a bug in NONE processing
      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
      Add missing cast in _pixman_edge_multi_init()
      Fix a bunch of signed overflow issues
      In MUL_UNc() cast to comp2_t
      Reject trapezoids where top (botttom) is above (below) the edges
      Fix rounding for DIV_UNc()
      test: In the alphamap test, also test that we get the right red value
      Fix bugs with alpha maps
      test/alphamap.c: Make dst and orig_dst more independent of each other
      Get rid of delegates for combiners
      Move the color_correct() function from composite.c to utils.c
      Rename color_correct() to round_color()
      test: Add a new "pixel_checker_t" object.
      test: Port composite test over to use new pixel_checker_t object.
      Revert "Reject trapezoids where top (botttom) is above (below) the edges"
      mmx: Enable over_x888_8_8888() for x86 as well
      mmx: Delete unused function in_over_full_src_alpha()
      Disable MMX when Clang is being used.
      Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
      Move fetching for solid bits images to pixman-noop.c
      pixman-accessors.h: Delete unused macros
      pixman-access.c: Remove some unused macros
      mmx: Squash a warning by making the argument to ldl_u() const
      Pre-release version bump to 0.25.2
      Post-release version bump to 0.25.3
      Use "=a" and "=d" constraints for rdtsc inline assembly
      demos: Add quad2quad program
      demos: Add checkerboard demo
      composite-test.c: Use similar gradient to the one in the PDF spec.
      composite-test.c: Add a parrot image
      Add the original parrot image.
      Rename fast_composite_add_1000_1000 to _add_1_1()
      gtk-utils.c: Don't include pixman-private.h
      test/utils.c: Rename and export the pngify_pixels() function.
      gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
      test/utils.c: Clip values to the [0, 255] interval
      bits_image_fetch_pixel_convolution(): Make sure channels are signed
      Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
      demos/Makefile.am: Add parrot.c to EXTRA_DIST
      Pre-release version bump to 0.25.6
      Post-release version bump to 0.25.7
      demos: Add parrot.jpg to EXTRA_DIST
      test: Composite with solid images instead of using pixman_image_fill_*
      Pre-release version bump to 0.26.0
      Post-release version bump to 0.27.1
      Pass the full image flags to iterators
      Make use of image flags in mmx and sse2 iterators
      Add doubly linked lists
      Add pixman_glyph_cache_t API
      Move CRC32 computation from blitters-test.c into utils.c
      Add support for alpha maps to compute_crc32_for_image().
      test: Add glyph-test
      Speed up pixman_composite_glyphs()
      Speed up _pixman_composite_glyphs_no_mask()
      Speed up _pixman_image_get_solid() in common cases
      bits-image: Turn all the fetchers into iterator getters
      test: Make glyph test pass on big endian
      test: Add missing break in stress-test.c
      test: Make stress-test more likely to actually composite something
      In fast_composite_tiled_repeat() don't clone images with a palette
      Use a compile-time constant for the "K" constraint in the MMX detection.
      pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
      Move x86 specific CPU detection to a new file pixman-x86.c
      Move ARM specific CPU detection to a new file pixman-arm.c
      Move PowerPC specific CPU detection to its own file pixman-ppc.c
      Move MIPS specific CPU detection to its own file, pixman-mips.c
      Move the remaining bits of pixman-cpu into pixman-implementation.c
      Simplify MIPS CPU detection
      Simplifications to ARM CPU detection
      Simplify CPU detection on PPC.
      Cleanups and simplifications in x86 CPU feature detection
      Make pixman-mmx.c compile on x86-32 without optimization
      Add make-srgb.pl to EXTRA_DIST
      stress-test: Avoid overflows in clip rectangles
      glyph-test: Avoid setting solid images as alpha maps.
      Pre-release version bump to 0.27.2
* * *

--HG--
extra : rebase_source : 979841b7b315ca9ed7995ece39333dce541238fd
2013-01-08 14:09:48 -05:00
George Wright
bcde5c4018 Bug 815795 - Fix an integer overflow by casting unit_x to int64_t. From upstream commit de60e2e0e3eb6084f8f14b63f25b3cbfb r=jrmuizel 2012-12-19 18:10:07 -05:00
Tobias Netzel
d010e2972f Bug 817045 - Enable libpixman VMX acceleration. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Mike Hommey
c1b35e7b2a Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02: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
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
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
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
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
Thomas Prip Vestergaard
3f6ddf6af6 Bug 710992 - Fix third argument in memcmp call in pixman-image.c; r=roc 2012-01-02 19:15:04 +01:00
Bill McCloskey
60a6742def Bug 705332 - Re-enable printing filename in quiet builds (r=njn) 2011-12-08 10:14:06 -08:00
Nicholas Nethercote
f3486bc8ce Bug 703456 - Kill REPORT_BUILD; kill it dead. r=ted. 2011-11-21 18:47:54 -08:00
Gregory Szorc
de5e3e4887 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