Commit Graph

292 Commits

Author SHA1 Message Date
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
Nicolas Silva
4000bfa859 Bug 1370879 - Share the thread pool between webrender instances. r=jrmuizel 2017-06-13 17:57:16 +02:00
Nicolas Silva
fa4995fa8f Bug 1370891 - Render blob images in webrender's thread pool. r=jrmuizel 2017-06-13 17:57:11 +02:00
Nicholas Nethercote
0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Kartikaya Gupta
7691215e03 Bug 1364525 - Produce scrollbar thumb transforms. r=botond
This updates PushStateToWR to actually produce the scrollbar thumb transforms
and append them into the provided transform array.

MozReview-Commit-ID: 14xlpRQXhhq
2017-05-23 10:50:42 -04:00
Kartikaya Gupta
00e2b11a13 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
extra : rebase_source : fbe93df33f5614d61536f090a69fe1588d34a34c
2017-06-13 11:10:14 -04:00
Kartikaya Gupta
5d656fab0f Merge m-c to graphics
MozReview-Commit-ID: HvsAeMjJAIA
2017-05-19 09:30:48 -04:00
sotaro
cbec0e500e Bug 1365196 - Throttle GenerateFrame() r=kats,nical 2017-05-19 09:21:38 +09:00
JerryShih
b4f6e9c835 Bug 1362049 - Handle multiple-channel format for RenderMacIOSurfaceTextureHostOGL. v4. r=mattwoodrow
We could use NV12 or YCbCr-planar format for video playback. There will be up to 3 channels in the MacIOSurface.

MozReview-Commit-ID: 77RYntphjYy
2017-05-18 22:59:08 +08:00
JerryShih
006c192621 Bug 1362049 - Use channel_index to get the correct channel data info from RenderTextureHost. r=nical
MozReview-Commit-ID: 3LaWdfglobe
2017-05-18 22:59:07 +08:00
JerryShih
dbcaf29eae Bug 1362049 - Update the ext-image interface in WR binding. v2. r=nical
Use wr_api_add_external_image() to replace all types of ext-image adding functions.
Add a new interface wr_dp_push_yuv_interleaved_image() to put a single channel yuv_interleaved image in WR display list.

MozReview-Commit-ID: 1kDerOGwUuE
2017-05-18 22:59:07 +08:00
JerryShih
3774d02876 Bug 1362049 - Add R8G8 type in SurfaceFormat. r=bas.schouten
This R8G8 format will be used in NV12 image format.

MozReview-Commit-ID: KNJFwOasVts
2017-05-18 22:59:06 +08:00
Kartikaya Gupta
aca076b94b Merge m-c to graphics
MozReview-Commit-ID: DFNbcj14mg9

--HG--
rename : memory/mozjemalloc/jemalloc.c => memory/mozjemalloc/mozjemalloc.cpp
rename : memory/mozjemalloc/jemalloc_types.h => memory/mozjemalloc/mozjemalloc_types.h
2017-05-18 08:34:15 -04:00
sotaro
12f8ed1f22 Bug 1360701 - Remove sync wait during removing pipeline r=nical 2017-05-16 17:28:20 -07:00