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

2735 Коммитов

Автор SHA1 Сообщение Дата
Nicolas Silva c44ff5af9a Bug 1546894 - Keep track of current and begin points in path objects in case we'll create a builder from them. r=lsalzman
Because of the way the canvas 2D implementation juggles between path builders and paths, we have to keep track of current and first points in the path, in case a builder is created out of it.

Differential Revision: https://phabricator.services.mozilla.com/D33757

--HG--
extra : source : c79b3af2395894b449731fccdd9eb006b4d0189e
2019-06-05 09:55:46 +02:00
Nicolas Silva 5e669cb7bb Bug 1546894 - Fix PathBuilderCapture::CurrentPoint when closing a path. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32459

--HG--
extra : source : 6131723bf0cf1c96352176832f91bcbc8b3432e9
2019-05-24 14:25:47 +02:00
Nicolas Silva 082205e739 Bug 1546894 - Fix PathBuilderSkia::CurrentPoint. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32456

--HG--
extra : source : 566648165de4b80550337e6052f46eba653f0328
2019-05-27 12:36:32 +02:00
Jeff Muizelaar fee767003f Bug 1556505. Handle offset surfaces in the other backends. r=rhunt
This brings DrawTargetCairo and DrawTargetD2D1 inline with DrawTargetSkia's
ability to handle SourceSurfaceOffset properly.

Differential Revision: https://phabricator.services.mozilla.com/D33536

--HG--
extra : moz-landing-system : lando
2019-06-03 19:08:58 +00:00
Lee Salzman 9b48977698 Bug 1556481 - check for DWrite failures in UnscaledFontDWrite::GetFontFileData. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D33585

--HG--
extra : moz-landing-system : lando
2019-06-04 09:26:11 +00:00
Mihai Alexandru Michis 5d91cbb8ef Backed out 2 changesets (bug 1546894) for causing mochitest failures at test_canvas.html CLOSED TREE
Backed out changeset b3176ad6f3a7 (bug 1546894)
Backed out changeset 5bc7f1dbafe5 (bug 1546894)
2019-05-27 15:44:26 +03:00
Nicolas Silva 2f30052cd5 Bug 1546894 - Fix PathBuilderSkia::CurrentPoint. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32456

--HG--
extra : moz-landing-system : lando
2019-05-27 10:41:40 +00:00
Nicolas Silva 75c8a4d940 Bug 1546894 - Fix PathBuilderCapture::CurrentPoint when closing a path. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32459

--HG--
extra : moz-landing-system : lando
2019-05-27 10:41:40 +00:00
Jean-Yves Avenard 9ac65feb3d Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

Differential Revision: https://phabricator.services.mozilla.com/D31460

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:29 +00:00
Jean-Yves Avenard 23436e1811 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard 04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Jean-Yves Avenard 0f82b873e6 Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

Differential Revision: https://phabricator.services.mozilla.com/D31465

--HG--
extra : moz-landing-system : lando
2019-05-25 10:13:00 +00:00
Lee Salzman b1e52e6aaf Bug 1553910 - pass DWrite subpixel order into Skia and WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32545

--HG--
extra : moz-landing-system : lando
2019-05-25 16:20:59 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 14806f7e2e Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

Differential Revision: https://phabricator.services.mozilla.com/D31460

--HG--
extra : moz-landing-system : lando
2019-05-24 11:33:24 +00:00
Jean-Yves Avenard 8d5f292ab5 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Jean-Yves Avenard a7d76c8887 Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

Differential Revision: https://phabricator.services.mozilla.com/D31465

--HG--
extra : moz-landing-system : lando
2019-05-23 04:13:13 +00:00
Lee Salzman a9ba659d1a Bug 1552687 - guard access to gfxDWriteFontFileStream with mutex. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32214

--HG--
extra : moz-landing-system : lando
2019-05-23 18:42:03 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard 3992dfb602 Bug 1550422 - P17. Convert gfxPrefs::GfxLoggingLevel to StaticPrefs. r=jrmuizel
Fly-by fix, we make LoggingPrefs::sGfxLogLevel as it is written on the main thread but read on different threads.

Differential Revision: https://phabricator.services.mozilla.com/D31460

--HG--
extra : moz-landing-system : lando
2019-05-22 12:44:52 +00:00
Jean-Yves Avenard 2412878bd9 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard 2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Jean-Yves Avenard 4827bab68f Bug 1550422 - P00. Fix Windows compilation. r=dmajor
Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error.

Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out.

Differential Revision: https://phabricator.services.mozilla.com/D31465

--HG--
extra : moz-landing-system : lando
2019-05-22 22:28:10 +00:00
Jonathan Kew 262778abc6 Bug 1533797 - Let freetype backend fall back to MS_SYMBOL if no UNICODE charmap is available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D30625

--HG--
extra : moz-landing-system : lando
2019-05-10 16:27:49 +00:00
Lee Salzman 85dc48d04f Bug 1548484 - respect Cairo blit size limits when using BasicCompositor. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30571

--HG--
extra : moz-landing-system : lando
2019-05-10 03:00:34 +00:00
Andreea Pavel accc389b66 Merge mozilla-inbound to mozilla-central. a=merge 2019-05-01 18:56:07 +03:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Lee Salzman e12dc53ba3 Bug 1544188 - check cleartype level for WR DWrite fonts. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D27563

--HG--
extra : moz-landing-system : lando
2019-04-18 15:58:22 +00:00
Botond Ballo 6bb3e05a9d Bug 1543501 - Add operator<< to ScaleFactor. r=kats
This allows it to be used more easily with MOZ_DBG().

Differential Revision: https://phabricator.services.mozilla.com/D27000

--HG--
extra : moz-landing-system : lando
2019-04-12 16:49:00 +00:00
Lee Salzman 4140aef08f Bug 1511131 - init UnscaledFontFreeType's face from file when creating scaled fonts. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D27126

--HG--
extra : moz-landing-system : lando
2019-04-12 12:48:56 +00:00
Jean-Yves Avenard d91ea6eb87 Bug 1540581 - P9. Add R16G16 type and update of P010/P016 resource update. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D26464

--HG--
extra : moz-landing-system : lando
2019-04-11 12:37:23 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

Differential Revision: https://phabricator.services.mozilla.com/D26060

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Jean-Yves Avenard e5f2be092a Bug 1540581 - P5. Add ColorSpace info to MacIOSurface. r=mattwoodrow
It would have been nicer and more logical to use a MacIOSurfaceImage to store the colorspace information, however the data passed around is a IOSurface Id via a SurfaceDescriptorMacIOSurface; the original data structure isn't kept; so we must transit the data at the same time as the IOSurface Id.

Also remove unnecessary test (new operator is infallible).

Differential Revision: https://phabricator.services.mozilla.com/D26058

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:31 +00:00
Jean-Yves Avenard 3ae43eb506 Bug 1493898 - P6. Move YUVColorSpace definition in the gfx namespace. r=mattwoodrow.
YUVColorSpace is inseparable from the bit depth as the matrix coefficients to be calculated need the bit depth information.

So let's put the two types together. gfx namespace also makes more sense as that's where we find IntRect, IntSize and other.

The extent of the changes highlight how much similar data structures are duplicated across the code, to the point it's scary.

Differential Revision: https://phabricator.services.mozilla.com/D25347

--HG--
extra : moz-landing-system : lando
2019-04-11 12:41:33 +00:00
Andreea Pavel 4146c75e78 Merge mozilla-inbound to mozilla-central. a=merge 2019-04-06 13:58:33 +03:00
Bas Schouten d3803cedc6 Bug 1538666: Fix typo in PathCapture::TransformedCopyToBuilder. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D26335

--HG--
extra : rebase_source : 82cf8458d06c98de595afa6656a4712957ece96f
2019-04-05 17:59:17 +02:00
Sylvestre Ledru 03fc65347c Bug 1542146 - Apply the change with the option StatementMacros from clang-format-8 r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26280

--HG--
extra : moz-landing-system : lando
2019-04-05 21:42:17 +00:00
Sylvestre Ledru 03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
Csoregi Natalia ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu 24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru 399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Gerald Squelart e2d15a1cfb Bug 1429613 - Variant matcher callbacks renamed from `match` to `operator()` - r=froydnj
Mechanical change from Matcher::match(...) to Matcher::operator()(...).
This will now permit the use of generic lambdas, and facilitate the
implementation of multi-lambda match.

Differential Revision: https://phabricator.services.mozilla.com/D24889

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:47 +00:00
Sylvestre Ledru ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D24168

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Lee Salzman 552e417755 Bug 1539026 - Skia m74 Moz2D fixes. r=rhunt 2019-03-26 11:06:56 -04:00
Jeff Gilbert 758e836333 No bug - clang-format -p gfx 2019-03-29 23:41:48 -07:00
Lee Salzman fad3958ac4 Bug 1495400 - don't draw non-scalable FT faces as paths. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D24416

--HG--
extra : moz-landing-system : lando
2019-03-22 17:52:48 +00:00
Mike Hommey f065aaf078 Bug 1537673 - Remove remaining useless CC_TYPE test. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D24314

--HG--
extra : moz-landing-system : lando
2019-03-21 13:22:02 +00:00
Kearwood "Kip" Gilbert 55278c6768 Bug 1532375 - Implement Matrix4x4Double and QuaternionDouble r=lsalzman
The upcoming WebXR API (Bug 1419190) requires intermediate calculations of real-world space coordinates to have more precision with larger ranges. I expect that double precision matrix and quaternions will also be useful in other graphics and layout work.

It would not be ideal to expand the existing classes to always use double precision, as it would incur a significant performance penalty on certain platforms (eg, Arm). The double-precision variants should be used only when required.

The existing gfx::Matrix4x4 and gfx::Quaternion implementation can be extended with templates to generate both single and double precision variants.

Differential Revision: https://phabricator.services.mozilla.com/D22010

--HG--
extra : moz-landing-system : lando
2019-03-19 17:19:47 +00:00
Daniel Varga 358f816f63 Merge mozilla-inbound to mozilla-central. a=merge 2019-03-19 11:50:28 +02:00
Jeff Gilbert 52d58f2a74 Bug 1533527 - Forbid non-size_t calls to malloc and calloc. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D22627
2019-03-18 13:47:18 -07:00
Kartikaya Gupta 6743c7ace2 Bug 1536128 - Make apz.printtree work on non-debug builds. r=botond
This eliminates the need to additionally modify gfx.logging.level on
non-debug builds to make apz.printtree output show up.

Differential Revision: https://phabricator.services.mozilla.com/D23880

--HG--
extra : moz-landing-system : lando
2019-03-18 18:42:04 +00:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Andreea Pavel 5a60df453a Backed out changeset 5f7ea2187fa6 (bug 1533527) for build bustages on a CLOSED TREE 2019-03-10 03:50:15 +02:00
Jeff Gilbert 8235aa9f56 Bug 1533527 - Forbid non-size_t calls to malloc and calloc. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D22627

--HG--
extra : moz-landing-system : lando
2019-03-09 17:40:54 +00:00
Emilio Cobos Álvarez cd9ccbbe42 Bug 1533142 - followup: Fix Windows MinGW bustage. r=me 2019-03-07 00:34:19 +01:00
Emilio Cobos Álvarez cb19991fd7 Bug 1533142 - Use more cbindgen features. r=kats
We can get back the fancy flag syntax as soon as we get C++17 inline variables,
which I sent an email to dev-platform@ about, with no reply.

Differential Revision: https://phabricator.services.mozilla.com/D22382

--HG--
extra : moz-landing-system : lando
2019-03-06 23:01:11 +00:00
Bas Schouten ef0300b3f8 Bug 1521774 - Part 2: Ensure a device is available when attempting to create a device context. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D21899

--HG--
extra : rebase_source : e193dac57302af15820bfaa774540797cde2a0c3
2019-03-04 10:33:19 +01:00
Jeff Muizelaar 4febae72fc Bug 1495170. Use CreateClippedDrawTarget more. r=mstange
This lets us restrict the size of the mask surface that we allocate
to the destination tile size. This gives a large performance
improvement.

It also includes some miscelanous fixes to the CreateClippedDrawTarget
code path.

Differential Revision: https://phabricator.services.mozilla.com/D21750
2019-03-04 22:30:09 -05:00
Jeff Muizelaar acbf363d37 Bug 1495170. Handle mask offsets.
Differential Revision: https://phabricator.services.mozilla.com/D21749
2019-03-04 22:30:08 -05:00
Jeff Muizelaar 967d03ef66 Bug 1531532. Use preTranslate instead of postTranslate when correcting for the mask offset. r=mattwoodrow
DTO = DrawTargetOffset = (-Origin.x, -Origin.y)
CTM = CurrentTransform
MASKT = MaskTransform = Inv(CurrentTransform)
MASKO = MaskOffset = (GetRect().x, GetRect().y)

The transform to device space is:

MASKT * CTM * DTO

Currently we do:
MASKT = MASKT * MASKO

Which gives us MASKT * MASKO * CTM * DTO. This works fine if there's no scale but
will not properly cancel out if there is.

I believe we want:
MASKO * MASKT * CTM * DTO

To get this we need to preTranslate instead of postTranslate.

Differential Revision: https://phabricator.services.mozilla.com/D21604
2019-03-04 22:30:06 -05:00
Gurzau Raul 6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Lee Salzman a330f87601 Bug 1530471 - remove Moz2D/thebes SkiaGL glue r=jrmuizel
Depends on D21052

Differential Revision: https://phabricator.services.mozilla.com/D21053

--HG--
extra : moz-landing-system : lando
2019-02-28 14:59:16 +00:00
Emilio Cobos Álvarez b7bb398730 Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-26 06:01:34 -08:00
Ryan Hunt 85ff4bdc33 Bug 1523969 part 8 - Move method definition inline comments to new line in 'gfx/'. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D21108

--HG--
extra : rebase_source : 48a4586f507891f3a2f0f970e9b9a0b15f0f3d61
2019-02-25 16:07:19 -06:00
Cosmin Sabou a499294d09 Backed out 4 changesets (bug 1516454, bug 1530247) for multiple failures on Linux x64 asan. CLOSED TREE
Backed out changeset 180c7672c57c (bug 1516454)
Backed out changeset a460a4d0a66c (bug 1516454)
Backed out changeset c6ab8d3dd19a (bug 1530247)
Backed out changeset 43862dc87e0b (bug 1516454)
2019-02-26 00:49:27 +02:00
Emilio Cobos Álvarez b411b3894d Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-25 12:42:31 -08:00
Chris Peterson e77882620f Bug 1528881 - Part 4: gfx/2d: Make some global functions static. r=lsalzman
And #include "BufferUnrotate.h" in BufferUnrotate.cpp for BufferUnrotate() function prototype.

clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/2d/BufferUnrotate.cpp:17:6 [-Wmissing-prototypes] no previous prototype for function 'BufferUnrotate'
gfx/2d/DrawTargetCairo.cpp:195:6 [-Wmissing-prototypes] no previous prototype for function 'ReleaseData'
gfx/2d/DrawTargetCairo.cpp:201:18 [-Wmissing-prototypes] no previous prototype for function 'CopyToImageSurface'
gfx/2d/DrawTargetCairo.cpp:239:18 [-Wmissing-prototypes] no previous prototype for function 'GetAsImageSurface'
gfx/2d/DrawTargetCairo.cpp:251:18 [-Wmissing-prototypes] no previous prototype for function 'CreateSubImageForData'
gfx/2d/DrawTargetCairo.cpp:272:18 [-Wmissing-prototypes] no previous prototype for function 'ExtractSubImage'
gfx/2d/DrawTargetCairo.cpp:308:18 [-Wmissing-prototypes] no previous prototype for function 'GetCairoSurfaceForSourceSurface'
gfx/2d/DrawTargetRecording.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetRecording.cpp:272:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingFontUserDataDestroyFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:358:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordFontUserDataDestroyFunc'
gfx/2d/FilterNodeSoftware.cpp:1816:6 [-Wmissing-prototypes] no previous prototype for function 'IsAllZero'
gfx/2d/FilterNodeSoftware.cpp:183:37 [-Wmissing-prototypes] no previous prototype for function 'CloneAligned'
gfx/2d/MacIOSurface.cpp:442:6 [-Wmissing-prototypes] no previous prototype for function 'MacIOSurfaceBufferDeallocator'
gfx/2d/QuartzSupport.mm:38:6 [-Wmissing-prototypes] no previous prototype for function 'cgdata_release_callback'
gfx/2d/ScaledFontMac.cpp:191:10 [-Wmissing-prototypes] no previous prototype for function 'CalcTableChecksum'
gfx/2d/ScaledFontMac.cpp:224:5 [-Wmissing-prototypes] no previous prototype for function 'maxPow2LessThan'
gfx/2d/unittest/TestCairo.cpp:12:6 [-Wmissing-prototypes] no previous prototype for function 'TryCircle'

Differential Revision: https://phabricator.services.mozilla.com/D20263

--HG--
extra : rebase_source : b42bce33ed899caeb89e462d99a5cde29a9bb559
extra : intermediate-source : 7923cc86a6394bcd2fb3b7e38f458a5180d31e11
extra : source : 02388f2454e8842d2c023bf9f9fab222d8130093
2019-02-16 18:08:30 -08:00
Masatoshi Kimura e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Bas Schouten 21157ebf38 Bug 1535866: Check if a valid DeviceContext is available before attempting to use it. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D29106

--HG--
extra : rebase_source : b4ceb0281e26cc103ebd3036116576bed8653711
2019-04-27 21:01:29 +00:00
Bas Schouten 546415cd2c Bug 1536229: Remove NS_RELEASE_ASSERT that is being tripped and seems to be unnecessary. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D29105

--HG--
extra : rebase_source : 4dd690f83fb2d1e922a8fd41834d5d8595861883
2019-04-27 17:31:49 +00:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D19663

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Makoto Kato e9230ae06d Bug 1526737 - Enable moz2d's NEON even if windows/aarch64. r=jrmuizel,dmajor
Bug 1516062 turns on NEON when using gcc and clang. But windows compiler uses
clang-cl, so I would like to turn on it even if windows.

Differential Revision: https://phabricator.services.mozilla.com/D19281

--HG--
extra : moz-landing-system : lando
2019-02-12 16:21:26 +00:00
Bas Schouten fea87b2298 Bug 1521774: Ensure a DC is available when using the generic dc on the main thread. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D19146

--HG--
extra : rebase_source : d7f0135c283e0ed84667d896467c26447e9c2cf8
2019-02-08 14:52:05 +01:00
Sylvestre Ledru 14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D18488

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Bas Schouten a3c4519183 Bug 1521368 - Part 3: Ensure DrawTargetDual properly implements IsValid(). r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D18383

--HG--
extra : rebase_source : a9af7a64f274c89a48c3aedb05f77d0d63fcfa2e
2019-02-01 21:22:48 +01:00
Bas Schouten 296f494160 Bug 1524554: Ensure Canvas surfaces are initialized on the main thread and ensure their validity. r=rhunt
This isn't the prettiest solution but it's minimally invasive. More long-term a better solution may be to expose a call on DrawTargets to ensure their initialization even if they're on the main thread. IsValid probably isn't a good candidate for this as we want it to be usable freely on the main thread to ensure none of the basic conditions of the surface are still valid.

Differential Revision: https://phabricator.services.mozilla.com/D18339

--HG--
extra : rebase_source : 2b2f05a247ea8c6896288624c5620501592e3dcc
2019-02-01 13:18:55 +01:00
Bas Schouten 5382fe49af Bug 1521368 - Part 2: Ensure destination DT is valid when replaying SourceSurfaceCapture. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D18239

--HG--
extra : rebase_source : 5b3422070eae74e795cacd48cd401a5c02ce27d5
2019-01-31 17:28:46 +01:00
Jeff Muizelaar 0c609e94c7 Bug 1522021. Propagate input size to CreateSimilarDrawTarget for filters. r=mstange
This lets us avoid drawing the complete input for ever tile when
drawing filters into a tile.

Differential Revision: https://phabricator.services.mozilla.com/D17686

--HG--
extra : moz-landing-system : lando
2019-01-27 23:36:04 +00:00
Jeff Muizelaar 93752e905d Bug 1522021. Implement SourceSurfaceOffset. r=mstange
This forwards to an underlying source surface but also has an origin that it
uses to correctly return results from GetRect()

Differential Revision: https://phabricator.services.mozilla.com/D17692

--HG--
extra : moz-landing-system : lando
2019-01-25 23:06:24 +00:00
Jeff Muizelaar b0d9cc5e6d Bug 1522310. Use GetRect() instead of IntRect(IntPoint(), GetSize()) in Filters code. r=mstange
This is needed so that we can use SourceSurfaces that don't have a
implicit 0,0 origin like those that would come from a DrawTargetTiled
or DrawTargetOffset.

Differential Revision: https://phabricator.services.mozilla.com/D17684

--HG--
extra : moz-landing-system : lando
2019-01-25 23:03:16 +00:00
Bas Schouten d8a0c14970 Bug 1522415: Properly track initialization state in case a device reset occurs during initialization. r=rhunt
This fixes a situation where a Device Reset occurs during initialization, after mDC has already been created but before mBitmap is created. In this case IsValid and EnsureInitialized would previously return 'true' in subsequent calls, since they were only checking for the DC.

This patch makes us properly store the full result of initialization for checking with IsValid and re-runs of EnsureInitialized.

Differential Revision: https://phabricator.services.mozilla.com/D17486

--HG--
extra : rebase_source : a20480486c094e14c3a2f67e5f39b1efbece5c69
2019-01-24 12:37:28 +01:00
Lee Salzman c7d1539b15 Bug 1455848 - use paths for WR font handles on Windows. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16896
2019-01-17 15:45:07 -05:00
Razvan Maries 6161f7cc5b Backed out 4 changesets (bug 1455848) for windows wrench failures. CLOSED TREE
Backed out changeset d56504db04ea (bug 1455848)
Backed out changeset f2279ecacb81 (bug 1455848)
Backed out changeset 44a36f0fe512 (bug 1455848)
Backed out changeset b8444f241aca (bug 1455848)
2019-01-24 00:56:40 +02:00
Lee Salzman bd0b2ed9f0 Bug 1455848 - use paths for WR font handles on Windows. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16896
2019-01-17 15:45:07 -05:00
Sebastian Hengst 2ecf173b14 Merge mozilla-central to autoland 2019-01-23 11:31:44 +02:00
Bas Schouten 587e039c49 Bug 1521368: Forego drawing if our drawtarget is invalid, this can happen on a devicereset. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D17224

--HG--
extra : moz-landing-system : lando
2019-01-22 23:09:28 +00:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D17139

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Sylvestre Ledru d1a9a5751d Bug 1521391 - Use the old code path with gcc to fix a build issue with gcc-8 r=bas
Differential Revision: https://phabricator.services.mozilla.com/D17083

--HG--
extra : moz-landing-system : lando
2019-01-21 17:45:28 +00:00
Bas Schouten 78d819cda0 Bug 1521008: Defer OptimizeSourceSurface to the paint thread if possible. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D16943

--HG--
extra : rebase_source : 9a1899759f631e7ffd9db3cd9333540b550b3884
2019-01-18 06:45:17 +01:00
Bas Schouten 4caf3dff6a Bug 1520909: Properly support SupportsRegionClipping in DrawTargetDual. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16899

--HG--
extra : rebase_source : 03ad075eb41e13b64686dd9939fe5dbcbb6e107e
extra : amend_source : 3ded96951d4ad113cbd55ff96c8cfbf8a4f4273a
2019-01-17 21:54:00 +01:00
Bas Schouten e146ae8233 Bug 1520877 - Part 3: Implement FillRoundedRect for DrawTargetCapture. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16894

--HG--
extra : rebase_source : becf1b41cd67e82053804e293486400162cadf28
2019-01-17 20:34:21 +01:00
Bas Schouten 940959abd0 Bug 1520877 - Part 2: Implement FillRoundedRect for D2D. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16893

--HG--
extra : rebase_source : 47ea1c3907578f27743a0f3543553062b76953c8
2019-01-17 20:29:43 +01:00
Bas Schouten f511ca965c Bug 1520877 - Part 1: Add an API for filling rounded rects. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16892

--HG--
extra : rebase_source : feacd6a039d18c9483ad940b1e142efdd13b87ed
2019-01-17 20:16:34 +01:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Bas Schouten 5c3778d6dd Bug 1519739: Attempt to create Direct2D paths on the paint thread. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D16433

--HG--
extra : rebase_source : 98c1a0461d7498d2658de54ded796025c7a0beb6
2019-01-14 01:16:17 +01:00
Bas Schouten 7cbaee9bbb Bug 1519760: Attempt to initialize D2D off the main thread as much as possible. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D16432

--HG--
extra : rebase_source : d42875e3e87c6fd756d5de192387a36a0ec2dafd
2019-01-13 23:14:33 +01:00
Botond Ballo 8a9ba2ba40 Bug 1518584 - Add WithinEpsilonOf() functions to RectTyped and MarginTyped. r=kats
Also make a const-correctness fix to PointTyped::WithinEpsilonOf().

Depends on D15974

Differential Revision: https://phabricator.services.mozilla.com/D15975

--HG--
extra : moz-landing-system : lando
2019-01-09 15:37:52 +00:00
Sylvestre Ledru cccdda3c2a Bug 1516555 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D15426

--HG--
extra : moz-landing-system : lando
2018-12-28 15:48:06 +00:00
Makoto Kato 2fe6d4569a Bug 1516062 - Turn on NEON when using gcc or clang on aarch64 r=jrmuizel
Since we don't define BUILD_ARM_NEON on aarch64 due to bug 1303952, aarch64
doesn't turn on neon for moz2d.

Also, msvc don't have arm_neon.h [*1], so we should turn on neon on aarch64
excepting msvc.

*1 https://developercommunity.visualstudio.com/content/problem/201662/arm-neonh-doenst-support-arm64-compiler.html

Differential Revision: https://phabricator.services.mozilla.com/D15371

--HG--
extra : moz-landing-system : lando
2018-12-26 16:27:08 +00:00
Kartikaya Gupta b184eedbf0 Bug 1496194 - Add a RectAbsolute implementation for MoveInsideAndClamp. r=botond
Depends on D15135

Differential Revision: https://phabricator.services.mozilla.com/D15136

--HG--
extra : moz-landing-system : lando
2018-12-21 22:31:55 +00:00
Kartikaya Gupta 04689eb8ea Bug 1496194 - Fix the MoveBy(Point) implementation in RectAbsolute. r=botond
RectAbsolute contained a MoveBy(Point) function where Point was not a
template parameter but the actual gfx::Point type. This seems to be an
unintentional copy/paste error. This patch fixes it to be properly
templated.

Differential Revision: https://phabricator.services.mozilla.com/D15135

--HG--
extra : moz-landing-system : lando
2018-12-21 22:11:26 +00:00
Lee Salzman 15294b0cbc Bug 1455848 - let UnscaledFontDWrite::GetWRFontDescriptor continue even if retrieving file names fails. r=jrmuizel 2018-12-18 11:19:26 -05:00
Ryan Hunt 592c67b24a Bug 1440937 - Add redundancy to capture command list format. r=mattwoodrow
--HG--
extra : rebase_source : f66b1cd2d284d6b683111c14393fc0ce58259f2e
extra : histedit_source : 37686c28650f6600b34bcd09e36bc1fa4a0f3de3
2018-11-29 09:43:05 -06:00
Lee Salzman a5a039fbe6 Bug 1455848 - fix typo in LogWStr. r=me 2018-12-11 17:53:44 -05:00
Lee Salzman 4d142c7a81 Bug 1455848 - fix logging of wchar strings on MinGW builds. r=me 2018-12-11 17:16:21 -05:00
Lee Salzman f7066e0fb7 Bug 1455848 - validate access to DWrite font files in WR and output helpful log messages on failure. r=jrmuizel 2018-12-11 15:58:02 -05:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Lee Salzman a5f6c68080 Bug 1490537 - init and shutdown Skia in the GPU process. r=mattwoodrow 2018-11-29 18:09:46 -05:00
Ehsan Akhgari 2febd96e7e Bug 1508472 - Part 2: Second batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13073

--HG--
extra : moz-landing-system : lando
2018-11-28 00:54:56 +00:00
Cosmin Sabou 0afa5aa670 Backed out 2 changesets (bug 1508472) for causing build bustages on JobScheduler_posix.cpp. CLOSED TREE
Backed out changeset af951294cf96 (bug 1508472)
Backed out changeset 2320933cb7bc (bug 1508472)
2018-11-28 00:08:11 +02:00
Ehsan Akhgari 7c937c2747 Bug 1508472 - Part 2: Second batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13073

--HG--
extra : moz-landing-system : lando
2018-11-27 21:36:18 +00:00
Andreea Pavel 945463d394 Backed out changeset 11d6688b953f (bug 1508472) for build bustages on a CLOSED TREE 2018-11-27 18:28:30 +02:00
Ehsan Akhgari d0a3a76106 Bug 1508472 - Part 2: Second batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13073

--HG--
extra : moz-landing-system : lando
2018-11-27 15:18:32 +00:00
Andrew Osmond 01269d4189 Bug 1504699 - Part 4. Add method to SharedSurfacesChild to cast to a shared surface. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D10900
2018-11-21 06:47:11 -05:00
Kartikaya Gupta 17eea57296 Bug 1466613 - Robustify DrawTargetRecording codepaths that create new drawtargets. r=mstange
Badly-behaved consumers of DrawTargetRecording can trigger recording of
draw calls that will fail to allocate required draw targets when the
recording is replayed. This patch tries to guard against this by
detecting these situations at record-time rather than crashing at
replay-time. When such a situation is detected, it will crash (for
content processes, to catch such scenarios) or gracefully fail (for
other processes).

Differential Revision: https://phabricator.services.mozilla.com/D11527

--HG--
extra : moz-landing-system : lando
2018-11-13 10:39:02 +00:00
Kartikaya Gupta 88030616a1 Bug 1466613 - Add a gfxCriticalNote to provide more details on replay failure. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D8257

--HG--
extra : moz-landing-system : lando
2018-11-13 10:38:24 +00:00
Lee Salzman 0be53a4c8c Bug 1490704 - check rect size in RectIsInt32Safe. r=mattwoodrow 2018-11-12 17:09:12 -05:00
Csoregi Natalia 6e0e603f48 Merge inbound to mozilla-central. a=merge 2018-11-07 11:52:57 +02:00
Matt Woodrow 71be702f62 Bug 1456555 - Fix SourceSurface offset handling in DTSkia::PushLayer. r=lsalzman
This got added in bug 1429508 and then removed in bug 1451845. Tiled blobs adds tests for this, so it shouldn't break again.

MozReview-Commit-ID: 3azL7SoWlr2

Depends on D10038

Differential Revision: https://phabricator.services.mozilla.com/D10041

--HG--
extra : moz-landing-system : lando
2018-11-06 21:04:36 +00:00
Matt Woodrow ae8c862a29 Bug 1456555 - Support Map on multiple threads. r=rhunt
This just makes the existing hack available to all DataSourceSurface implementations by default, since we use different ones with WR.

MozReview-Commit-ID: GVR0rIx8wtD

Depends on D10036

Differential Revision: https://phabricator.services.mozilla.com/D10038

--HG--
extra : moz-landing-system : lando
2018-11-06 21:04:02 +00:00
Matt Woodrow d902a179f1 Bug 1456555 - Fix bugs in DrawTargetOffset. r=mstange
MozReview-Commit-ID: I4XFoTp1szZ

Depends on D10033

Differential Revision: https://phabricator.services.mozilla.com/D10036

--HG--
extra : moz-landing-system : lando
2018-11-06 21:03:29 +00:00
Brindusan Cristian 1be798764e Backed out 5 changesets (bug 1456555) for reftests failuress on /reftests/svg/text/pattern-content.svg.
Backed out changeset 0f2854553c21 (bug 1456555)
Backed out changeset 5e3b20a19162 (bug 1456555)
Backed out changeset 6cc965ecc095 (bug 1456555)
Backed out changeset 595abbb5bf3e (bug 1456555)
Backed out changeset c4df6309a5be (bug 1456555)
2018-11-06 07:39:19 +02:00
Matt Woodrow 388a369641 Bug 1456555 - Fix SourceSurface offset handling in DTSkia::PushLayer. r=lsalzman
This got added in bug 1429508 and then removed in bug 1451845. Tiled blobs adds tests for this, so it shouldn't break again.

MozReview-Commit-ID: 3azL7SoWlr2

Depends on D10038

Differential Revision: https://phabricator.services.mozilla.com/D10041

--HG--
extra : moz-landing-system : lando
2018-11-06 03:12:18 +00:00
Matt Woodrow 684c71b2a2 Bug 1456555 - Support Map on multiple threads. r=rhunt
This just makes the existing hack available to all DataSourceSurface implementations by default, since we use different ones with WR.

MozReview-Commit-ID: GVR0rIx8wtD

Depends on D10036

Differential Revision: https://phabricator.services.mozilla.com/D10038

--HG--
extra : moz-landing-system : lando
2018-11-06 03:12:16 +00:00
Matt Woodrow 106238c238 Bug 1456555 - Fix bugs in DrawTargetOffset. r=mstange
MozReview-Commit-ID: I4XFoTp1szZ

Depends on D10033

Differential Revision: https://phabricator.services.mozilla.com/D10036

--HG--
extra : moz-landing-system : lando
2018-11-06 03:10:56 +00:00
Brindusan Cristian 301c937cee Backed out 5 changesets (bug 1456555) for reftest failures on /reftests/svg/paint-order-03.svg.
Backed out changeset ca90391329b7 (bug 1456555)
Backed out changeset 1f269ed43301 (bug 1456555)
Backed out changeset afb19dd18556 (bug 1456555)
Backed out changeset d46e2737134f (bug 1456555)
Backed out changeset 4261b7dc70f7 (bug 1456555)
2018-11-06 04:52:58 +02:00
Matt Woodrow 47dd602d1a Bug 1456555 - Fix SourceSurface offset handling in DTSkia::PushLayer. r=lsalzman
This got added in bug 1429508 and then removed in bug 1451845. Tiled blobs adds tests for this, so it shouldn't break again.

MozReview-Commit-ID: 3azL7SoWlr2

Depends on D10038

Differential Revision: https://phabricator.services.mozilla.com/D10041

--HG--
extra : moz-landing-system : lando
2018-11-06 00:42:09 +00:00
Matt Woodrow 75fcdba74b Bug 1456555 - Support Map on multiple threads. r=rhunt
This just makes the existing hack available to all DataSourceSurface implementations by default, since we use different ones with WR.

MozReview-Commit-ID: GVR0rIx8wtD

Depends on D10036

Differential Revision: https://phabricator.services.mozilla.com/D10038

--HG--
extra : moz-landing-system : lando
2018-11-06 00:41:03 +00:00
Matt Woodrow df71bb3105 Bug 1456555 - Fix bugs in DrawTargetOffset. r=mstange
MozReview-Commit-ID: I4XFoTp1szZ

Depends on D10033

Differential Revision: https://phabricator.services.mozilla.com/D10036

--HG--
extra : moz-landing-system : lando
2018-11-06 00:39:59 +00:00
Lee Salzman 82a73c0629 Bug 1455848 - ensure WR DWrite font descriptors can be found in the system font collection. r=jfkthame 2018-11-06 14:43:24 -05:00
Lee Salzman dd9933b890 Bug 1502152 - Skia m71 Moz2D fixes. r=rhunt 2018-10-30 22:17:34 -04:00
Lee Salzman 6e43b8bf7e Bug 1500709 - fix big-endian RGBBitShift in Swizzle. r=me
CLOSED TREE
2018-10-22 14:49:08 -04:00
Lee Salzman 1e136a0603 Bug 1495919 - ensure IDWriteFontFileStream stays alive with NativeFontResourceDWrite. r=jrmuizel 2018-10-18 18:00:23 -04:00
Sylvestre Ledru dd5741407b Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan
Too hard/impossible for the tool to format correctly these structs

Differential Revision: https://phabricator.services.mozilla.com/D8569

--HG--
extra : moz-landing-system : lando
2018-10-12 20:48:24 +00:00
Jean-Yves Avenard 103efd79bc Bug 1497294 - P7. Add P016 and P010 surface format support. r=jgilbert
This is only used with DXVA decoder. P016 and P010 are just like NV12 but with 16 bits data..

Depends on D8246

Differential Revision: https://phabricator.services.mozilla.com/D8136

--HG--
extra : moz-landing-system : lando
2018-10-10 22:21:53 +00:00
Jean-Yves Avenard b5f4d81b93 Bug 1497294 - P2. Move type related constant methods to Types.h r=nical
The methods BytesPerPixel, SurfaceFormatForColorDepth, BitDepthForColorDepth, ColorDepthForBitDepth and RescalingFactorForColorDepth all directly depends on the types defined in Types.h, they also return constant values.

As such it makes more sense to have them defined at the same level where the types themselves are declared.

Depends on D8065

Differential Revision: https://phabricator.services.mozilla.com/D8073

--HG--
extra : moz-landing-system : lando
2018-10-09 12:56:25 +00:00
Jean-Yves Avenard 786dffc1c6 Bug 1497294 - P1. Remove duplicated method. r=nical
Additionally, add info for the following type:
    R8G8B8
    B8G8R8
    R8G8
    HSV
    Lab
    DEPTH

Differential Revision: https://phabricator.services.mozilla.com/D8065

--HG--
extra : moz-landing-system : lando
2018-10-09 13:07:58 +00:00
Jean-Yves Avenard 16852a7fe4 Bug 1495025 - P7. Silence compilation warning r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D7977

--HG--
extra : moz-landing-system : lando
2018-10-08 18:57:58 +00:00
Ryan Hunt fd979d2851 Bug 1475139 part 7 - Add DrawDependentSurface API to DrawTarget. r=mattwoodrow
This commit adds an API to DrawTarget to draw a surface that will be provided
at the time a recording is replayed. The surface is referenced using a user
interpreted ID.

This will be used for drawing a OOP iframe, and the ID will be the TabId.

Differential Revision: https://phabricator.services.mozilla.com/D6786

--HG--
extra : rebase_source : d5ce9b429c89e9adb0e5fb180f60125e64f12d4a
2018-09-24 21:43:41 -05:00
Ryan Hunt 2af89b5ed4 Bug 1475139 part 5 - Only use external fonts with DrawEventRecorderMemory if we have a callback. r=jrmuizel
This was giving me some font assertion crashes, and changing this as a hunch fixed it.

Differential Revision: https://phabricator.services.mozilla.com/D6784

--HG--
extra : rebase_source : 99bf039f33e314fb6f88ea283cf4cc575b054566
2018-09-24 21:33:14 -05:00
Jean-Yves Avenard d14584ec03 Bug 1495025 - P4. Add COLOR_16 type r=nical
Depends on D7296

Differential Revision: https://phabricator.services.mozilla.com/D7316
2018-10-08 15:52:01 +02:00
Narcis Beleuzu 18849ef0ae Backed out 6 changesets (bug 1495025) for webgl2 failures on test_2_conformance2__textures__misc__npot-video-sizing.html
Backed out changeset 24d67618f6b9 (bug 1495025)
Backed out changeset 68efa7588ba8 (bug 1495025)
Backed out changeset 9f59a50dcc6d (bug 1495025)
Backed out changeset 7fd1f6103294 (bug 1495025)
Backed out changeset f1afe7e2a9e3 (bug 1495025)
Backed out changeset c62823871aca (bug 1495025)
2018-10-07 02:03:46 +03:00
Jean-Yves Avenard 3903fac067 Bug 1495025 - P4. Add COLOR_16 type r=nical
Depends on D7296

Differential Revision: https://phabricator.services.mozilla.com/D7316
2018-10-06 21:31:22 +02:00
Brindusan Cristian 070df1d4c1 Backed out 6 changesets (bug 1495025) for mochitest-webgl2 failures in test_2_conformance2__textures__misc__npot-video-sizing.html. CLOSED TREE
Backed out changeset 263d4f722174 (bug 1495025)
Backed out changeset 528dbc463c22 (bug 1495025)
Backed out changeset 25895d283d47 (bug 1495025)
Backed out changeset c3b43ee1092e (bug 1495025)
Backed out changeset c548d816019d (bug 1495025)
Backed out changeset 208624601a18 (bug 1495025)
2018-10-04 15:16:07 +03:00
Jean-Yves Avenard 89935cc430 Bug 1495025 - P4. Add COLOR_16 type r=nical
Depends on D7296

Differential Revision: https://phabricator.services.mozilla.com/D7316

--HG--
extra : moz-landing-system : lando
2018-10-04 09:47:57 +00:00
arthur.iakab ec46826255 Merge inbound to mozilla-central. a=merge 2018-09-26 15:54:41 +03:00
Ciure Andrei 7426f19d64 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-26 00:51:44 +03:00
Ciure Andrei ce57be88b8 Merge inbound to mozilla-central. a=merge 2018-09-26 00:49:06 +03:00
Jean-Yves Avenard b10364a15f Bug 1493198 - P2. Use enum for describing color depth. r=mattwoodrow
Depends on D6662

Differential Revision: https://phabricator.services.mozilla.com/D6663

--HG--
extra : moz-landing-system : lando
2018-09-25 20:44:55 +00:00
Jean-Yves Avenard cfc24b769e Bug 1469711 - P1. Add 10/12 bits YUV support to D3D11 compositor. r=mattwoodrow
This change is for D3D11 with Advanced Layers enabled.

Differential Revision: https://phabricator.services.mozilla.com/D6492

--HG--
extra : moz-landing-system : lando
2018-09-25 11:18:34 +00:00
Andrew Osmond 64e9e7e583 Bug 1492930 - Part 2. Expose the external image ID for surfaces' memory reporting. r=nical 2018-09-25 09:13:51 -04:00
Ciure Andrei 6760739b90 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-26 00:53:40 +03:00
Cameron McCormack ae263787a7 Bug 1492660 - Deal with negative turbulence tile offsets when base frequency is zero r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6351

--HG--
extra : moz-landing-system : lando
2018-09-20 03:18:58 +00:00
Mike Hommey b5c39c5a85 Bug 1492065 - Use Swizzle fallback when SSE2 is not supported r=lsalzman
The same is done for NEON, and the check folds to nothing when building
when the build target supports SSE2 and runtime detection is not
necessary.

Differential Revision: https://phabricator.services.mozilla.com/D6129

--HG--
extra : moz-landing-system : lando
2018-09-18 15:47:43 +00:00
Bas Schouten 3f601ce856 Bug 1479640: Restructure cleartype parameter code to run less frequently and only in the parent process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4784

--HG--
extra : moz-landing-system : lando
2018-09-13 18:59:27 +00:00
Narcis Beleuzu 3a8485e6e6 Backed out 6 changesets (bug 1492930) for build bustages on ImageMemoryReporter.cpp. CLOSED TREE
Backed out changeset 9d1ff0d0af47 (bug 1492930)
Backed out changeset bdb1bf2d8062 (bug 1492930)
Backed out changeset 2959314ecf7c (bug 1492930)
Backed out changeset 587e01daa080 (bug 1492930)
Backed out changeset 1a6b422c5a90 (bug 1492930)
Backed out changeset a3b3f4cdc9fa (bug 1492930)
2018-09-25 13:33:17 +03:00
Andrew Osmond c1c4901bbd Bug 1492930 - Part 2. Expose the external image ID for surfaces' memory reporting. r=nical 2018-09-25 06:18:06 -04:00
Lee Salzman 199ddffb5d Bug 1477625 - Don't use subpixel positioning for GDI fonts in WebRender. r=jrmuizel 2018-09-12 13:34:08 -04:00
Jonathan Kew d8469d13d7 Bug 1441323 - Handle font variation settings in ScaledFontDWrite::GetWRFontInstanceOptions. r=lsalzman 2018-02-26 21:56:07 +00:00
Lee Salzman de75729420 Bug 1480615 - reuse scaled fonts across blob image recordings. r=jrmuizel 2018-09-05 21:55:53 -04:00
Bas Schouten f8bf86582d Bug 1486415: Ensure the SourceSurface stays alive for the duration of MarkIndependent. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4856
2018-09-03 15:16:28 +02:00
Lee Salzman 5285c599ca Bug 1485712 - set SkTypeface atomically in ScaledFonts. r=rhunt 2018-08-23 14:58:21 -04:00
Ryan Hunt a5cee657d8 Bug 1414389 - Remove use of RwAssert in CaptureCommandList. r=lsalzman
--HG--
extra : rebase_source : a657f30cd10bed422883c554f799ea4fc884f508
2018-08-21 17:54:20 -05:00
Jamie Nicol c0b13f02f6 Bug 1484101 - Ensure DrawTargetTiled::PadEdges is called with region in device space. r=rhunt
In MultiTiledContentClient we can create a DrawTargetTiled with a
different origin than the layer we are painting. We must therefore
ensure when edge-padding that we provide the valid region in the draw
target's device-space rather than layer-space. Not doing so was
causing us to pad out in incorrect directions, causing visible seams.

Differential Revision: https://phabricator.services.mozilla.com/D3993

--HG--
extra : moz-landing-system : lando
2018-08-22 16:29:52 +00:00
Lee Salzman bf12f26ad9 Bug 1479196 - draw missing glyphs from an atlas instead of rectangles. r=jfkthame 2018-08-21 12:40:36 -04:00
Ryan Hunt 8091824d19 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c60c1c25d551e4a7c14c529137f8e0babc888466
extra : source : 7ae4c893867a5f7df81e0757d4b4a6a21cbc6986
2018-07-31 17:47:51 -05:00
Ryan Hunt 16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Ryan Hunt 2dd7814423 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 809d9816970648468de972c30b0c230c2f21e27b
extra : source : 405ad351821813333c0e989b93e2aeb49ba8552c
2018-07-26 11:23:26 -05:00
Ryan Hunt a71d0035ad Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : 5d96e2a5d36a01f2f9992adb37830e56436c7c35
extra : source : 64cb50b227e0ae604653f03ce2e892493126392e
2018-08-01 12:50:32 -05:00
Ryan Hunt e3b25e9b10 Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
This commit adds the ability to create a SourceSurfaceDual directly,
instead of only from a DrawTargetDual. This allows SourceRotatedBuffer
to expose itself as a single SourceSurface for a later commit.

MozReview-Commit-ID: K21K42cGDy1

--HG--
extra : rebase_source : d3fe48ac711f9cd28799bfd8d36b74750cb15554
extra : source : 392a724d5acd25854e871fa47335c4b938fe9ae1
2018-08-01 12:49:19 -05:00
Ryan Hunt 9c419c4c91 Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
This commit changes the behavior of DrawTargetDual::Clear to be aware that
it has on-white and on-black buffers, and perform clearing appropriately.

This is slightly against what the DrawTarget documentation says the method
should do, but it allows us to move another paint thread operation into
DrawTargetCapture and simplify our ContentClient implementations.

I haven't seen any obvious breakage with this, and reftests are green.

An alternative would be to add a separate Clear method with documented
difference here.

MozReview-Commit-ID: 65CzcxlRqv7

--HG--
extra : rebase_source : 299adbb02e79f66f7d6860c5fe86784bad8332f8
extra : source : 3dc47f17fa446bb7f2b5876753f8271a93c0e0c8
2018-08-01 12:45:35 -05:00
Ryan Hunt 53537230f9 Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : a3315644fe31f2a432935dcbfdb9969c58b691e1
extra : source : 699c954992f87db7fc792f5562090de42a8162cb
2018-08-01 12:44:33 -05:00
Bas Schouten 4e20187f58 Bug 1480832: Convert nsRegion's internal bounds representation to nsRectAbsolute, and define overflow behaviors. r=mattwoodrow 2018-08-07 15:54:32 +00:00
Jeff Muizelaar 955d35ed01 Bug 1480608. Skip over items that aren't in DrawTarget/DirtyRect. r=mstange
MozReview-Commit-ID: Kc9E1SUVUh3

--HG--
extra : rebase_source : d3ee33154622915bd444139bce639e4372fe8f43
2018-08-02 18:09:17 -04:00
Narcis Beleuzu 5200364866 Backed out changeset 00ff83d23238 (bug 1480608) for build bustages on Moz2DImageRenderer.cpp. CLOSED TREE 2018-08-08 01:48:46 +03:00
Jeff Muizelaar 75d7e45d83 Bug 1480608. Skip over items that aren't in DrawTarget/DirtyRect. r=mstange
MozReview-Commit-ID: Kc9E1SUVUh3

--HG--
extra : rebase_source : aa6561d103b3ab40f9d6033008bdc2fef3d395f8
2018-08-02 18:09:17 -04:00
Jeff Muizelaar 76eeb03deb Bug 1480620. Clip the filter source rect to the transformed DrawTarget bounds. r=mstange
This lets us avoid filtering the entire source image when we only need a small portion of it.
This makes a big performance difference with tiled blob images with WebRender.

MozReview-Commit-ID: EbMZ7ZJEeCe

--HG--
extra : rebase_source : 3f507ca5776e4ad63ac2ea71f20376519953274c
2018-08-01 21:26:40 -04:00
Jeff Muizelaar 8715d55e01 Bug 1480620. Add DrawTargetOffset. r=bas
This adds a DrawTargetOffset which is basically a simplified
DrawTargetTiled that only supports one tile. It useful for situations
where Cairo's device offset was used previously.

This also replaces WebRender's use of DrawTargetTiled which was just trying to
apply offset.

MozReview-Commit-ID: I33PB6CnHh0

--HG--
extra : rebase_source : 9fa51a0180343231cfca41daa0e3fa53f1b7befe
2018-08-03 10:48:37 -04:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Lee Salzman 864930c221 Bug 1479010 - don't populate a ScaledFont's cairo scaled font unless targeting cairo. r=jrmuizel 2018-08-03 00:56:06 -04:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
David Major a9e8069a9b Bug 1479456: Fix some non-unified bustage in gfx/thebes. r=jrmuizel 2018-08-01 13:02:18 -04:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
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
Lee Salzman 79d6db9a30 Bug 1478084 - make cairo_font_face_set_user_data thread-safe. r=jrmuizel 2018-07-26 15:23:25 -04:00
Kartikaya Gupta dfc93a4506 Bug 1477471 - Add missing pop_back call. r=jrmuizel 2018-07-24 14:06:30 -04:00
Kartikaya Gupta 3dfe60b882 Bug 1477471 - Implement PushLayerWithBlend for DrawTargetTiled. r=jrmuizel 2018-07-24 14:06:23 -04:00
Robert Longson da1ac338dc Bug 1474284 - cope with degenerate bezier curves r=baz 2018-07-23 18:36:09 +01:00
Miko Mynttinen c9202e2933 Bug 1477260 - Clip the rect in Matrix4x4TypedFlagged::TransformAndClipBounds, when transform is an identity matrix r=bas
MozReview-Commit-ID: 3a8vnl3K87n

--HG--
extra : rebase_source : b4bdd2b14e10becee20007e453497e9d7a204097
2018-07-20 17:28:37 +02:00
Robert Bartlensky dbbe5d1893 Bug 1476645: Fix DEAD_STORE errors in gfx/*. r=lsalzman
MozReview-Commit-ID: GYAWaLcpfsz

--HG--
extra : rebase_source : 30b9bdfda57e2773d5311dad83fa7ea468865c70
2018-07-18 16:54:00 +01:00
Lee Salzman 778675de84 Bug 1474968 - pass DWrite font gamma and contrast to WebRender. r=jrmuizel 2018-07-18 22:16:50 -04:00
arthur.iakab ecc4a026dc Backed out 2 changesets (bug 1474722)For freqvently failing test verify on gfx/tests/reftest/1474722.html CLOSED TREE
Backed out changeset 53d0bbb455cb (bug 1474722)
Backed out changeset 315d75c42ef0 (bug 1474722)
2018-07-18 19:48:21 +03:00
Nicolas Silva 76b07b62c3 Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-07-13 14:40:58 +02:00
Bas Schouten 2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Bas Schouten ab9f118366 Bug 1473937 - Part 2: Add Opacity filter D2D implementation. r=mstange 2018-07-17 21:11:14 +02:00
Bas Schouten 7e185acb09 Bug 1473937 - Part 1: Add Opacity filter and software implementation. r=mstange 2018-07-17 21:11:13 +02: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
Andrew Osmond a52fbf8ab5 Bug 1469964 - Part 2. Make shared surfaces use external image update mechanism. r=nical 2018-07-12 11:43:12 -04:00
Boris Chiou ffa1da7545 Bug 1467277 - Avoid getting zero normalized vector of rotate3d when setting a rotate matrix. r=nical
For example, if we set a transform to rotate3d(0, 0, 1e50, 45deg), the
expected normalized rotate axis is (0, 0, 1).
However, the length is larger than the maximum of float, so the actual value is
(0/inf, 0/inf, 1e50/inf) == (0, 0, 0). Therefore, we scale the vector before
doing normalization to avoid getting a zero vector.

MozReview-Commit-ID: 5LUDWD4RuNj

--HG--
extra : rebase_source : eb82f0b3979bf6ea3cd11b643ebb30a49edc24f8
2018-07-05 15:40:39 -07:00
Lee Salzman 23c3cc8f6b Bug 1467847 - avoid taking inverse in Polygon::TransformToScreenSpace when possible. r=miko 2018-07-09 15:52:42 -04:00
Bas Schouten d1d1555fb6 Bug 1474027: Rename RectAbsolute members and make them easier to access. r=botond 2018-07-09 16:39:50 +00:00
Lee Salzman e251ecb952 Bug 1460259 - Send synthetic oblique angle to WR. r=jfkthame 2018-07-04 10:56:40 -04:00
Ryan Hunt 0401ad902b Bug 1414389 - Add thread safety assertions in capture command list. r=bas
--HG--
extra : rebase_source : 0def858a2cce7ac6ef73fd8caa1e0e0b64b03ef6
2018-06-29 15:45:17 -05:00
Ryan Hunt ab5640b5e6 Bug 1471761 - Virtualize mType to reduce DrawingCommand size. r=bas
MozReview-Commit-ID: EFcVLZ6amNr

--HG--
extra : rebase_source : 0111dea6e377dff75b70a8b0e6d25f670e57d297
extra : histedit_source : 5bc07620340f71731918a99dcd95dcb3ee3b99c9
2018-06-27 18:26:38 -05:00
Ryan Hunt 5233d2ccc5 Bug 1471761 - Drop unused GetAffectedRect and fix virtual styling. r=bas
MozReview-Commit-ID: 9Gra35FVeQY

--HG--
extra : rebase_source : bf45336df86147657d2e851fadff6c25672d6288
extra : histedit_source : 517be1662712adb718f459f6f2c3a3fe6972e67b
2018-06-27 18:11:38 -05:00
Ryan Hunt 533d5ab90b Bug 1471761 - Remove unused ContainsOnlyColoredGlyphs. r=mattwoodrow
MozReview-Commit-ID: JQlkVnV2sz8

--HG--
extra : rebase_source : 1b424f810c19b68f7552032614bce57ed329daf0
extra : histedit_source : d15bde33953b20469fd205f3a0c720f8cae0c08d
2018-06-27 18:11:06 -05:00
Ryan Hunt 6497093aa2 Bug 1471261 - Add global locking around FT_Load_Glyph to work around postscript hinter global data. r=lsalzman
MozReview-Commit-ID: 9ohfqUnPxMc

--HG--
extra : rebase_source : b4a0e02cd0685a1623cc2bd0ffdc34429f3b8729
2018-06-26 11:30:13 -04:00
Lee Salzman 9e14da3f5a Bug 1470515 - refactor ScaledFontFreeType for Android WR. r=rhunt
--HG--
rename : gfx/2d/NativeFontResourceFontconfig.cpp => gfx/2d/NativeFontResourceFreeType.cpp
rename : gfx/2d/NativeFontResourceFontconfig.h => gfx/2d/NativeFontResourceFreeType.h
rename : gfx/2d/ScaledFontCairo.cpp => gfx/2d/ScaledFontFreeType.cpp
rename : gfx/2d/ScaledFontCairo.h => gfx/2d/ScaledFontFreeType.h
2018-06-14 16:42:56 -07:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Emilio Cobos Álvarez 1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Lee Salzman 5cf4237333 Bug 1464094 - follow-up - check that dlsym succeeded in ApplyVariations. r=me
MozReview-Commit-ID: 5lrrnFVKMS0
2018-06-01 15:39:50 -04:00
Lee Salzman 6069a3aae9 Bug 1464094 - follow-up - check that dlsym succeeded. r=me
MozReview-Commit-ID: L6jOU6C9CHS
2018-06-01 15:32:33 -04:00
Lee Salzman 50e6372cf9 Bug 1464094 - print font variations as paths for PDF/PS output. r=jfkthame
MozReview-Commit-ID: 3sPKD4pNwdy
2018-06-01 13:08:57 -04:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Andrew Osmond d76ab26901 Bug 1462355 - Part 8. Avoid allocating on the heap in DrawableFrameRef. r=tnikkel
We can easily use Maybe<DataSourceSurface::ScopedMap> instead of
allocated the map on the heap. This does require some minor changes to
ScopedMap to properly support moves, but should be much more efficient.
2018-05-29 08:36:13 -04:00
jmuizelaar@mozilla.com e6ddc950f8 Bug 1452375 - sse3-scaler: make sure iter->x/y is representable. r=sotaro 2018-05-29 14:27:09 +09:00
jmuizelaar@mozilla.com fc530ca316 Bug 1452375 - ssse3-scaler: handle init failure r=sotaro 2018-05-29 14:26:38 +09:00
Kartikaya Gupta 8e203673f1 Bug 1463416 - use new WR subpixel positioning API from WR PR 2738. r=Gankro
Patch originally developed on bug 1458921 but needs to land with the WR update.

MozReview-Commit-ID: 82BYyNWBAfn

--HG--
extra : rebase_source : e6bca2f446c019fd41a37c2c28db73bbe1cfc216
2018-05-26 11:09:21 -04:00
Hiroyuki Ikezoe 5c588a8653 Bug 1464627 - Fix the spec link to 3D rotation matrix. r=emilio DONTBUILD
MozReview-Commit-ID: F5P4pCvD0Ww

--HG--
extra : rebase_source : 8c97814986517b81affa39c3be06e18427d1e4e8
2018-05-27 09:55:06 +09:00
Bas Schouten 2c20988af9 Bug 1457110: Restore behavior of maintaining width/height when one of the two is exactly zero. r=jrmuizel
MozReview-Commit-ID: 5OpjfTnJQxe
2018-05-25 18:16:52 +02:00
Lee Salzman 2f14d46de8 Bug 1463244 - cleanup of swizzle stride calculations. r=rhunt
MozReview-Commit-ID: GMXRKnu8zHB
2018-05-25 00:56:22 -04:00
Bob Owen 8a6b8bfbbf Bug 1462049: Fix MemStream allocation to only allocate its capacity. r=jrmuizel 2018-05-16 18:26:24 +01:00
Ryan Hunt 2f01e497c3 Bug 1454978 - Move MOZ_ASSERT(mIsMapped) into mChangeMutex. r=bas
We must check mIsMapped inside mChangeMutex or else we could run into a race condition where
the source surface is subsequently mapped again before the function terminates. This was
being hit on try.

MozReview-Commit-ID: 1eot3DVW8VD

--HG--
extra : rebase_source : 19f2514d9e2412ee5fe7c99844b7f64f78a7425e
2018-04-25 12:44:58 -05: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
Andrew Osmond 63d93fdc78 Bug 1425484 - Part 3. Integrate shared surfaces with the blob image recordings. r=jrmuizel 2018-04-26 19:00:16 -04:00
Bas Schouten 8338ab994b Bug 1387399: Add SIMD optimizations for methods used frequently in nsRect. r=jrmuizel
This improves the DisplayList Mutate Talos test by about 5% on windows, as well as numerous smaller improvements on DisplayList heavy tasks.

MozReview-Commit-ID: tlEtPjqWI4
2018-04-19 15:56:29 +02:00
Jonathan Watt 156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Jonathan Kew 4b2b2d4c9f Bug 1455569 - Handle variation settings of system-installed variation fonts when creating CTFont from CGFont on High Sierra. r=lsalzman 2018-04-20 17:18:03 +01:00
Cosmin Sabou b9a82af44a Backed out 2 changesets (bug 1387399) for OSX reftests permafailures on attachment-local-positioning-2.html. a=backout
Backed out changeset b78a225fa8c9 (bug 1387399)
Backed out changeset 4beeacb75bf5 (bug 1387399)
2018-04-20 06:47:41 +03:00
Bas Schouten 0dee5c2745 Bug 1387399: Add SIMD optimizations for methods used frequently in nsRect. r=jrmuizel
This improves the DisplayList Mutate Talos test by about 5% on windows, as well as numerous smaller improvements on DisplayList heavy tasks.

MozReview-Commit-ID: tlEtPjqWI4
2018-04-19 15:56:29 +02:00
Jonathan Kew 8cc9d24a4f Bug 1454094 - Explicitly copy font variation settings from CGFont when creating a CTFont only on macOS Sierra; on HighSierra, rely on Core Text to automatically propagate the required settings. r=lsalzman 2018-04-18 22:08:41 +01:00
Jonathan Kew 94238d9823 Bug 1452973 - Update NS_FONT_STRETCH_* constants to values based on the percentage definitions in css fonts 4. r=jwatt 2018-04-16 10:00:57 +01:00
Miko Mynttinen 0b8872867b Bug 1393367 - Change MOZ_ASSERT to MOZ_RELEASE_ASSERT. r=mstange, r=fbraun 2018-04-12 14:18:03 +02:00
Jonathan Watt 1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Andrew Osmond f17c1700f1 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 13:33:15 -04:00
Andrew Osmond 74807c64ae Backed out changeset e5336e51b77f (bug 1452467) for Windows static analysis build bustage on a CLOSED TREE. r=aosmond 2018-04-13 10:14:12 -04:00
Andrew Osmond 117614d724 Bug 1452467 - Make native font resource memory allocations fallible. r=lsalzman 2018-04-13 09:41:29 -04:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Lee Salzman dc3fc2506c Bug 1450814 - generic implementation of DrawTarget::Blur using LockBits. r=rhunt
MozReview-Commit-ID: 2jROASoiPQd
2018-04-10 16:46:32 -04:00
Robert Longson 36466d75ed Bug 1451066 - One t in detach r=jmuizelaar
--HG--
extra : rebase_source : 00669d1975e41963a2dc030d76c7edf78fcd1593
2018-04-03 10:54:00 +03:00
Lee Salzman 3ffd2fdb72 Bug 1451845 - use SkCanvas layer clip image for DrawTargetSkia::PushLayer mask. r=jrmuizel
MozReview-Commit-ID: BwkwiorvmVY
2018-04-05 14:57:11 -04: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