Commit Graph

721 Commits

Author SHA1 Message Date
Kevin Simons
6f30280ed4 Bug 944646 - Implement Skia path in ScaledFontBase::CopyGlyphsToBuilder. r=mattwoodrow
Handle PathBuilderSkia with a separate path specifically for
BACKEND_SKIA DrawTarget instances.
2013-12-12 17:37:00 -05:00
Kevin Simons
63eee7d672 Bug 944646 - Check the DrawTarget type before downcasting PathBuilders. r=mattwoodrow
Previously the ScaledFontBase::CopyGlyphsToBuilder methods in the
various ScaledFont subclasses static_cast-ed the passed in PathBuilder
objects without checking which sort of DrawSurface they were created by.
2013-12-12 17:37:00 -05:00
Matt Woodrow
ccc8dd1ae7 Bug 946475 - Avoid using AutoSaveRestoreClippedOut for ClearRect when the cumulative clip can be represented as a single axis aligned rectangle. r=Bas 2013-12-12 10:11:37 +13:00
Matt Woodrow
2c52ae2935 Bug 946475 - Clip to the clear area in DrawTargetD2D::ClearRect so that we don't accidentally restore pixels that weren't drawn. r=Bas 2013-12-12 10:11:07 +13:00
Martin Stransky
f09c774110 Bug 941595 - Build with system-cairo is broken. r=glandium 2013-12-10 10:37:03 -05:00
Markus Stange
cf45dd0b45 Bug 945655 - Improve FilterNodeSoftware debug logging. r=roc 2013-12-10 14:50:41 +01:00
Markus Stange
931079671a Bug 945655 - Reduce arithmetic combine filter output rect depending on the coefficients. r=roc 2013-12-10 14:50:41 +01:00
Markus Stange
14879d50bc Bug 945655 - Composite filters with operator IN have a result that is the intersection of the input rects, not the union. FilterNodeSoftware part. r=roc 2013-12-10 14:50:41 +01:00
Markus Stange
9927ea1975 Bug 945655 - Make transparent flood filters report an empty output rect. r=roc 2013-12-10 14:50:41 +01:00
Markus Stange
c0ceead6e7 Bug 945655 - Simplify the crop FilterNodeSoftware filter. r=roc 2013-12-10 14:50:40 +01:00
Markus Stange
b2339b298c Bug 945655 - Don't add transparency around the filter output before sending it to DrawSurface. r=roc 2013-12-10 14:50:40 +01:00
Markus Stange
03990862ae Bug 945655 - Make all filters deal with null inputs and empty output rects consistently: treat them as transparent. r=roc 2013-12-10 14:50:40 +01:00
Birunthan Mohanathas
bd0f161288 Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Andreas Gal
28fb485602 Bug 946541 - Fix Skia cache purging. r=gw280 2013-12-04 23:52:03 -05:00
Kevin Simons
9866760836 Bug 945314 - Workaround crash with Cairo surfaces in Skia backend. r=mstange
A patch for bug 924102 introduced a MOZ_CRASH assertion for surfaces
of type other than SURFACE_SKIA or SURFACE_DATA being passed to
DrawSurface. Previously surfaces of other types were simply ignored.
On Linux, there are still several hardcoded surfaces of type Cairo
(found in gfxXlibNativeRenderer and friends) and as a result, the
Skia backend crashes always on Linux currently.

This workaround ignores Cairo surfaces passed to DrawSurface.
2013-12-03 08:52:06 -05:00
Kevin Simons
e00cc665ff Bug 944412 - Fix an issue with the stride in SourceSurfaceSkia::InitFromData. r=gal
After calling SkBitmap::copyTo, the InitFromData method assumed
that the stride of the destination SkBitmap was now the same as the
stride of the source bitmap. This was, however, not the case. Now
the stride is read back out of the destination bitmap.

This was causing a crash due to memory corruption for FORMAT_B8G8R8X8
surfaces.
2013-12-02 11:03:13 -05:00
Mike Hommey
fdd3247a81 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2f727b6d62 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
b038245b8d Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Chris Lord
5ef337c5a4 Bug 931823 - Fix calculation of tiled update data and convert to typed units. r=kats,botond
Various changes to FrameMetrics and such have causes the tile coherency checks
to end up with nonsense values, meaning updates are always happening a tile at
a time.

This fixes the calculation of those values, adds some documentation and
converts a large part of it to using typed units, to make it easier to
understand what's happening.
2013-11-27 17:33:27 +00:00
Bas Schouten
55e3bcf87f Bug 924102 - Add support for filters to DrawTargetRecording. r=mstange 2013-11-27 12:25:28 +01:00
Bas Schouten
0e17fc1044 Bug 924102 - Use FilterNodeSoftware for filter drawing in DrawTargetSkia. r=mstange 2013-11-27 12:25:28 +01:00
Bas Schouten
42d0dc60b9 Bug 924102 - Make DrawTargetSkia::DrawSurface support non-Skia DataSourceSurfaces. r=mstange 2013-11-27 12:25:27 +01:00
Markus Stange
4cfec24dfa Bug 924102 - Add transform filter and remove offset filter. r=Bas 2013-11-27 12:25:27 +01:00
Markus Stange
669377532c Bug 924102 - Add a FilterNode implementation that uses Direct2D 1.1 effects. Most of this patch was written by Bas. r=mstange, r=Bas 2013-11-27 12:25:16 +01:00
Markus Stange
d20d7c9a8b Bug 924102 - Implement DrawTarget filter APIs with FilterNodeSoftware for Cairo, CG, D2D, D2D1 and Dual. r=Bas 2013-11-27 12:22:56 +01:00
Markus Stange
e9baba2246 Bug 924102 - Add a software FilterNode implementation. r=Bas 2013-11-27 12:22:46 +01:00
Markus Stange
5529e770d2 Bug 924102 - Let AlphaBoxBlur take separate blur radius parameters for X and Y. r=Bas 2013-11-27 12:22:36 +01:00
Markus Stange
4c57389fc2 Bug 924102 - Add filter processing code for many SVG filters. r=Bas 2013-11-27 12:22:27 +01:00
Markus Stange
410c0c2218 Bug 924102 - Add a class that renders turbulence as specified for SVG filters. r=Bas 2013-11-27 12:22:21 +01:00
Markus Stange
a04a3629cd Bug 924102 - Add a SIMD.h header that implements some SIMD functions with SSE2 and scalar code. r=Bas 2013-11-27 12:22:13 +01:00
Markus Stange
4305f55ca3 Bug 924102 - Add filter API to Moz2D. r=Bas, r=mattwoodrow 2013-11-27 12:22:07 +01:00
Markus Stange
77841507b9 Bug 924102 - Add the types Point3D and Matrix5x4. r=Bas 2013-11-27 12:22:02 +01:00
Bas Schouten
d24aad8e90 Bug 937145 - Allow Moz2D recordings to grab the existing content of a DrawTarget. r=BenWa 2013-11-27 12:21:57 +01:00
Bas Schouten
2b983bacde Bug 942268 - Add RecordedEvent::GetEventName. r=mstange 2013-11-27 12:21:49 +01:00
Markus Stange
63bb72465e Bug 930956 - Make DrawTargetCG::DrawSurface support painting a DataSourceSurface that is not a DataSourceSurfaceCG. r=jrmuizel, r=Bas 2013-11-27 12:21:43 +01:00
Markus Stange
ce19eeb4e2 Bug 943614 - Make sure that SourceSurfaceCG::GetDataSurface always returns a surface that has GetType() == SURFACE_DATA. r=Bas 2013-11-27 12:21:34 +01:00
Markus Stange
a8396470b9 Bug 943614 - Make sure that SourceSurfaceCairo::GetDataSurface always returns a surface that has GetType() == SURFACE_DATA. r=Bas 2013-11-27 12:21:27 +01:00
Markus Stange
41056977e4 Bug 943614 - Make sure that DataSourceSurface::GetDataSurface always returns a surface that has GetType() == SURFACE_DATA. r=Bas 2013-11-27 12:21:21 +01:00
Bas Schouten
745c57cd3c Bug 943351: Make sure to clear any existing paths before getting the glyph path off a context. r=BenWa 2013-11-26 23:27:05 +01:00
Steven Michaud
2b53cc9d58 Bug 925448 - Stop CGImageRef external data being deleted prematurely. r=bgirard,bas 2013-11-26 12:41:32 -06:00
Matt Woodrow
a44cfe34e6 Bug 940845 - Part 4: Add BlurRectangle to gfxAlphaBoxBlur and use it. r=roc 2013-11-26 12:08:29 +13:00
Birunthan Mohanathas
c4d797a2eb Bug 784739 - Switch from NULL to nullptr in miscellaneous directories; r=ehsan
--HG--
extra : rebase_source : 8ace754e117a12e2599f5a90030f13a3a7064fed
2013-11-25 14:02:47 -05:00
Andreas Gal
9b75a53f4f Bug 933567 - Clean up Mask implementation a bit. r=mattwoodrow 2013-11-25 09:22:33 -05:00
Kevin Simons
d65723b99c Bug 933567 - Implement MaskSurface for Skia. r=mattwoodrow 2013-11-25 09:20:56 -05:00
Trevor Saunders
15a29c7ef2 bug 938025 - part 1 - get rid of some static constructors r=bz r=bjacob 2013-11-22 14:45:50 -05:00
Markus Stange
e91248f51c Bug 921495 - Speed up blurring by processing and packing 16 pixels at a time. r=Bas 2013-11-21 17:44:52 +01:00
Markus Stange
6cf9999e77 Bug 921495 - Make AlphaBoxBlur round correctly s. r=Bas 2013-11-21 17:44:41 +01:00
Markus Stange
0f72a24b2f Bug 936459 - Move Tools.h include into the right file. r=Bas
--HG--
extra : rebase_source : 9c976b595a2dd22511184f1341a4d4192e375b50
2013-11-20 17:20:51 +01:00
Markus Stange
cc78343722 Bug 936458 - Use MOZ_ASSERT instead of NS_ABORT_IF_FALSE in BasePoint3D.h and BasePoint4D.h because NS_ABORT_IF_FALSE is not in mfbt and can't be used in standalone moz2d. r=Bas
--HG--
extra : rebase_source : 6ce1149a1c99feb0892a858851350b0e5119fc1a
2013-11-20 17:20:50 +01:00
Markus Stange
846646631b Bug 935923 - Rename AlphaMode helper function to D2DAlphaModeForFormat and replace most of its uses with D2DPixelFormat. r=Bas
--HG--
extra : rebase_source : c01334a631fae221d474c89502057892c9f540fd
2013-11-20 17:20:50 +01:00
Benoit Girard
625be5b3b4 Bug 939950 - Build gfx/2d in unified mode. r=bjacob,ehsan,bas
--HG--
extra : rebase_source : 4776cc15a2de124149624b8297ae0c4953621eae
2013-11-18 16:45:14 -05:00
Mike Hommey
931cb49886 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
9ec00225de Bug 939622 - Remove LIBXUL_LIBRARY for intermediate libs that end up in gkmedias. r=gps
What LIBXUL_LIBRARY does is:
  - Imply FORCE_STATIC_LIB
  - Build with -DIMPL_LIBXUL
  - Build with -DMOZILLA_INTERNAL_API

Those intermediate libs that end up in gkmedias and have LIBXUL_LIBRARY defined
in their moz.build are all third party code (or handled like third party code).
Besides FORCE_STATIC_LIB, none of the side effects of LIBXUL_LIBRARY should be
needed.
2013-11-19 11:47:49 +09:00
Mike Hommey
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
f81885e53b Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Jonathan Watt
a5e0aa39db Bug 939604 - Add support for more types to mozilla::gfx::Log. r=Bas 2013-11-18 14:29:54 +00:00
Bas Schouten
33e1f956ab Bug 939049 - Part 2: Add generic ComputeLength code for backends with no such functionality. r=jrmuizel 2013-11-11 12:42:07 +13:00
John Schoenick
da753b9a98 Bug 939355 - Include string.h in gfx/2d/unittest/TestBugs.cpp r=bgirard 2013-11-17 18:55:16 +01:00
Robert O'Callahan
a9af781aaa Bug 938316. Work around fractional texture resampling issues by switching to NEAREST sampling when we're doing a pixel-aligned compositing operation. r=jrmuizel
--HG--
extra : rebase_source : ec49c8c8993af402a24b57efbaea743d39dcd89c
2013-11-13 23:56:11 +13:00
Benoit Girard
780e082d42 Bug 918671 - Add test for cairo clipping bug. r=jrmuizel 2013-11-12 16:47:40 -05:00
Kartikaya Gupta
f1b253ee94 Bug 937843 - Make some constructor arguments const. r=BenWa 2013-11-13 13:22:15 -05:00
Jaroslav Kopecký
1cf8a5dea2 Bug 937978 - Make SetPermitSubpixelAA a nop with --enable-system-cairo (like bug 623797). r=mattwoodrow 2013-11-13 08:23:19 -05:00
Rik Cabanier
c247d648ae Bug 932500 - PathD2D::TransformedCopyToBuilder ignores even odd fill. r=Bas 2013-11-12 08:47:24 -05:00
Matt Woodrow
54d53a85a0 Bug 926023 - Use the value of SetPermitSubpixelAA for DrawTargetCairo. r=Bas 2013-11-05 17:50:56 +13:00
David Anderson
1610801da8 Support 3D transforms in the basic compositor (bug 935265, r=mattwoodrow). 2013-11-11 15:53:29 -08:00
Ehsan Akhgari
e292c13f5d Bug 936446 - Only define HasCPUIDBit on 32-bit platforms; r=jrmuizel
--HG--
extra : rebase_source : 0728a7247cbb23e34cd7c6d2bfa57c5359ccef63
2013-11-08 18:00:21 -05:00
Jeff Muizelaar
3756d2925d Bug 929471. Fix missing include for 10.9?
Also add a license header

--HG--
extra : rebase_source : ec01be0ed7a3b4b29cc9307f3a25f77512d27a95
2013-11-08 13:56:52 -05:00
Matt Woodrow
254a0270eb Bug 935297 - Part 5: Implement StreamToSink on CG. r=Bas,jrmuizel
--HG--
extra : rebase_source : 81c9ba1c486ef7892f400a18707cdb3440c534e7
2013-11-06 15:52:51 +13:00
Jeff Muizelaar
7fc84d38a3 Bug 929471. Make DrawTargetCG independent from QuartzSupport.mm. r=bgirard 2013-11-07 22:53:54 -05:00
Jeff Muizelaar
9344e3053c Bug 929471. Make CGLTexImageIOSurface2D take a CGLContextObj instead of a NSOpenGLContext. r=bgirard 2013-11-07 22:53:54 -05:00
Nicholas Cameron
2da9e53858 Bug 934842. CopySurface for data source surfaces. r=Bas 2013-11-08 14:39:34 +13:00
Bas Schouten
6d3980ed55 Bug 935994: Adjust strokestyle creation code. r=jrmuizel 2013-11-07 20:40:39 +01:00
Matt Woodrow
1ac5c8208e Bug 935297 - Followup to fix build, add ToPoint helper 2013-11-07 22:50:10 +13:00
Bas Schouten
7f3e2fab16 Bug 935297 - Part 4: Implement new API to allow streaming paths to arbitrary sinks on Skia. r=mattwoodrow 2013-11-07 22:11:48 +13:00
Bas Schouten
4a52b4556e Bug 935297 - Part 3: Implement new API to allow streaming paths to arbitrary sinks on Cairo. r=mattwoodrow 2013-11-07 22:11:26 +13:00
Bas Schouten
681b14502b Bug 935297 - Part 2: Implement new API to allow streaming paths to arbitrary sinks on Direct2D. r=mattwoodrow 2013-11-07 22:10:53 +13:00
Bas Schouten
54b9836c98 Bug 935297 - Part 1: Add new API to allow streaming paths to arbitrary sinks. r=mattwoodrow 2013-11-07 22:10:12 +13:00
Benoit Girard
19720a9e44 Bug 935701 - Get drawing recording working on b2g. r=bas
--HG--
extra : rebase_source : 783627519f291d187552b464689315ce2697df95
2013-11-06 18:11:18 -05:00
Matt Woodrow
fca0302756 Backout c99d15a060e2 for causing windows Ru reftest failures. 2013-11-05 20:00:05 +13:00
Matt Woodrow
653b11af5f Bug 926023 - Use the value of SetPermitSubpixelAA for DrawTargetCairo. r=Bas 2013-11-05 17:50:56 +13:00
Andreas Gal
afef97f6ae Bug 934297 - Remove snapping support from Moz2D. r=mattwoodrow 2013-11-03 15:06:12 -08:00
Matt Woodrow
b02e461257 Bug 922942 - Avoid crashes with PointInFill. r=Bas
--HG--
extra : rebase_source : cf209258a71342590c3d3488912d85df86a14b8b
2013-11-04 14:47:18 +13:00
Bas Schouten
a47a04180d Bug 934287: Add size and for data DrawTarget creation functions. r=mattwoodrow 2013-11-04 00:57:36 +01:00
Bas Schouten
3ce4a06d0a Bug 934286: Ifdef Mozilla specific cairo function usage. r=mattwoodrow 2013-11-04 00:57:36 +01:00
Bas Schouten
23ef8a25d6 Bug 933030 - Addition: Remove external dependency added to Moz2D. r=mattwoodrow 2013-11-04 00:57:35 +01:00
Jonathan Watt
d8ec86c181 Bug 934157 - Fix BaseRect::IsFinite() to actually work. r=Bas 2013-11-03 20:47:05 +00:00
Andreas Gal
30d020981d Bug 933030 - Eliminate thebes use from CanvasRenderingContext2D.cpp r=mattwoodrow 2013-11-03 08:28:30 -08:00
Jonathan Watt
fa0990c53c Bug 931996 - Add an AppendEllipseToPath helper to Moz2D. r=Bas 2013-11-01 13:30:00 +00:00
Jonathan Watt
3c2aed7e3d Bug 931915, part 1 - Add an AppendRoundedRectToPath helper to Moz2D. r=Bas 2013-11-01 13:29:44 +00:00
Ed Morley
5e89a31bd3 Backed out changeset d9aa2d2a9939 (bug 931915) for failures linking on Windows on a CLOSED TREE 2013-11-01 14:35:22 +00:00
Ed Morley
14453fd747 Backed out changeset 0fdae4f78c1a (bug 931996) 2013-11-01 14:34:48 +00:00
James Willcox
31af00dfd4 Bug 927254 - Purge SkiaGL texture cache on memory pressure r=gwright
--HG--
extra : rebase_source : 960582a88532e752c2bcc4bbcdf0899eb0cbe3b8
2013-11-01 08:52:06 -05:00
Jonathan Watt
dbd6cf47e7 Bug 931996 - Add an AppendEllipseToPath helper to Moz2D. r=Bas
--HG--
extra : rebase_source : 75592379b93e5574ff1bb4116ce8b90b62c4f8a1
2013-11-01 13:30:00 +00:00
Jonathan Watt
4878fb43fb Bug 931915, part 1 - Add an AppendRoundedRectToPath helper to Moz2D. r=Bas
--HG--
extra : rebase_source : 67835ef53a446f37919d34021fcb80aa38dd7da8
2013-11-01 13:29:44 +00:00
Andreas Gal
9a464b3340 Bug 933584 - Implement OptimizeSourceSurface for skia. r=mattwoodrow 2013-11-01 09:13:36 -04:00
Wes Kocher
800ac7346c Backed out changeset 428bea088d2b (bug 927254) for build bustage 2013-10-31 20:47:49 -07:00
James Willcox
a8d7ae2208 Bug 927254 - Purge SkiaGL texture cache on memory pressure r=gwright
--HG--
extra : rebase_source : 0b6c68c129319c96ad3056ab7b6321c04c7fbcb5
2013-10-31 10:45:41 -05:00
Andreas Gal
78d8372907 Bug 929299 - Fix DrawTargetSkia to not copy and render in place. r=gwright 2013-10-31 22:48:46 -04:00
Daniel Holbert
dd14cc9ed2 Bug 839269: Mark gfx/2d as FAIL_ON_WARNINGS. r=jmuizelaar 2013-10-31 19:39:03 -07:00