Commit Graph

639 Commits

Author SHA1 Message Date
Robert O'Callahan
55d56898d6 Bug 579985. Part 3.1: Pass cairo_content_t parameter when creating CGLayer surfaces. r=jrmuizel,a=blocking 2010-11-12 14:42:22 +13:00
Robert O'Callahan
cc373a3edf Bug 579985. Using CGContextSetAlpha to implement mask alpha doesn't work for some operators. r=jrmuizel,a=blocking 2010-11-12 14:42:22 +13:00
Robert O'Callahan
d5dd5979fe Bug 593270. Part 2: Treat EXTEND_PAD like EXTEND_NONE when painting. r=jrmuizel,a=joe 2010-11-12 14:42:22 +13:00
Robert O'Callahan
fe523b132d Bug 593270. Part 1: Move surface setup code to a helper function. r=jrmuizel,a=joe 2010-11-12 14:42:22 +13:00
Joe Drew
5a6635cadd Bug 575521 - Add cairo_quartz_surface_get_image to get the image associated with a quartz surface, if it exists. r=jrmuizel,vlad,bas 2010-11-11 15:31:23 -05:00
Joe Drew
cfd14721ce Bug 575521 - Flush the CGContext before getting its raw image data. r=jrmuizel 2010-11-11 15:31:22 -05:00
Walter Meinl
859a94a18d Bug 577011 - [OS/2] make _declspec unconditionally default symbol export r=daveryeo@telus.net a=benjamin
--HG--
extra : rebase_source : f73a926174bd7905f177b2e914492e42b90ac8c0
2010-11-09 11:13:03 +01:00
Bas Schouten
e8a2a185ff Bug 606938: Toss out cached bitmaps when created with an old device. r=jrmuizel a=blocking-beta7 2010-10-27 06:52:41 +02:00
Gavin Sharp
eaf0220c21 Bug 600714: remove DDRAW junk from configure, r=vlad, a=joe
--HG--
extra : rebase_source : a7513209afbab105f23b3066e12d0bbc603af391
2010-09-29 18:38:26 -04:00
Jeff Muizelaar
1c97c56d36 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
Bas Schouten
2308be78c1 Bug 600045: Fix problems with non-over operator and transformed strokes. r=jrmuizel a=blocking-betaN 2010-10-08 18:02:29 +02:00
Tom Brinkman
6b981e0e94 Bug 565013: Implement printing to PDF for qt builds. r=romaxa r=dholbert a=blocking-fennec
--HG--
rename : widget/src/gtk2/nsDeviceContextSpecG.cpp => widget/src/qt/nsDeviceContextSpecQt.cpp
rename : widget/src/gtk2/nsDeviceContextSpecG.h => widget/src/qt/nsDeviceContextSpecQt.h
rename : widget/src/gtk2/nsPrintDialogGTK.cpp => widget/src/qt/nsPrintDialogQt.cpp
rename : widget/src/gtk2/nsPrintDialogGTK.h => widget/src/qt/nsPrintDialogQt.h
rename : widget/src/gtk2/nsPrintOptionsGTK.cpp => widget/src/qt/nsPrintOptionsQt.cpp
rename : widget/src/gtk2/nsPrintOptionsGTK.h => widget/src/qt/nsPrintOptionsQt.h
rename : widget/src/gtk2/nsPrintSettingsGTK.cpp => widget/src/qt/nsPrintSettingsQt.cpp
rename : widget/src/gtk2/nsPrintSettingsGTK.h => widget/src/qt/nsPrintSettingsQt.h
2010-10-07 12:19:33 -07:00
Oleg Romashin
99eaec58fd Bug 598561 - Don't rename pixman functions when system pixman is in use. r=jmuizelaar a=approval2.0
--HG--
extra : rebase_source : 7b5b80f59973a5d5fb55ae49170776f80284c9ec
2010-10-07 10:49:43 +03:00
Bas Schouten
afde1b864a Bug 597950 - Part 1: Add API to create a D2D surface from a D3D10 Texture. r=vlad 2010-10-01 00:53:40 +02:00
Bas Schouten
730f1be9d9 Bug 599658: Properly deal with matrices with negative scale values. r=vlad a=blocking-beta7 2010-09-28 21:52:13 +02:00
Bas Schouten
d2abe7bc5d Bug 599675: Break out of device waiting loop when device is removed. r=vlad a=blocking-beta7 2010-09-27 04:47:40 +00:00
Bas Schouten
c6bbc7508a Bug 599118 - Followup: Respect source pattern filter when using fastblit. r=joe a=test-bustage 2010-09-24 19:55:55 +02:00
Bas Schouten
ebc25954e2 Bug 599118 - Part 2: Try to use our fastblit path for solid alpha masks. r=vlad a=blocking-beta7 2010-09-24 18:58:03 +02:00
Bas Schouten
81dc3455ad Bug 599118 - Part 1: Generalize our fastblit path for boxes to use DrawBitmap where it can. r=vlad a=blocking-beta7 2010-09-24 18:58:00 +02:00
Bas Schouten
e3ee5915bd Bug 598686: Properly count VRAM for interop surfaces. r=jdrew a=blocking-beta7 2010-09-22 20:00:08 +02:00
Doug Turner
c2a24b4eeb Bug 567750 - Build option to use the system Pixman. r=khuey. a=dougt 2010-09-20 21:16:37 -07:00
Bas Schouten
582d2c590d Bug 596494 - Part 1: Expose method to get the D3D10 device for cairo d2d device. r=jrmuizel 2010-09-15 22:16:06 +00:00
KUROSAWA, Takeshi
3d34b91118 Bug 422179 - Part 2: Honor Cairo version in tree; r=jmuizelaar a=blocking-final+ try: --build do --p linux,linux64 --m none --u all --t all 2010-09-09 16:27:12 -04:00
Oleg Romashin
249569f2dc Bug 589845 - Link error in cairo-qt-surface qt_draw_glyphs. r=jmuizelaar, a=stuart 2010-09-05 08:17:58 -07:00
Bas Schouten
8ae2d33728 Bug 592024 - Don't clear shared D3D9/D2D surfaces in cairo_d2d_create_for_handle because D3D9 and D2D need a lot of synchronization points. Instead, put a clear in DrawRegion, which already has synchronization points. r=jrmuizel a=blocking 2010-09-02 15:07:26 -04:00
Bas Schouten
8120d23a45 Bug 574976: Follow-up, process one more review comment. r=jrmuizel a=blocking-beta5 2010-08-27 22:24:42 +00:00
Bas Schouten
8382ce93aa Bug 574976: Read the system cleartype pref an adhere to the expected behavior. r=jrmuizel a=blocking-beta5 2010-08-27 22:12:06 +00:00
Bas Schouten
5257eb8592 Bug 573013: Report more appropriate errors from acquire_source_image. r=jrmuizel a=blocking-beta5 2010-08-27 22:12:03 +00:00
Makoto Kato
af46f7c45f Bug 488851 - Enable SSE2 for pixman r=jmuizelaar, a=joe 2010-08-26 15:54:10 +09:00
Loïc Yhuel
e2ebc7dee3 Bug 589809. D2D: Fix running with PIX. r=bas
When we do "newSurf->backBuf->QueryInterface(&newSurf->surface);", PIX returns
the original interface instead of the hooked one, so I swapped newSurf->backBuf
and newSurf->surface, to get the two interfaces in the reverse order. In this
case PIX returns hooked interfaces which will work when used as argument of
hooked methods.
2010-08-24 13:46:34 -04:00
Loïc Yhuel
dfcd5d8362 Bug 589809. D2D: Fix surface leak. r=bas
We were using a raw pointer and not releasing it.
Switch to a RefPtr.
2010-08-24 13:46:03 -04:00
Vladimir Vukicevic
fc3a7c6d8b Bug 589891 - d2d 0-sized surfaces shouldn't cause a Cxx exception. r=jmuizelaar, a2.0=blocking-beta5 2010-08-23 20:12:11 -07:00
Rich Walsh
d0a138305c Bug 557159 - [OS/2] Optimize Cairo/Thebes surfaces. Surface Part 2 - MozCairo and Thebes. r= Peter Weilbacher, a=NPOTB 2010-08-21 12:50:32 -07:00
Rich Walsh
e832974a3e Bug 557159 - [OS/2] Optimize Cairo/Thebes surfaces. Surface Part 1 - Cairo. r= Peter Weilbacher, a=NPOTB 2010-08-21 12:47:43 -07:00
Rob Arnold
832394c514 Bug 587566 - Enable Depth/Clip to allow D2D for non DX10 devices; r=bas.schouten approval2.0=joe 2010-08-19 09:28:14 +01:00
Bas Schouten
859fbab273 Bug 587856 - Part 1: Expose D2D surface VRAM usage from cairo device. r=jrmuizel 2010-08-18 05:43:49 +02:00
Jeff Muizelaar
7ed56960b2 cairo: Fix a clip test to test the right coordinate. r=ehsan,a=gavin
Fixed upstream by 498c10032ea3f8631a928cd7df96766f2c8ddca4
2010-08-17 20:08:57 -04:00
Bas Schouten
be04bb141a Bug 587342: Use the correct content type for fallback surfaces. r=jrmuizel 2010-08-16 09:15:03 +02:00
Bas Schouten
7d7234561e Bug 587318: Only pad horizontal glyph metrics. r=jdaggett 2010-08-16 09:15:03 +02:00
Bas Schouten
0e90af301e Bug 587316 - Part 4: Support CAIRO_EXTEND_NONE for D2D source surfaces. r=jrmuizel 2010-08-16 09:15:02 +02:00
Bas Schouten
c1a47676c3 Bug 587316 - Part 3: Allow custom operators when doing masking. r=jrmuizel 2010-08-16 09:15:02 +02:00
Bas Schouten
a0f71a230a Bug 586316 - Part 1: Use MITER_OR_BEVEL to adhere to cairo expected behavior. r=jrmuizel 2010-08-16 09:15:01 +02:00
Bas Schouten
cfae18edb4 Bug 587289: Unload D3D10_1.dll at the right place. r=joe a=blocking-beta4+ 2010-08-14 10:18:05 +02:00
Bas Schouten
c2dc430b37 Bug 573229: Part 1 - Allow creating a d2d device from an existing d3d10 device. r=jrmuizel 2010-08-14 08:34:16 +02:00
Robert O'Callahan
b77ef45783 Bug 522859. Handle unbounded cairo operators properly in the Quartz backend. r=jrmuizel,a=joe 2010-08-13 22:02:47 +12:00
Jeff Muizelaar
8f9365bc6e Bug 586348 - [d2d] Device creation has shadow variables that cause problems, r=Bas,joe a=blocking2.0 2010-08-11 18:29:14 -07:00
Bas Schouten
dcd0ee87d8 Bug 584539: Part 1 - Allow creating a D2D surface from a DirectX SharedHandle. r=jrmuizel 2010-08-11 02:36:01 +02:00
Bas Schouten
d39a572aa8 Bug 580765: Support different compositing operations with D2D. Add cairo_d2d_device_t to make handling this easier. r=jrmuizel 2010-08-11 01:59:51 +02:00
Bas Schouten
9c925ac105 Bug 580765: Allow const dereferencing for our cairo ref ptr. r=jrmuizel 2010-08-11 01:57:11 +02:00
Bas Schouten
6d53e198b0 Bug 580109: Optimize operations that can be executed as a GPU memcpy. r=jrmuizel a=dougt 2010-08-11 01:39:49 +02:00