Commit Graph

2614 Commits

Author SHA1 Message Date
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