Граф коммитов

149 Коммитов

Автор SHA1 Сообщение Дата
Jamie Nicol 35e92591dd Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r=bas
Rendering glyphs at many different rotations was causing the D2D glyph
cache to grow very large. Calling EndDraw/BeginDraw will prune the
cache, but is costly, so only do it for every 1000 glyphs.

MozReview-Commit-ID: HUFpxDvYAzQ

--HG--
extra : rebase_source : de283c5e687da07e5417e0d221d7f45b992080d5
2018-07-26 15:23:19 +01:00
Matt Woodrow 9171c79a67 Bug 1372458 - Fold opacity into filter drawing rather than using a temporary surface. r=bas,mstange
MozReview-Commit-ID: GOBTUhN7fcC

--HG--
extra : rebase_source : 8355d2001dcc8fba5e43d4ace6483896a9d9cd31
2018-07-14 15:25:49 +12:00
Bas Schouten 2c2327c372 Bug 1427063: Have D2D interpret colors in premultiplied space. As it says is its default. r=rhunt
MozReview-Commit-ID: 5OWjHW1CqjN
2018-04-23 19:27:48 +02:00
Lee Salzman ff2a78845b Bug 1448667 - use ColorMatrix effect instead of LuminanceToAlpha effect for DrawTargetD2D1::IntoLuminanceSource. r=bas
MozReview-Commit-ID: LHbSiFBx6HK
2018-04-05 14:07:18 -04:00
Bas Schouten 7f06948838 Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Margareta Eliza Balazs 9c4eafffee Backed out changeset 0c3400afa45f (bug 1425257) for failing R-e10s in slave/test/build/tests/reftest/tests/image/test/reftest/pngsuite-basic-n/basn0g01.png on a CLOSED TREE 2018-02-06 07:27:43 +02:00
Bas Schouten bf22a1874d Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
peter chang f735c3d7f1 Bug 1418791 - Ensure mSnapshot access is protected by mutex, r=dvander
MozReview-Commit-ID: 3NPzv6VftxZ

--HG--
extra : rebase_source : 2af00974d4de8d0cc15a326520111c32c4437b54
2017-12-05 15:35:16 +08:00
David Anderson 4d9d8d5d59 Bug 1416864 - Synchronize how snapshots detach in DrawTargetD2D1. r=bas 2017-11-21 10:52:38 -05:00
Markus Stange 78303f13ce Bug 1414154 - Remove GlyphRenderingOptions. r=lsalzman
MozReview-Commit-ID: JtwnTj1hhPV

--HG--
extra : rebase_source : 2a3e896eec8b6839097baf6e2cccc10eb162827b
2017-11-02 21:42:56 -04:00
David Anderson cf84c3f01d Add SourceSurfaceCapture to avoid main-thread rasterization with temporary DrawTargetCaptures. (bug 1395478 part 6, r=rhunt)
--HG--
extra : rebase_source : 3a3841e5a54f9780720a543ee792f501b5150b02
2017-10-31 12:02:31 -07:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Bas Schouten 576b1d0c7d Bug 1392453: Allow a small amount of list-in-list drawing commands. r=mchang
MozReview-Commit-ID: H4w5gPVOhwg
2017-09-22 19:37:02 +02:00
Bas Schouten 973de6713e Bug 1400573: Back out initial fix for bug 1392453. r=mchang
MozReview-Commit-ID: 3c3vJbL4kXS
2017-09-20 14:57:25 +02:00
Bas Schouten 2d48dc6667 Bug 1392453: Allow limiting the blend surface area and the portion of the layer being resolved. r=mchang
This introduces the infrastructure to specify the bounds of drawing commands being executed. These bounds can then be used to limit operations done for blending in order to reduce required fillrate. Currently we only specify the bounds for DrawSurface but it would be easy to extend this for other drawing commands if so desired.

MozReview-Commit-ID: BUFJzphfdKc

--HG--
extra : rebase_source : cbd17803d8aeb1a74b6c7c98fd5c00e06870805b
2017-09-12 19:10:55 +00:00
Milan Sreckovic e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
David Anderson d91f1ac58c Protect D2D singletons with a mutex. (bug 1380922 part 2, r=mchang)
--HG--
extra : rebase_source : f261e84d8d6a9ef7d153b04d447f9edb36a77dde
2017-07-18 12:15:44 -07:00
David Anderson e53986168f Store and return D2D singletons in RefPtrs. (bug 1380922 part 1, r=mchang)
--HG--
extra : rebase_source : baf7cce201a38897f1f9dcbd7c36855ff070217b
2017-07-18 12:15:39 -07:00
Lee Salzman 2d696d5c34 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel
MozReview-Commit-ID: 5K9201eCSv
2017-06-30 14:09:05 -04:00
Sebastian Hengst 522fc18c93 Backed out changeset 24421d72ba08 (bug 1376026) 2017-07-07 21:42:09 +02:00
Lee Salzman ab6885d706 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel
MozReview-Commit-ID: 5K9201eCSv
2017-06-30 14:09:05 -04:00
Carsten "Tomcat" Book fbc9f302f1 Backed out changeset d09fb3a5cedf (bug 1376026) 2017-07-06 08:11:48 +02:00
Lee Salzman edc6db4195 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel 2017-06-30 14:09:05 -04:00
Mason Chang d59c1c2657 Bug 1372577. Fallback to CPU alpha to luminance on the parent process. r=jrmuizel 2017-06-29 10:09:14 -07:00
Mason Chang d69917e056 Bug 1375452 Fallback to DrawTarget::IntoLuminance if we can't create the effect. r=jrmuizel 2017-06-22 10:15:37 -07:00
Jeff Muizelaar cf6d4425f4 Bug 1359527. Fixup DrawTarget::IntoLuminance mismerge. r=mchang
This adds back the NEON code and fixes up a couple of other pieces
2017-06-09 10:57:44 -04:00
Mason Chang 1520cb158b Bug 1359527. Part 1 - Add DrawTarget::IntoLuminance r=jrmuizel 2017-06-02 11:13:36 -07:00
Mason Chang 17ccdaf65c Bug 1369096 - Check HRESULT when QueryInterfacing an ID2D1Image for an ID2D1Bitmap. r=bas 2017-05-30 15:59:19 -07:00
Mason Chang d73beaa757 Bug 1367127 - Use an ImageBrush during DrawTargetD2D1::PushLayer instead of a BitmapBrush. r=bas 2017-05-30 09:31:02 -07:00
Phil Ringnalda 16b90e808a Backed out changeset e12fa325e112 (bug 1359527) for Win8 masking reftest failures
MozReview-Commit-ID: 5ecOfTu606d
2017-05-28 15:45:42 -07:00
Mason Chang 981bccddf0 Bug 1359527. Add DrawTarget::IntoLuminance. r=jrmuizel,Bas
This lets us use the luminance effect with Direct2D to avoid
having to read back. It will also let us avoid reading back
with DrawTargetRecording.
2017-05-28 15:35:14 -04:00
Kevin Chen d6f7dc2900 Bug 1363677 - Skip Flush() and EndDraw() if the ID2D1DeviceContext is stale; r=dvander
MozReview-Commit-ID: 6KnryMZE8Qj

--HG--
extra : rebase_source : 7e8794825934b82c887159b04128cf830f77d897
2017-05-10 16:22:08 +08:00
Mason Chang 25d7f57213 Bug 1351733. Reuse D2D Source Surfaces with Draw Target Dual. r=bas 2017-04-17 08:41:42 -07:00
Lee Salzman f942812710 Bug 1347147 - fix DrawTargetD2D1::GetImageForSurface to support uploads in device-space. r=mchang
MozReview-Commit-ID: 2galhKidxca
2017-03-14 22:17:47 -04:00
Milan Sreckovic fe9eb910b9 Bug 1262390: In some cases, we fail with the small allocation because of the device reset situation. r=bas.schouten
MozReview-Commit-ID: BKMOZbgJ7px

--HG--
extra : rebase_source : b1d86f7e0c134460b96e1b4064303273e6e91a54
2017-02-20 17:14:49 -05:00
Milan Sreckovic 9846692940 Bug 1331274: aPath coming into Fill method may not be valid. r=kechen
MozReview-Commit-ID: 5tmGUXEFJlw

--HG--
extra : rebase_source : a76ffbbfecfcbad73f2c7ffba86cf25a719ff133
2017-01-16 13:21:36 -05:00
peter chang ea69eeb193 Bug 1323837 - Draw nothing if there are no color stops for gradient effect, r=bas
MozReview-Commit-ID: BnZlh2NhdHX

--HG--
extra : rebase_source : e221cebdb64e55926c63fd105df0a55635b28e19
2016-12-16 13:55:22 +08:00
Lee Salzman 2b779e5359 Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-21 13:17:09 -05:00
Sebastian Hengst bf0af8baea Backed out changeset 5504280ce43c (bug 1250037) 2016-11-18 00:29:02 +01:00
Lee Salzman 8acbd8d04a Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-17 16:04:05 -05:00
Ethan Lin 4bf5cb2b97 Bug 1301579 - Add assertion to prevent the use of DrawTargetD2D1::DrawSurface with A8 format. r=mstange 2016-09-08 20:30:00 +02:00
David Major 1cd2c98af7 Bug 1305536: Initialize the out-param of DrawTargetD2D1::GetDeviceSpaceClipRect. r=Bas 2016-09-29 13:18:33 -05:00
Bas Schouten 8c73fcc8e1 Bug 1303534: Make sure to pop all clips before grappig the image for the top-level 'layer'. r=jrmuizel
MozReview-Commit-ID: 2nHV0v7MInD

--HG--
extra : rebase_source : a0c7dcc55840020380afe4f0817b3b06f20bef77
2016-09-27 17:11:39 +02:00
Bas Schouten 0da057c54f Bug 1300338: Do not attempt to preserve layer content when we're going to override it in a blend operation anyway. r=jrmuizel
MozReview-Commit-ID: DIEyrK89jtd
2016-09-12 18:41:10 +02:00
Lee Salzman 8869fd86cf Bug 1029705 - allow clipping to a list of device-space rectangles (a region) in DrawTarget via PushDeviceSpaceClipRects. r=bas
MozReview-Commit-ID: 8zM116zB0NB
2016-09-21 17:03:20 -04:00
Nathan Froyd 76bc75d243 Bug 1298171 - store result of BitmapProperties1 in a temporary to avoid warnings; r=jrmuizel
MozReview-Commit-ID: ANy1vKc5p07

--HG--
extra : rebase_source : d2b43299ec7244bc5bccb21c96f6604f50b083e8
2016-08-29 10:31:25 -04:00
Nicolas Silva 39f5573d6f Bug 1291190 - Don't crash when push/pop clips are not balanced correctly. r=Bas 2016-08-24 11:06:45 +02:00
Bas Schouten 37341a7ea4 Bug 1293586: Don't use command lists for an effect when that command list already has an effect with a command list used inside of it. r=mstange
MozReview-Commit-ID: 2T2wdUaWgMC

--HG--
extra : rebase_source : f569e9b5613bf8cf419792251335e07a7f743607
2016-08-22 13:22:01 +02:00
Bas Schouten e0031c0160 Bug 943626 - Part 2: Implement GetGlyphMetrics API for DirectWrite r=jrmuizel 2016-08-11 15:47:32 -04:00