Commit Graph

29108 Commits

Author SHA1 Message Date
Andrew Osmond
5567686405 Bug 1432375 - Part 2. Images decoded into an SourceSurfaceSharedData should be shared immediately. r=nical 2018-02-12 07:59:58 -05:00
Andrew Osmond
973ae6ebde Bug 1432375 - Part 1. Add ability for SharedSurfacesChild callers besides display list building to share surfaces. r=nical 2018-02-12 07:59:47 -05:00
Jonathan Kew
cf67f1fa00 Bug 1436535 - Attempt intra-family fallback even when the first-matched face was Normal style, as other weights may have a different character repertoire. r=m_kato 2018-02-12 10:20:51 +00:00
Matt Woodrow
cf9c739dc2 Bug 1435643 - Remove no longer needed layer flattening code. r=mstange 2018-02-12 19:03:09 +13:00
Jeff Muizelaar
54461122d4 Bug 1437184. Inline FillAzure() r=bas
There's only one caller so let's just eliminate inline FillAzure into
Fill.

MozReview-Commit-ID: JYpAQMkhEcS

--HG--
extra : rebase_source : 962b046405949d435537a77baea50f631a8aee72
2018-02-10 10:54:54 -05:00
Jamie Nicol
61cdff34c5 Bug 1429508 - Allow created mask surfaces to be clipped to the necessary size when replaying a recording. r=bas
Add a command CreateClippedDrawTarget to DrawTarget, which takes the
max required size and a transform between this draw target and the one
to be created. The created draw target may have its size clipped to
the size of this draw target, transformed to the new target's
space. This means that the new surface will be large enough so
that it is rendered to this draw target correctly, but not necessarily
any larger.

Usually this will just create a draw target of the requested size, for
simplicity. However, when replaying a recorded draw target we do clip
the size to the base draw target's size. This is done using a
DrawTargetTiled, so when applying the mask in PopLayer, we must take
the SourceSurface's offset in to account.

MozReview-Commit-ID: 89ONElphzLu

--HG--
extra : rebase_source : 7eebeb66a2686a7b6f4ade36f3004ebb06abc2fe
2018-02-05 17:59:42 +00:00
Jamie Nicol
4c2f14974a Bug 1429508 - Make SnapshotTiled::GetDataSurface return a surface the size of backed tiles only. r=bas
Fix the DrawTargetTiled::mRect initialization, and expose through the
virtual function GetRect(). Make SnapshotTiled::GetDataSurface()
allocate a surface the size of this rect, rather the XMost and
YMost. Callers of SourceSurface::GetDataSurface() can query
SourceSurface::GetRect() and apply the necessary offset themselves.

MozReview-Commit-ID: C31FGirQ0oK

--HG--
extra : rebase_source : ac31ae3ca0a0b188f9293c4e6898b4e4a65cad0e
2018-02-05 17:50:41 +00:00
Jamie Nicol
190d2c71c5 Bug 1429508 - Mark DrawTarget::GetSize as const. r=jrmuizel
MozReview-Commit-ID: BmhlrQjmIjW

--HG--
extra : rebase_source : 388e5a273140e7996f4943b6f28d23c3d44ccf18
2018-01-23 17:10:11 +00:00
Bogdan Tara
5bbbbe17bc Merge inbound to mozilla-central. a=merge 2018-02-10 11:57:47 +02:00
Kartikaya Gupta
3df53735f9 Bug 1434996 - Update WebRenderLayerManager::SetTransactionIdAllocator to match ClientLayerManager. r=sotaro
Changing the transaction id allocator is now handled better in
ClientLayerManager than before in that it resets the transaction id on
the new allocator to match the old allocator and avoid discontinuities
in the transaction ids. We should apply this behaviour to
WebRenderLayerManager as well, because WebRenderLayerManager was
assuming that any time the allocator changed it would automatically
start the transaction id at 1, which is not the case. In particular,
when navigating to something in the bfcache, we can reuse a pre-existing
refresh driver which might have a transaction id already greater than 1.

MozReview-Commit-ID: 8IUn1Dhnh7c

--HG--
extra : rebase_source : 0e98c96d9636c3a3ee0489ff6b6161bce7677dd7
2018-02-09 13:41:18 -05:00
sotaro
6adc289759 Bug 1436466 - Set dirty in CopyableCanvasRenderer::ClearCachedResources() r=jrmuizel
bug 1379920 changed the way of dirty flag handling. And the dirty flag was not set when CopyableCanvasRenderer::ClearCachedResources() is called. Then ShareableCanvasRenderer::UpdateCompositableClient() did not update canvas.
2018-02-10 08:13:52 +09:00
sotaro
3315d3a267 Bug 1436908 - Fix EGLSurface leak at RenderCompositorANGLE r=nical 2018-02-10 07:45:44 +09:00
Milan Sreckovic
114ff1103a Bug 1432411: Wallpaper over the case where there is no Screen. r=jgilbert
MozReview-Commit-ID: ISeBw7qxGdH

--HG--
extra : rebase_source : b023754299b5e04883c6fa0d0eb4207f71315f90
2018-02-09 13:42:17 -05:00
Kartikaya Gupta
f6bd1624da Bug 1374166 - Use waitUntilApzStable to increase test robustness. r=botond
The important part here is that the test parent page
(test_bug1151663.html) waits for paints to complete before spawning the
helper window. Otherwise, the helper window might think it's done
painting (because it is) and start running the test even though its
layer tree has not been attached to the chrome layer tree. In such a
scenario reading the APZ test data produces an empty tree for the
content layers id and causes the test to fail.

This test was written before we had waitUntilApzStable so sprinkling some
of that into the test makes it more robust in general as well.

MozReview-Commit-ID: J8rqW6dcy23

--HG--
extra : rebase_source : f9e28bd15f355c88649ff1797b1f1205824bf815
2018-02-09 12:29:21 -05:00
Botond Ballo
d6cea6bca1 Bug 1434250 - Use a Box, rather than a Rect, representation for position:sticky inner/outer rects in the Layers API. r=kats
MozReview-Commit-ID: 4LDQ3XmWynx

--HG--
extra : rebase_source : cebe70a08b27d930618f44cb3923d3ede1171724
2018-02-09 15:40:13 -05:00
Botond Ballo
82e944293f Bug 1434250 - Infrastructure for working with Box types in Gecko code. r=kats
MozReview-Commit-ID: 5fbTj6vwOwu

--HG--
extra : rebase_source : d9ed5a4c1e75426b612290050f4863b9bb7adc37
2018-02-07 12:52:37 -05:00
Botond Ballo
8cddf32578 Bug 1434250 - Add a bare-bones Box class. r=bas
A Box is like a Rect but represented as (x1, y1, x2, y2) instead of
(x, y, w, h).

The API is bare-bones at the moment; it can be extended as needed
by future users.

MozReview-Commit-ID: FWv69Y5hP6t

--HG--
extra : rebase_source : 1f717727bc724842a2f6adcba9e6cbbe50059436
2018-02-09 15:40:07 -05:00
Botond Ballo
22b21d37e2 Bug 1425243 - Intersect the clip rect in CompositorOGL::DrawGeometry() with the mask bounds if there is a mask. r=mstange
MozReview-Commit-ID: DlGQOUxUPLm

--HG--
extra : rebase_source : e968a44c64e2b46b7aa76731fd86417b6fd300c9
2018-01-31 18:58:35 -05:00
Miko Mynttinen
a84d6e8626 Bug 1434243 - Part 4: Do not create unnecessary nsDisplayCompositorHitTestInfo items r=kats,mattwoodrow
MozReview-Commit-ID: CNXMMCFFBmc

--HG--
extra : rebase_source : 5c34cef710a5f18006485814a5d29e6a43216188
2018-02-05 18:39:52 +01:00
Miko Mynttinen
c13c744de6 Bug 1434243 - Part 2: Add nsDisplayCompositorHitTestInfo support to FrameLayerBuilder r=mattwoodrow
MozReview-Commit-ID: 5RdFJDyB6RN

--HG--
extra : rebase_source : 364404b8f12397235b27a34ebe4b4492fc350ad5
2018-01-30 15:10:23 +01:00
Tiberius Oros
677b0037d2 Merge inbound to mozilla-central. a=merge 2018-02-09 12:02:51 +02:00
Lee Salzman
a0d29145a5 Bug 1396637 - disable WR subpixel positioning with FreeType. r=jrmuizel
MozReview-Commit-ID: Hu3Q9yuveRw
2018-02-08 21:42:54 -05:00
Lee Salzman
a843f0909e Bug 1431637 - free qcms_transform r_clut. r=jrmuizel
MozReview-Commit-ID: DwbIhtuGvcA
2018-02-08 21:41:03 -05:00
Dzmitry Malyshau
d2d9759d7b Bug 1433932: Avoid crashing on failing to save a capture. r=nical,kats
MozReview-Commit-ID: ARj9ww2F3gx
2018-02-08 10:49:28 -05:00
Dzmitry Malyshau
5852b9f1d6 Bug 1436190: Fixed render frame notification in wake_up(). r=nical
MozReview-Commit-ID: JHBKpAh4YDD
2018-02-08 10:49:25 -05:00
Ciure Andrei
8dd2a49ca4 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-02-08 00:33:37 +02:00
Ciure Andrei
cda04ea11e Merge inbound to mozilla-central. a=merge 2018-02-08 00:05:57 +02:00
Andrew Osmond
34935cb2ff Bug 1388020. r=nical 2018-02-07 09:33:12 -05:00
sotaro
89aba04841 Bug 1435995 - Disable DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL usage r=nical 2018-02-07 22:21:35 +09:00
Andrew Osmond
5a683f0a80 Backed out changeset d078b56f0fa6 (bug 1388020) for OS X crashtest failures. r=backout 2018-02-06 22:18:29 -05:00
Andrew Osmond
210a94af4d Bug 1388020. r=nical 2018-02-06 20:14:17 -05:00
Kartikaya Gupta
b02074bd27 Bug 1436832 - Avoid unnecessary casting. r=sotaro
MozReview-Commit-ID: 2MoJv1Wg8g4

--HG--
extra : rebase_source : 01a54b1eb730d9f14dfffdc1b2f3eb3c321ee9d2
2018-02-08 17:11:45 -05:00
Kartikaya Gupta
d1e05bf7c3 Bug 1436832 - Remove unnecessary loop. r=sotaro
MozReview-Commit-ID: ehYAwXLecX

--HG--
extra : rebase_source : 66e0a6edd1550a82eab2bbeb74da23892e757396
2018-02-08 17:11:42 -05:00
Lee Salzman
59693fdaf9 Bug 1436265 - update ClearType usage in WebRenderLayerManager. r=jrmuizel
MozReview-Commit-ID: 1m2QQAKaI25
2018-02-07 15:48:25 -05:00
Lee Salzman
7cf35e807f Bug 1436375 - add RecordedScaledFontCreation event in DrawTargetRecording::FillGlyphs. r=jrmuizel
MozReview-Commit-ID: 780xX36HeYH
2018-02-07 15:48:23 -05:00
Martin Roinson
90bbf4505c Bug 1435143 - Properly unwrap Maybe<WrScrollId> for the root scroll frame. r=kats
When comparing a Maybe<WrScrollId> to another WrScrollId we need to properly
handle the case where Nothing() signifies the root scroll frame. This is
equivalent to calling scrollId.valueOr(FrameMetrics::NULL_SCROLL_ID), as was
done before WrScrolLId replaced ViewId in the WebRender ScrollingLayersHelper.
We also have DisplayListBuilder::TopmostScrollId always return a value instead
of a Maybe, since an empty clip stack means that the current scroll id is that
of the root scroll frame.

Previously Nothing() was not equivalent to WrScrollId { 0 }, which caused the
ScrollingLayersHelper to fill the mClipAndScroll value and push another
set of clip and scroll nodes onto the WebRender display list builder.

MozReview-Commit-ID: CeatZlRXtuI
2018-02-07 10:01:56 +01:00
Kartikaya Gupta
50f41ff36b Bug 1435248 - Fix function naming. r=nical
It looks like the call chain is called ScheduleComposite on the client
LayerManager API, but then for some reason the functions in the IPDL
bridges are called ForceComposite, and then they eventually call the
ScheduleComposition function on the CompositorVsyncScheduler. This is
silly, so I renamed the IPDL bridge functions to ScheduleComposite as
well to be consistent.

MozReview-Commit-ID: D7bWpASaEtb

--HG--
extra : rebase_source : ecb0494d9461bd4ada48bfb602e7b518f0601c1b
2018-02-02 08:57:35 -05:00
Kartikaya Gupta
cc5ad5010a Bug 1435248 - Drop unnecessary virtualization of function. r=nical
This function is not overridden, so there doesn't seem to be any value
in making it virtual.

MozReview-Commit-ID: 8K34xTGtBc7

--HG--
extra : rebase_source : c7ad229f4b4de1a1ed8b8f8e782a21082c4abb12
2018-02-02 08:57:35 -05:00
Kartikaya Gupta
f2f96f5b92 Bug 1435248 - Use a Maybe<TimeStamp> instead of a bool+TimeStamp. r=nical
Minor refactoring, no functional changes.

MozReview-Commit-ID: Ct8SBxrTz8Y

--HG--
extra : rebase_source : 22556c57ec50fefa23ff8aea18815afadda0c8fa
2018-02-02 08:57:35 -05:00
Gurzau Raul
476c3b3a55 Merge inbound to mozilla-central. a=merge 2018-02-06 23:53:56 +02:00
Bas Schouten
7f06948838 Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Kartikaya Gupta
845b4048d1 Bug 1434723 - Update WR bindings for change in WR PR 2381. r=jrmuizel
MozReview-Commit-ID: ITMks4JKZd0

--HG--
extra : rebase_source : be744cb1c3115ab7bd40586b9554d8212c11468a
2018-02-06 10:32:53 -05:00
Kartikaya Gupta
2747b167d0 Bug 1434723 - Update webrender to commit 08e49649f1fc9cacff4e10ebc390babcea752236. r=jrmuizel
MozReview-Commit-ID: IoduYBMrWJk

--HG--
extra : rebase_source : 0a42653118ec2d8768235073a0509608b3605a98
2018-02-06 10:31:57 -05:00
Alexis Beingessner
8acb1d6f40 Bug 1362115 - turn on blob-images by default with webrender. r=kats
MozReview-Commit-ID: GH4Ukj01rJ5

--HG--
extra : rebase_source : 96b48cc87d31ee75b069d08f72fec259d87b957f
2018-02-01 14:00:26 -05:00
Alexis Beingessner
4d74abb6a1 Bug 1362115 - properly handle empty slices in FFI bindings. r=kats
MozReview-Commit-ID: 9Zw0RTbgsBL

--HG--
extra : rebase_source : fe44e912d0cf24e257bc31f42c2d263c70c666e8
2018-02-05 12:41:11 -05:00
Narcis Beleuzu
84cea84b12 Merge inbound to mozilla-central. a=merge 2018-02-06 11:54:42 +02:00
Margareta Eliza Balazs
9c4eafffee Backed out changeset 0c3400afa45f (bug 1425257) for failing R-e10s in slave/test/build/tests/reftest/tests/image/test/reftest/pngsuite-basic-n/basn0g01.png on a CLOSED TREE 2018-02-06 07:27:43 +02:00
Ryan Hunt
0b29c49678 Remove implicit fuzzy operator== from BaseMatrix (bug 1435406, r=mattwoodrow)
--HG--
extra : rebase_source : 2635f386b96644922a345cea3a8fca6e3614253f
extra : histedit_source : b7cc3424492f88cbd32f3f945c5af86ff43ca0d0
2018-02-02 15:14:08 -06:00
Bas Schouten
bf22a1874d Bug 1425257: Introduce a global lock to protect the dependency graph between DrawTargets. r=lsalzman
This patch takes the safest route for securing modifications to the dependency graph for D2D DrawTargets. It's possible a slightly optimal approach is possible, however lock contention should be rare and I believe this is the safest and most upliftable approach.

MozReview-Commit-ID: HGfSdEp2U5N
2018-02-06 03:08:04 +01:00
Daniel Holbert
73cea96890 Bug 1435297 part 2: (automated patch) Switch a bunch of C++ files in gfx to use our standard emacs/vim mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py.
I ran it as follows:
  python /path/to/modeline.py --fix gfx/

This patch changes all affected files to use the exact C++ mode lines from the
Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: FsPNGjFkIFV

--HG--
extra : rebase_source : 7532d0478d0af75e346102105caf5b89631457aa
2018-02-02 12:07:36 -05:00