Commit Graph

305 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
c2622cfcd0 Backed out changeset 504e5b1de987 (bug 1376215) for bustage 2017-06-26 13:07:09 +02:00
Kartikaya Gupta
b459b56298 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: AgMyNapY2Og

--HG--
extra : rebase_source : d8522d8e806522a4a0e8b2cd1669db0374bd5e63
2017-06-25 14:45:54 -04:00
Markus Stange
99dd420f6b Bug 1368846 - Display the window buttons when webrender is used. r=kats,mattwoodrow
MozReview-Commit-ID: Ki4ONGxtzyO

--HG--
extra : rebase_source : b4b223ad64a117cee60fc19819833855b871f95a
2017-06-21 18:58:41 -04:00
Jeff Muizelaar
0de540ca2e Bug 1375534 - Add bindings for setting transform style to PushStackingContext. r=kats 2017-06-22 17:30:27 -04:00
Jeff Muizelaar
29a6af3f3d Bug 1375515 - Add the ability to convert RoundedRects to the WebRender form r=kats 2017-06-22 12:34:48 -04:00
Jeff Muizelaar
e16b0717ca Bug 1373861. Pass a built display list to PushBuiltDisplayList by reference instead of value. r=Ganrko
Previously we needed to pass by value and that was causing us to clear out our
prebuilt display list when we actually wanted to keep it around.

The rust code ended up doing a bit of a silly dance but that's better than copying the display list around.
2017-06-21 18:40:13 -04:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Kartikaya Gupta
df9b856f24 Bug 1373381 - Update for NestingIndex change in WR cset 229cf3a. r=mrobinson
MozReview-Commit-ID: CK2andK4v6I

--HG--
extra : rebase_source : 44f9511d97fb80a8f5c8928e31199fb02f405977
2017-06-20 09:38:51 -04:00
Kartikaya Gupta
aed52fd94e Bug 1373381 - Update RGBA8 to BGRA8 since it was renamed in WR cset 264d53d. r=jrmuizel,kvark
MozReview-Commit-ID: 9iGffjS0sKs

--HG--
extra : rebase_source : b2698c9445a4299324615e76b5f50cff91d48796
2017-06-20 09:38:14 -04:00
Kartikaya Gupta
e49c2ac396 Bug 1373381 - Update call to push_built_display_list due to API change in WR cset 4eea6ae. r=jrmuizel,mrobinson
MozReview-Commit-ID: 4WCVnEbf22m

--HG--
extra : rebase_source : 6ad40f37d54d5b461ca02a0c685d86be447bb780
2017-06-20 09:38:05 -04:00
Kartikaya Gupta
40bd0b7997 Bug 1373381 - Update webrender_bindings version numbers and generated header. r=jrmuizel
MozReview-Commit-ID: IVHRPGJedSq

--HG--
extra : rebase_source : 3e03175c117fd1e458e2dfa9a92f0acec267723a
2017-06-20 09:37:08 -04:00
Kartikaya Gupta
beb80358ab Bug 1373378 - Do a better job tracking the ancestor scrollids in DisplayListBuilder. r=jrmuizel
In some cases we need to know the ancestor scrollid of a scrollid that we had
previously pushed onto the stack and then subsequently popped off. Since that
scrollid is no longer actually on the stack at the time of the query, we would
return Nothing(). Instead, this patch adds a map to "remember" previously
encountered scrollids and their ancestors, so that these queries can be correctly
handled.

MozReview-Commit-ID: BrtEv88ZysX

--HG--
extra : rebase_source : a14d72cd535c5cf7f57691b7d8be9aaf26303709
2017-06-16 15:12:24 -04:00
Sebastian Hengst
d70c8aa98b merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-16 09:52:22 +02:00
sotaro
61c0f84377 Bug 1372512 - Fix webrender Key leaks of WebRenderBridgeParent on abnormal shutdown r=kats
This bug handles abnormal client shut down case and Tab move between different windows.

Abnormal client shut down case, WebRenderBridgeParent does not receive IPC messages that are sent during WebRenderLayerManager and WebRenderBridgeChild destruction. In this case, webrender keys except keys of external images are not removed from webrender. Abnormal shut down could happen when content process was crashed or content process was killed by ContentParent if shutdown takes too long time.

In the tab move case, the WebRenderBridgeParent will need to be re-bound to a different CompositorBridgeParent and webrender, and so will need to clear all its related keys from the old webrender. This will happen in a future patch.
2017-06-16 15:31:01 +09:00
Nicolas Silva
f209188047 bug 1373135 - Mark wr_thread_pool_delete destructor-safe. r=kats 2017-06-15 14:20:12 +02:00
Sebastian Hengst
1b26da1b2f merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-15 11:17:07 +02:00
JerryShih
6175226606 Bug 1372803 - Remove the unnecessary AsMacIOSurfaceTextureHostOGL() interface in RenderTextureHostOGL. r=sotaro
This function is not necessary in our current implementation.

MozReview-Commit-ID: IyfzLTs3uQ6
2017-06-15 17:07:46 +08:00
Bobby Holley
edc99fdc0c Bug 1341102 - Cherry-pick 0.8 rayon bump for in-tree webrender. r=kats
MozReview-Commit-ID: HZmoxOQzHrk
2017-06-14 20:21:38 -07:00
Wes Kocher
c2afdb09bd Backed out changeset 5df8f9f0a5b9 (bug 1370430) to see if it unbreaks builds a=backout CLOSED TREE
MozReview-Commit-ID: G2snPHLTZg5

--HG--
rename : third_party/rust/euclid-0.13.0/src/matrix2d.rs => third_party/rust/euclid/src/matrix2d.rs
rename : third_party/rust/euclid-0.13.0/src/matrix4d.rs => third_party/rust/euclid/src/matrix4d.rs
extra : amend_source : 796c79ec645c0d1d357d052585ef9da24ec887fe
2017-06-13 19:16:09 -07:00
Wes Kocher
09a205279b Merge m-c to inbound, a=merge
MozReview-Commit-ID: 7AS5EEH6buZ
2017-06-13 18:36:04 -07:00
Wes Kocher
1af6d5cf57 Merge inbound to central, a=merge
UPGRADE_NSS_RELEASE
MozReview-Commit-ID: CBIFPwA5aNp

--HG--
extra : amend_source : 035a5be59d0046a643d0f836a95195e8c4ade4a6
2017-06-13 18:27:10 -07:00
Kartikaya Gupta
594d9df8f5 Bug 1370430 - Update webrender to cset 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5. r=jrmuizel
In addition to update webrender/ and webrender_traits/, this updates
the webrender_bindings dependency on euclid to euclid-0.14.4. It also
updates some webrender_bindings code for this dependency update, and
for the BlobImageRenderer API change in WR cset 36a9117.

MozReview-Commit-ID: JlmTHrFdfUM

--HG--
rename : third_party/rust/euclid/src/matrix2d.rs => third_party/rust/euclid-0.13.0/src/matrix2d.rs
rename : third_party/rust/euclid/src/matrix4d.rs => third_party/rust/euclid-0.13.0/src/matrix4d.rs
2017-06-13 11:10:14 -04:00
Kartikaya Gupta
e5fa0b8e06 Bug 1372321 - Log the mask rect when passing a WrImageMask to WR. r=jrmuizel
MozReview-Commit-ID: 3CdjfiwzZiJ

--HG--
extra : rebase_source : d3a6aac4042412d82aa1c3a5f47a40230d5297eb
2017-06-13 08:42:39 -04:00
Kartikaya Gupta
34ddac837f Bug 1372321 - When pushing a clip item, ensure the clip rect and mask rect are relative to the content rect. r=mrobinson+572841
MozReview-Commit-ID: BGnsq9qoinV

--HG--
extra : rebase_source : 1899a2b27e78c7552effc7ac2d4c1703a9ebbe30
2017-06-13 08:42:37 -04:00
Kartikaya Gupta
1e6ddf03d5 Bug 1372912 - Make the clip id more strongly typed. r=jrmuizel,mrobinson
This patch is not really needed, but it avoids accidental conversion
between FrameMetrics::ViewID (which represents a scrolling clip) and a
uint64_t id for a non-scrolling clip.

MozReview-Commit-ID: JriIfpECHe7

--HG--
extra : rebase_source : a7af8465c9c62a60856c190da64667439233f4b0
2017-06-15 17:02:20 -04:00
Sebastian Hengst
8d132d70e6 Backed out changeset 8176859f8b70 (bug 1372912) 2017-06-15 22:58:57 +02:00
Kartikaya Gupta
f910c3f66e Bug 1372912 - Make the clip id more strongly typed. r=jrmuizel,mrobinson
This patch is not really needed, but it avoids accidental conversion
between FrameMetrics::ViewID (which represents a scrolling clip) and a
uint64_t id for a non-scrolling clip.

MozReview-Commit-ID: BU7p4WNocXa

--HG--
extra : rebase_source : 0cf69ca0a7b716bd9ad5c3cef114a3b99ec00e1b
2017-06-15 09:41:46 -04:00
peter chang
c09bd44dec Bug 1371114 - Add gecko profiler labels for WebRender, r=kats
MozReview-Commit-ID: 4TRZgV8X1Ml

--HG--
extra : rebase_source : 1152c3a1d3444ebf91d55b2e2de4f123e1139a7f
2017-06-09 11:56:13 +08:00
Kartikaya Gupta
1bcefeafef Bug 1368496 - Expose the push_clip_and_scroll_info API in WR via WebRenderAPI. r=jrmuizel
MozReview-Commit-ID: f8gIDoUDC1

--HG--
extra : rebase_source : 12a7c8b9d466157ec63f3e57f77ab50b30f9b4fe
2017-06-08 11:34:01 -04:00
Kartikaya Gupta
25de5f333c Bug 1368496 - Track the pushed clip and scroll IDs. r=jrmuizel
Tracking the active clips and scroll layers is helpful for implementing
fixed-position type stuff, because we will need to answer questions like
"what is the ancestor scroll layer of this other scroll layer that is
somewhere on the stack" and "what is the currently active stack of
non-scrolling clips". This patch also adds a couple of methods to
WebRenderAPI that answers questions like these.

MozReview-Commit-ID: 9bgOW3Z8Tbp

--HG--
extra : rebase_source : 382f1d476217739d9e023e05d8b3886f268c6b72
2017-06-08 11:34:00 -04:00
JerryShih
b28ccb02ff Bug 1366502 - Update the thread model for RegisterExternalImage(), UnregisterExternalImage() and GetRenderTexture() call. v2. r=sotaro
If we call UnregisterExternalImage() at non-render-thread and decrease the RenderTextureHost's ref-count to zero, the RenderTextureHost will be released in non-render-thread.
That will cause some problems if we use some thread-specific functions in ~RenderTextureHost().
This patch uses a message loop in UnregisterExternalImage() to resolve this problem.

MozReview-Commit-ID: CDazxGkE1cK
2017-06-07 23:44:05 +08:00
JerryShih
e76df89dc3 Bug 1366502 - Make sure the RenderTextureHost is released in render thread. r=sotaro.
The RenderTextureHost might calls some thread-specific functions(e.g. OpenGL calls) in ~RenderTextureHost(). Add a checking here to prevent this problem.

MozReview-Commit-ID: 62QlavmXOig
2017-06-07 23:44:05 +08:00
JerryShih
77ea08e890 Bug 1366502 - Update BufferTextureHost and RenderBufferTextureHost for video pipeline. r=sotaro
WR supports the planar-ycbcr image format. We turn to use the planar-ycbcr image to get rid of the software-ycbcr-to-rgb color format conversion(using libyuv) in gecko.

The BufferTextureHost will use 3 image keys for SurfaceFormat::YUV format.
The RenderBufferTextureHost will also use 3 DataSourceSurfaces to represent the 3 channel data in planar-ycbcr format.

MozReview-Commit-ID: 3mMreSzKnMv
2017-06-07 23:44:04 +08:00
JerryShih
57f874da91 Bug 1366502 - Update the thread checking for WR image functions. r=sotaro
With the video pipeline, we could call the WR image functions in compositor thread.

MozReview-Commit-ID: LtaihkLnbL3
2017-06-07 23:44:03 +08:00
Ryan VanderMeulen
6cb217315a Backed out 12 changesets (bug 1366502) for causing intermittent QuantumRender debug crashtest crashes on a CLOSED TREE.
Backed out changeset 42350bacb0bc (bug 1366502)
Backed out changeset 7f98b7f60e58 (bug 1366502)
Backed out changeset 265e39153027 (bug 1366502)
Backed out changeset cf598918bb1b (bug 1366502)
Backed out changeset e2f21ee861e5 (bug 1366502)
Backed out changeset f7fcc15d8f90 (bug 1366502)
Backed out changeset 22408b6a1ad1 (bug 1366502)
Backed out changeset 8846dac9ee35 (bug 1366502)
Backed out changeset d5225d81b832 (bug 1366502)
Backed out changeset 82f5a21b53a6 (bug 1366502)
Backed out changeset 2b20aebef47d (bug 1366502)
Backed out changeset 95f4d82e3d79 (bug 1366502)
2017-06-06 18:06:42 -04:00
Martin Robinson
7d937678f4 Bug 1365972 - Add initial WebRender support for nsDisplayFilter. r=rhunt, r=mattwoodrow 2017-06-06 06:28:00 -04:00
JerryShih
719611f82b Bug 1366502 - Update the thread model for RegisterExternalImage(), UnregisterExternalImage() and GetRenderTexture() call. v2. r=sotaro
If we call UnregisterExternalImage() at non-render-thread and decrease the RenderTextureHost's ref-count to zero, the RenderTextureHost will be released in non-render-thread.
That will cause some problems if we use some thread-specific functions in ~RenderTextureHost().
This patch uses a message loop in UnregisterExternalImage() to resolve this problem.

MozReview-Commit-ID: CDazxGkE1cK
2017-06-06 19:18:40 +08:00
JerryShih
3c7cfd03af Bug 1366502 - Make sure the RenderTextureHost is released in render thread. r=sotaro.
The RenderTextureHost might calls some thread-specific functions(e.g. OpenGL calls) in ~RenderTextureHost(). Add a checking here to prevent this problem.

MozReview-Commit-ID: 62QlavmXOig
2017-06-06 19:18:40 +08:00
JerryShih
620a1df76e Bug 1366502 - Update BufferTextureHost and RenderBufferTextureHost for video pipeline. r=sotaro
WR supports the planar-ycbcr image format. We turn to use the planar-ycbcr image to get rid of the software-ycbcr-to-rgb color format conversion(using libyuv) in gecko.

The BufferTextureHost will use 3 image keys for SurfaceFormat::YUV format.
The RenderBufferTextureHost will also use 3 DataSourceSurfaces to represent the 3 channel data in planar-ycbcr format.

MozReview-Commit-ID: 3mMreSzKnMv
2017-06-06 19:18:39 +08:00
JerryShih
c23ae2a1b2 Bug 1366502 - Update the thread checking for WR image functions. r=sotaro
With the video pipeline, we could call the WR image functions in compositor thread.

MozReview-Commit-ID: LtaihkLnbL3
2017-06-06 19:18:38 +08:00
sotaro
807999b9d6 Bug 1345054 part 1 - Allocate pipleline for each video r=nical 2017-06-02 16:11:34 +09:00
sotaro
e155c862e7 Bug 1363958 - Fix WebRenderLayerManager::FlushRendering() r=nical 2017-06-02 08:07:59 +09:00
Kartikaya Gupta
0b60039322 Bug 1368551 - Don't send transforms to WR in push_stacking_context if they are identity. r=pchang
If we set a transform in push_stacking_context, it changes the internal
WebRender behaviour to make that stacking context a reference frame, and
things inside it are positioned differently. This is true even if the
transform is an identity transform.

In most cases we are hitting this and sending an identity transform
through, when in fact we want to be sending a None value to WebRender so
that it doesn't create reference frames. This is a partial fix, a proper
fix will be done in bug 1345577 by separating the CSS transform from the
other transforms that FrameLayerBuilder invents.

MozReview-Commit-ID: ElSs3hFMD2D
2017-06-01 09:17:17 -04:00
Kartikaya Gupta
c054f05ef3 Bug 1368551 - Remove unneccessary overload of PushStackingContext. r=pchang
This overload is only called in one place, so we can just inline it. It
makes the API a little simpler.

MozReview-Commit-ID: H55IUduUSiJ
2017-06-01 09:17:16 -04:00
Kartikaya Gupta
1c8776063e Bug 1367734 - Tone down webrender's memory usage to avoid OOMing during media mochitests. r=kvark
MozReview-Commit-ID: 9RIR37ZOSFR
2017-06-01 08:57:32 -04:00
Kartikaya Gupta
cab614e181 Bug 1367734 - Update webrender to cset a54cc729259588dd1ff52c86d0c62cb2a1767137. r=jrmuizel,jerry
In addition to updating webrender and webrender_traits, this patch:
- bumps the euclid dependency in webrender_bindings to match webrender
- updates the Cargo.lock files and re-vendors third-party rust packages
- updates the push_yuv_image callers due to an API change in WR cset a4b9e25.
2017-06-01 08:57:10 -04:00
sotaro
2e1b9ac498 Bug 1368483 - Pass WrColor in wr_api_set_root_display_list() r=nical 2017-06-01 09:53:58 +09:00
Kartikaya Gupta
2c6ff0ad8b Bug 1368487 - Add some default-disabled logging functionality to WebRenderAPI.cpp r=jrmuizel
MozReview-Commit-ID: DAqeAEyjCTm
2017-05-29 11:40:49 -04:00
Kartikaya Gupta
87a0d25e76 Bug 1365934 - Update webrender to 76a3213080ca5c2e2a612c3023c50c81a111fd55. r=jrmuizel,kvark
This includes a change to bindings.rs for an API change to the readback function
in webrender cset 052b0a7.

MozReview-Commit-ID: K9eMrF3O6OX
2017-05-25 13:27:55 -04:00