Commit Graph

35255 Commits

Author SHA1 Message Date
sotaro
19b4d3425b Bug 1594303 - Code clean up around RenderAndroidSurfaceTextureHostOGL r=jnicol
Removes NofityForUse() functions for simplicity.

Ensure that RenderTextureHost::PrepareForUse() is called before RenderTextureHost:: Lock(). When a task of calling RenderTextureHost::PrepareForUse() is simply posted to render thread, there is a case that RenderTextureHost:: Lock() is called before PrepareForUse() .

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

--HG--
extra : moz-landing-system : lando
2019-11-08 12:52:16 +00:00
Peter Moore
e298526ed5 Bug 1575648 - don't set RUSTFLAGS='--deny warnings' (temporary fix) r=nical
This change is a temporary fix to not set RUSTFLAGS='--deny warnings'
in order to unblock https://bugzil.la/1575648 (which is time-critical).
The longer term solution for this is https://bugzil.la/1564873.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 13:57:53 +00:00
sotaro
7001d3c524 Bug 1592512 - Handle surface opacity of OS compositor surface on Windows r=gw
Differential Revision: https://phabricator.services.mozilla.com/D52322

--HG--
extra : moz-landing-system : lando
2019-11-08 10:15:07 +00:00
Nicolas Silva
2fd55dabbb Bug 1585760 - Check that GetTextureForwarder isn't null in more places. r=sotaro
Depends on D51615

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

--HG--
extra : moz-landing-system : lando
2019-11-05 01:54:54 +00:00
Nicolas Silva
8b8031bd60 Bug 1585760 - Store a flag in the TextureChild indicating use of the ImageBridge. r=sotaro
This avoids calling GetTextureForwarder during shutdown which may return a null pointer.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 01:55:23 +00:00
Nicolas Silva
6c7032b199 Bug 1585760 - Check that IPC is open before accessing parent protocol. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D49164

--HG--
extra : moz-landing-system : lando
2019-11-04 14:38:33 +00:00
Nicolas Silva
a443a5a79d Bug 1594500 - Document the memory layout of brush vertex shaders. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D52138

--HG--
extra : moz-landing-system : lando
2019-11-08 09:51:10 +00:00
joshua stein
c931d974d2 Bug 1580268: Sandbox GPU process on OpenBSD with pledge() r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D51386

--HG--
extra : moz-landing-system : lando
2019-11-07 09:56:07 +00:00
Andrew Halberstadt
21c38703ad Bug 1594907 - Fix some duplicate URL segments in firefox-source-docs, r=sylvestre
This also moves the 'mach' docs from /python/mach to /mach. The reason being
that 'mach' doesn't really have anything to do with Python other than its
implemented in it.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 23:07:20 +00:00
Barret Rennie
3e24c77cf6 Bug 1581240 - Return collected frames as a promise to JS r=bzbarsky,mstange,nika
The `setCompositionRecording` API on nsIDOMWindowUtils has been broken up into
two new APIs:

* `startCompositionRecording()`, which starts the composition recorder; and
* `stopCompositionRecording(bool writeToDisk)` which stops the composition
  recorder and either returns a Promise that resolves to the collected frames
  or returns a Promise that resolves when the frames have been written to disk.

The collected frames are serialized over IPC as part of a Shmem as to not
approach the IPC data transfer limit.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:35:04 +00:00
Barret Rennie
e62c6d736d Bug 1581240 - Add an API to retrieve the collected frames from WebRender r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D47816

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:49 +00:00
Barret Rennie
91b0a50aed Bug 1581240 - Return collected frames from the composition recorder as data URIs r=mstange
The composition recorder can now either write frames to disk as PNGs or return
the frames as an array of data URIs. This will allow us to send the collected
frames across IPC and hand them over to JS in a later patch.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:37 +00:00
Barret Rennie
59bbcf47d9 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:25 +00:00
Jeff Muizelaar
f348496d48 Bug 1594747. Update bitflags in WebRender to 1.2. r=kvark
This will help with some warnings about try!

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

--HG--
extra : moz-landing-system : lando
2019-11-07 16:57:15 +00:00
Lee Salzman
72d42a42f7 Bug 1585713 - reduce WR font size limit from 512 to 320. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D51747

--HG--
extra : moz-landing-system : lando
2019-11-07 16:51:32 +00:00
Lee Salzman
15322eed05 Bug 1585713 - disable subpixel positioning for oversized WR fonts. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D51746

--HG--
extra : moz-landing-system : lando
2019-11-07 16:51:02 +00:00
Lee Salzman
c4a8a924de Bug 1585713 - don't prune WR glyphs that were recently used. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D51340

--HG--
extra : moz-landing-system : lando
2019-11-07 16:50:28 +00:00
Martin Stransky
f677c03233 Bug 1589642 - Use gfxPlatformGtk instead of GDK_IS_X11_DISPLAY(gdk_display_get_default() to check current dispay type, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49724

--HG--
extra : moz-landing-system : lando
2019-11-07 14:28:55 +00:00
Ryan VanderMeulen
0aab0b28d6 Bug 1592165 - Update HarfBuzz to 2.6.4. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D50888

--HG--
extra : moz-landing-system : lando
2019-11-07 15:52:22 +00:00
Razvan Maries
67e6a22efa Backed out changeset e1e3835cafc7 (bug 1589642) for build bustages on nsClipboard.cpp. CLOSED TREE 2019-11-07 15:03:59 +02:00
Martin Stransky
a2d726855c Bug 1589642 - Use gfxPlatformGtk instead of GDK_IS_X11_DISPLAY(gdk_display_get_default() to check current dispay type, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D49724

--HG--
extra : moz-landing-system : lando
2019-11-07 12:30:00 +00:00
sotaro
127c0ad209 Bug 1592510 - Make partial updates with WebRender OS compositor work on Windows r=gw
Differential Revision: https://phabricator.services.mozilla.com/D51984

--HG--
extra : moz-landing-system : lando
2019-11-07 00:57:23 +00:00
Glenn Watson
a156fce9ab Bug 1594567 - Fix occluder clip rects for off-screen picture caches. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D52108

--HG--
extra : moz-landing-system : lando
2019-11-07 03:50:47 +00:00
Daniel Varga
8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie
d9aec252da Bug 1581240 - Return collected frames as a promise to JS r=bzbarsky,mstange,nika
The `setCompositionRecording` API on nsIDOMWindowUtils has been broken up into
two new APIs:

* `startCompositionRecording()`, which starts the composition recorder; and
* `stopCompositionRecording(bool writeToDisk)` which stops the composition
  recorder and either returns a Promise that resolves to the collected frames
  or returns a Promise that resolves when the frames have been written to disk.

The collected frames are serialized over IPC as part of a Shmem as to not
approach the IPC data transfer limit.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:49 +00:00
Barret Rennie
3f8aaa035d Bug 1581240 - Add an API to retrieve the collected frames from WebRender r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D47816

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:47 +00:00
Barret Rennie
cfb037a230 Bug 1581240 - Return collected frames from the composition recorder as data URIs r=mstange
The composition recorder can now either write frames to disk as PNGs or return
the frames as an array of data URIs. This will allow us to send the collected
frames across IPC and hand them over to JS in a later patch.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:45 +00:00
Barret Rennie
8323f194e5 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:43 +00:00
thomasmo
c3ba51407b Bug 1570124 - Enable mouse scrolling in FxR window r=masayuki
This change addresses two issues with vrhost sending WM_MOUSEWHEEL events:
- The point from the message had an incorrect coordinate origin. Documentation specifices that it should be screen, rather than window/client, origin. Since vrhost only knows about a position in the window, it translates the point before sending the message.
- Gecko ignores the point passed in to the window message and instead uses the point from GetMessagePos. As warnings indicate, this can be incorrect, as is exposed with vrhost. This change now uses this point from the message when available.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:38:45 +00:00
Pete Moore
ba5b8543e7 Bug 1575648 - Migrate from taskcluster.net to tools.community-tc.services.mozilla.com r=jrmuizel
[import_pr] From https://github.com/servo/webrender/pull/3793

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

--HG--
extra : moz-landing-system : lando
2019-11-06 22:05:22 +00:00
Lee Salzman
ba7cbe4ae5 Bug 1591432 - avoid creating paths for color fonts on macOS. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D52100

--HG--
extra : moz-landing-system : lando
2019-11-06 21:50:24 +00:00
Bert Peers
3478d1443a Bug 1571972 - Re-export RendererError as a public type r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D51897

--HG--
extra : moz-landing-system : lando
2019-11-05 19:24:47 +00:00
Dorel Luca
95addbb8de Backed out changeset 455d161a3fa9 (bug 1594524) for causing Wrench failure in adb wait-for-device shell cat /sys/class/power_supply/battery/input_suspend 2>/dev/null. CLOSED TREE 2019-11-06 23:38:34 +02:00
Jamie Nicol
ee126a07d2 Bug 1589666 - Disable picture caching whilst pinch-zooming. r=gw
Whilst pinch zooming, every picture cache tile gets completely
invalidated every frame. It is therefore a waste of memory bandwidth
to render in to picture cache tiles then composite those to the
screen. This change dynamically disables picture caching for frames in
which we are pinch zooming. The exception is if we are using a native
compositor, in which case picture caching will remain enabled, because
it relies on picture caching to work, and does not waste memory
bandwidth.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 19:09:55 +00:00
Markus Stange
f64c39c928 Bug 1594524 - Move the call to gpu_profile.end_frame() up so that we don't measure debug overlays. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D52090

--HG--
extra : moz-landing-system : lando
2019-11-06 19:47:47 +00:00
Glenn Watson
d97c81e852 Bug 1594305 - Only allocate compositor surfaces for tiles that are not occluded r=nical
Tiles that are occluded are generally never seen, or only seen
occasionally. To reduce the number of compositor surfaces:

 * Defer native surface allocation until after occlusion culling occurs.
 * If a tile has a native surface, then becomes occluded, drop the surface.

With this scheme, the number of unused native surfaces will always be 0
on a page that doesn't have scrolling. For a page that has a scrollable
region, there will be a small number of unused tiles retained. The unused
tiles are those that are (a) not occluded (b) not currently visible (c) are
in the display port. We retain these for a small amount of time in case
they get scrolled back on screen.

This makes the allocation patterns for native surfaces match the way
that picture cache surfaces are allocated for simple compositing mode.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 19:05:43 +00:00
Andrew Osmond
71ab20a0c6 Bug 1594114 - Add SurfaceFormat::OS_RGBA and OS_RGBX to define preferred format. r=jrmuizel
OS_RGBA and OS_RGBX are defined as the preferred surface format for the
platform and architecture, fixed at compile time. Today this will be
initially defined as B8G8R8A8. The future intent is that once all parts
of the system support all configurations, then we can use R8G8B8A8 on
certain platforms (e.g. Android, Linux, Mac) and invert it on big-endian
architectures.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 16:37:53 +00:00
thomasmo
55deef9140 Bug 1589913 - Update FxR Desktop default home page r=kip,bzbarsky
This change updates the home page to webxr.today for Firefox Realty on Desktop. Further, since WebVR is not supported yet, this change includes a way to disable WebVR specifically for FxR windows without impacting Desktop Fx.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 14:53:08 +00:00
Sebastian Hengst
a5193f0aaa Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-11-06 15:00:06 +01:00
Sebastian Hengst
80da66f898 Backed out 5 changesets (bug 1554499) for frequent crashes, at least on OS X (bug 1594381). a=backout
Backed out changeset 3a49bec95338 (bug 1554499)
Backed out changeset c802ab8cc730 (bug 1554499)
Backed out changeset f60fee484460 (bug 1554499)
Backed out changeset a49d1c9e8b14 (bug 1554499)
Backed out changeset 133cddb65f59 (bug 1554499)
2019-11-06 14:29:12 +01:00
sotaro
e008ba8ab4 Bug 1593929 - Make invalidate_rendered_frame triggers force redraw r=nical
Invalidate_rendered_frame expects full rendering in next WR rendering. Then when invalidate_rendered_frame is requested, we need to request force redraw. Otherwise, SwapChain might skip present call during partial present.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 09:00:37 +00:00
Andrew Osmond
7243a387ca Bug 1575258 - Make text rasterize, render and snap glyphs consistently. r=lsalzman
The glyph pixel space in which we rasterized glyphs differed from how we
rendered the rasterized glyphs in the shader. They need to be in
agreement because the glyph subpixel offset selected during
rasterization depends on it. This patch should make the paths consistent
with each other.

Additionally, during animations, we now snap the reference frame
relative offset ignoring the impact of any animated transforms. This
helps with minimizing glyph wiggling during the transition.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 12:17:43 +00:00
Nicolas Silva
598b3a60a9 Bug 1594091 - Rename the instance user_data field into specific_resource_address. r=gw
This user_data field is currently only used as an address for some shader-specific resource in the gpu cache. We can always rename it back to something generic if we ever need to use the bits differently in other shaders in the future.

Depends on D51884

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:06:48 +00:00
Nicolas Silva
9393a43660 Bug 1594091 - Unify text and brush instance attribute decoding. r=gw
Depends on D51883

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:06:20 +00:00
Nicolas Silva
eff2972112 Bug 1594091 - Move clip_task_address to the second half of the glyph instance y field. r=gw
Depends on D51882

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:05:42 +00:00
Nicolas Silva
04523447d2 Bug 1594091 - Move glyph_index to the second half of the glyph instance z field. r=gw
Depends on D51880

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:05:25 +00:00
Nicolas Silva
d647d338f9 Bug 1594091 - Move color_mode and subpx_dir to the first half of the glyph instance z field. r=gw
Depends on D51879

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:05:00 +00:00
Nicolas Silva
58b5d88173 Bug 1594091 - Move user_data to the glyph instance w field. r=gw
First patch in of series that will rearrange the layout of the glyph instance attributes so that it matches brush instances.
This will be needed to add a unified shader that can render the most common alpha pass primitives, including text.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:04:54 +00:00
Brindusan Cristian
9a4043957e Backed out changeset c3813936e074 (bug 1589913) for mochitest assertion failures at nsGlobalWindowInner.cpp. CLOSED TREE 2019-11-06 02:42:43 +02:00
thomasmo
3ebc22a35d Bug 1589913 - Update FxR Desktop default home page r=kip,bzbarsky
This change updates the home page to webxr.today for Firefox Realty on Desktop. Further, since WebVR is not supported yet, this change includes a way to disable WebVR specifically for FxR windows without impacting Desktop Fx.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 22:45:38 +00:00