Commit Graph

673 Commits

Author SHA1 Message Date
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
Jeff Muizelaar
73cbe59a21 Bug 584400. cairo: Fix dash arrays with D2D
D2D unexpectedly uses dash lengths with
units of the line width.
2010-08-04 15:00:52 -04:00
Karl Tomlinson
4be01c9897 b=583115 use XCopyArea for operator SOURCE with compatible COLOR_ALPHA surfaces to support simple overlapping self-copies r=jrmuizel
--HG--
extra : rebase_source : 201d9032b9dca80f71e154c68f0724e6826162eb
2010-08-03 13:26:27 +12:00
Jeff Muizelaar
47eafd52d1 Bug 518172. cairo: Disable the previous_scaled_font cache. r=karlt
Rotated text was sometimes broken because there was a mismatch of
assumptions between cairo and Gecko about how important it was
for the ctm of a scaled_font to match the ctm of a context. This
temporarily fixes the problem by disabling the previous_scaled_font
cache with bug #583035 tracking a more permanent fix.
2010-08-02 10:00:21 -04:00
Kyle Huey
ef8a1429c9 Bug 522770: Link directly to object files instead of intermediate static libs. Patch originally written by Ted Mielczarek. Checking into a CLOSED TREE as a bustage fix. reviews pending.
--HG--
extra : rebase_source : 54a506a5815dcdedaf3f61ad7d6bdd0529d7f5f7
2010-08-01 01:48:21 -07:00
Bas Schouten
c763b37157 Bug 583033: We should allow the function to continue for OPERATOR_CLEAR. r=jrmuizel a=blocking-betaN 2010-07-29 21:26:32 +02:00
Bas Schouten
d9fafdc2c7 Bug 581089: Make linear gradients work properly for zero length and different extend modes. r=jrmuizel a=blocking-betaN 2010-07-29 18:18:36 +02:00
Bas Schouten
c6425a3e67 Bug 581089: Part 1: Fix radial gradient pattern handling when not using EXTEND_PAD. r=jrmuizel a=blocking-betaN 2010-07-28 18:53:20 +02:00
Bas Schouten
79b907273a Bug 581083: Use Direct2D geometry to inverse transform which will preserve the required precision. r=jrmuizel a=blocking-betaN 2010-07-28 18:53:17 +02:00
Karl Tomlinson
44ee4169cd b=562574 fixes for cairo_copy_clip_rectangle_list and empty cairo_clip_extents r=jrmuizel
--HG--
extra : rebase_source : 7559cb07311c0328d62a625c631a6ab822934b0d
2010-07-23 10:22:51 +12:00
Jeff Muizelaar
9fc42c3101 Bug 578124. D2D: Don't create an A8 surface with GDI compatible flags. r=bas
CreateTexture2D doesn't support creating FORMAT_A8 textures with GDI_COMPATIBLE
so we avoid doing so.
2010-07-21 16:37:24 -04:00
Bas Schouten
fe90876f5f Whitespace fix from changeset 2f270a9da778. 2010-07-19 18:53:47 +02:00
Bas Schouten
34290715c4 Bug 579215: Direct2D does not know how to deal with self-copy. Fallback. r=jrmuizel 2010-07-19 18:48:02 +02:00
Oleg Romashin
571ff20b60 Bug 550673 - Fix glyphs rendering for cairo-qpainter-surface. r=jmuizelaar
--HG--
extra : rebase_source : efbaa01f0716eafb3cf53a2e21eed49c9e88e54a
2010-07-17 09:52:35 +03:00
Bas Schouten
7b063ed632 Bug 577200. Part 1: Add cairo API to set up a Win32 surface for an HDC with an alpha channel. r=jrmuizel 2010-07-16 09:07:44 +12:00
Daniel Holbert
0a2d04e6df Bug 503279: disable spammy 'missing initializer' warning in imported code within gfx. r=jrmuizel 2010-07-13 11:50:18 -07:00
Vladimir Vukicevic
4cd467403f b=?; fix make-makefile and cairo-features.h.in hack; r=ted 2010-07-02 11:20:29 -07:00
Oleg Romashin
9f4fd5ba19 Bug 567065 - Try to create offscreen Xlib surface from existing visual if possible. r=jmuizelaar. 2010-06-16 04:32:26 -04:00
jrmuizel@ironman.ca.mozilla.com
e1a193f8d7 Bug 567295. d2d: Support antialiased clipping. r=bas
This switches from using CombineGeometry() to accumulate
clip paths to using a stack of Layers each with a
geometric mask. This avoids any imprecision that occurs
when using CombineGeometry().

There maybe some performance regressions but we need the
correctness and may be able to get some of the performance
back.
2010-06-30 14:55:21 -04:00
Bas Schouten
7aca9947fd Bug 558467: Expose the image surface cache memory usage for Direct2D. r=jrmuizel 2010-06-30 15:52:00 +02:00
Jacek Caban
83597e8444 Bug 508905 - /Zc:wchar_t- is no longer required (cairo-dwrite part) r=jmuizelaar
--HG--
extra : rebase_source : 2a283b99932cb9891e63f56670e8ce8762514385
2010-06-27 01:31:01 +02:00
Benjamin Otte
e7991868dc b=571448 In the XCopyArea region code, don't modify src_x/y when they are later used in the unbounded fixup code r=jrmuizel 2010-06-27 20:03:16 +12:00
Oleg Romashin
691d4249e9 Backout changeset 850ff2cf2868, ba88e35da4e7 due to crash on SVG test 2010-06-22 21:44:03 -04:00
Oleg Romashin
434cbae70d Bug 567065 - Try to create offscreen Xlib surface from existing visual if possible. r=jmuizelaar.
--HG--
extra : rebase_source : 8dce785274ca66f36c46f960ca29bde0d3faff18
2010-06-22 19:59:42 -04:00
Bas Schouten
9990d5a369 Bug 573506: Expose GetDC/ReleaseDC on D2D surfaces. r=jrmuizel 2010-06-22 03:10:34 +02:00
Bas Schouten
fee8140b17 Bug 565120: Deal with the case where a source lies outside of a destination surface. r=jrmuizel 2010-06-19 16:32:50 +02:00
Bas Schouten
fdc01fa365 Bug 565120: Do not upload partially when not required. r=jrmuizel 2010-06-19 16:32:48 +02:00
Robert O'Callahan
8c0f73eb30 Bug 572912. Fix surface type passed to cairo_quartz_surface_create during fallback for CGLayers. r=jrmuizel 2010-06-18 21:24:15 +12:00
Oleg Romashin
d6ff5034c5 Backed out changeset 598c5f8d295c, due Gdk-CRITICAL **: gdk_x11_visual_get_xvisual 2010-06-18 07:14:57 -04:00
Oleg Romashin
67dfc086ac Bug 567065 - Try to create offscreen Xlib surface from existing visual if possible. r=jmuizelaar.
--HG--
extra : rebase_source : 6f5c766cab5a4f552c8e9911f80da560205d5ab2
2010-06-16 04:32:26 -04:00
Bas Schouten
0013def21c Bug 557372: Don't create a SharedBitmap for A8_UNORM surfaces. This will fail. r=jrmuizel 2010-06-16 01:08:26 +02:00
Jeff Muizelaar
8c323b55b2 Bug 563255. cairo: PDF-operators: ensure text operations flushed before emitting clip 2010-06-15 15:34:09 -04:00
Jeff Muizelaar
a75006878d Bug 563255. cairo: PS: Add missing 'q' when resetting clip path 2010-06-15 15:15:01 -04:00
Oleg Romashin
24c1ccd37c Bug 545632 - Add 16bpp format support for cairo image surface type. r=jmuizelaar 2010-06-11 04:23:59 -04:00
Oleg Romashin
fcdfc8be57 Backed out changeset 85335f212ac3, attempt to fix oranges 2010-06-11 08:36:08 -04:00
Oleg Romashin
6b0371fa82 Bug 545632 - Add 16bpp format support for cairo image surface type. r=jmuizelaar
--HG--
extra : rebase_source : b1d605a29da2e965cd480e51fa72e1bc10ed4d11
2010-06-11 04:23:59 -04:00
Jonathan Kew
81697b7f24 bug 568191 followup - add patch file to gfx/cairo directory, and note in README. (NPOTB) 2010-06-10 19:20:37 +01:00
Jonathan Kew
ef07dca7a9 bug 568191 - add padding to glyph extents in cairo dwrite backend to allow for antialiasing. r=bas 2010-06-10 19:19:51 +01:00
Justin Wood
7404e635db 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
Bas Schouten
8e5fc45701 Some whitespace fixes. 2010-06-09 17:50:05 +02:00
Bas Schouten
ddffa23d17 Bug 568495: Do not push cleartype for transparent window surfaces. r=jrmuizel 2010-06-09 17:50:03 +02:00
Benoit Girard
79f2567099 Replace float by CGFloat to fix BoxShadows on 64-bit OS X + added reftest. b=562616 r=jmuizelaar 2010-06-09 00:11:38 -04:00
Brad Lassey
c1ec9bcb32 [android] read /proc/cpuinfo for cpu info 2010-05-07 16:48:33 -04:00
Robert O'Callahan
002224fae6 Bug 568189. Add patches to list. 2010-06-01 14:09:44 +12:00
Robert O'Callahan
6eb537adf9 Bug 552537. Add patch to list. 2010-06-01 14:05:55 +12:00
Robert O'Callahan
6e3efde342 Bug 568189. Implement CGLayer-backed cairo-quartz surfaces. r=jrmuizel 2010-06-01 11:33:23 +12:00
Robert O'Callahan
8409392d05 Bug 568189. Part 3: Remove snapshot backend function since it doesn't work and we may as well just fall back. r=jrmuizel 2010-06-01 11:33:05 +12:00
Robert O'Callahan
bdc8fa4076 Bug 552537. Cache the CGImageRef that we create for a CGBitmapContext so that we can take advantage of Quartz caching optimizations. r=jrmuizel 2010-06-01 11:19:45 +12:00
Bas Schouten
3add880ead Bug 568719: Clear D2D surfaces before use to clear any re-used VRAM. r=jrmuizel 2010-05-29 03:16:24 +02:00
Michael Wu
dc3db854dc Bug 565089 - Allow cairo to build on Android. r=jmuizelaar,ted 2010-05-25 15:21:18 -07:00
Robert O'Callahan
021650f32f Bug 552859. Fix cairo patch to relfect what I actually landed. Not part of the build. 2010-05-21 20:48:55 +12:00
Robert O'Callahan
5c52a93154 Bug 522859. Refactor cairo-quartz-surface so that state local to a drawing operation is stored in a cairo_quartz_drawing_state_t instead of the surface. r=jrmuizel 2010-05-19 15:04:33 +12:00
Robert O'Callahan
e38c7ebe25 Backed out changeset b50002597112
--HG--
extra : rebase_source : f22f069a398bc8b3071fe8faaeb4770b0eb7847b
2010-05-19 17:44:58 +12:00
Robert O'Callahan
15295424fd Bug 522859. Refactor cairo-quartz-surface so that state local to a drawing operation is stored in a cairo_quartz_drawing_state_t instead of the surface. r=jrmuizel 2010-05-19 15:04:33 +12:00
Makoto Kato
f2f0dd1545 Bug 540999 - Enable SSE2 for pixman on Windows x64 build. r=jmuizelaar 2010-05-12 17:07:19 +09:00
Bas Schouten
3edb2022a7 Bug 551350: Part 2: Remove no longer used multiple-run code from D2D backend. r=jrmuizel a=Mossop 2010-05-11 01:16:39 +02:00
Bas Schouten
48dbf06561 Bug 551350: Part 1: Add proper handling of large image surfaces. r=jrmuizel a=Mossop 2010-05-11 01:16:35 +02:00
Bas Schouten
6f9f453435 Bug 555388: Part 1: Make sure we flush before clearing surfaces. r=jrmuizel 2010-05-06 23:56:34 +02:00
Jeff Muizelaar
900ce1a92b Bug 563807: cairo: avoid unnecessary QueryInterface in cairo_d2d_surface_create_for_hwnd. r=bas
We can just use backBuf directly instead of QueryInterface()ing newSurf->surf.
This has the side effect of making firefox mostly work in PIX.
2010-05-05 12:11:33 -04:00
Jeff Muizelaar
4c9f01242c Bug 562087: Update pixman to 2f4f2fb4859931bf6dc5632d8c919e7296736427
Should give some performance improvements
2010-05-05 11:23:54 -04:00
Oleg Romashin
49da3f5fd6 Bug 562710 - Disable -pedantic for cairo-qt code. r=jmuizelaar 2010-05-01 08:22:42 -04:00
Jeff Muizelaar
c1e8abd08d Bug 562334. cairo: Fix checking in the broken version of 4efebc9638e7
I swapped these lines when trying to build a test case and checked in the broken version.
2010-04-30 14:10:19 -04:00
Jeff Muizelaar
c6adb55bed Bug 562334. cairo: Fix cairo_quartz_get_cg_context_with_clip. r=vlad
A problem happens when clip->all_clipped is set and we go to get a clipped
context. Normally backends don't see operations with clip->all_clipped and so
_cairo_surface_clipper_set_clip is designed with the assumption that
clip->all_clipped is never true. I added a work-around by manually setting the
CGContextClip with an empty rectangle, however this caused cairo to be confused
about what the actual clip was.

This patch fixes the problem by adding a new function
cairo_quartz_finish_cg_context_with_clip that is called after we're done with
the native context. It moves the CGContextSave/RestoreGState calls out of
gfxNativeDrawing into cairo and uses them to ensure that the clip remains
consistent with cairo's model of them.
2010-04-29 23:19:08 -04:00
Oleg Romashin
b150d375c8 Bug 561891 - QPainter is is busted after last cairo merge. r=jmuizelaar. 2010-04-29 06:25:02 -04:00
Jeff Muizelaar
fdd42ea0c2 pixman: remove unused pixman-neon.patch. r=joe
This patch is obsoleted by upstream.
2010-04-27 11:08:57 -04:00
Jeff Muizelaar
e034e858a4 Bug 542605. Fix empty clips with show_glyphs, DWrite and GDI. r=bas
This brings the dwrite code inline with the existing win32 code.
2010-04-26 23:54:53 -04:00
Jeff Muizelaar
031624fd56 Bug 561827 - Clear the clip before doing a fallback blit. r=bas
--HG--
extra : rebase_source : e70d5280da10972ffd2a9da3c31b904727f3fccf
2010-04-26 23:38:21 -04:00