Граф коммитов

36094 Коммитов

Автор SHA1 Сообщение Дата
Botond Ballo 1e7c3bd30f Bug 1613195 - Initialize LayersId::mId to 0. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D63987

--HG--
extra : moz-landing-system : lando
2020-02-25 19:34:15 +00:00
Simon Giesecke aaf6cb4e75 Bug 1617628 - Hide nsBaseHashtable Put overloads in nsRefPtrHashtable subclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63899

--HG--
extra : moz-landing-system : lando
2020-02-25 17:03:36 +00:00
Martin Stransky a37d672244 Bug 1617575 [Wayland] Don't pass invalid file descriptors to SurfaceDescriptorDMABuf, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D63850

--HG--
extra : moz-landing-system : lando
2020-02-25 13:48:39 +00:00
Andrew Osmond fbaa72bc71 Bug 1617493 - Rasterize SVG patterns in content process into a shared surface for WebRender. r=jrmuizel
In DrawTargetRecording::CreateSimilarDrawTarget, we would originally
create a new DrawTargetRecording. For resources that are shared, such as
SVG patterns, we would do the same work for each blob image tile. This
can get expensive if the pattern is large. Now we check a size
threshold, and if passed, we create a DrawTargetSkia backed by a
SourceSurfaceSharedData. When we want a snapshot, we now try to get the
shared surface instead if available. The recording infrastructure
already knows how to handle the lifetimes and use of external IDs for
shared surfaces, so now we rasterize the pattern once for all the blob
tiles. In an ideal world we would do this in the compositor process
once, but that requires more changes, and this is useful as a stopgap in
the meantime.

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

--HG--
extra : moz-landing-system : lando
2020-02-25 13:56:23 +00:00
Simon Giesecke 32c9aeaad4 Bug 1617542 - Remove nsRefPtrHashtable::Put overload accepting already_AddRefed and adapt all uses. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63865

--HG--
extra : moz-landing-system : lando
2020-02-25 09:36:12 +00:00
Andreea Pavel 1f0dedc29d Backed out 2 changesets (bug 1596513) for webrender wrench bustages on a CLOSED TREE
Backed out changeset 49e61b566da1 (bug 1596513)
Backed out changeset 889cee140af8 (bug 1596513)
2020-02-25 09:37:45 +02:00
cbrewster b11401a6e1 Bug 1596513: Part 2: Allow for floating point dx/dy on feDropShadow attributes r=nical
WebRender expects drop shadow dx/dy to be in user space, which is a floating point value.
Before this, a dx/dy such as (0.2, 0.2) was truncated to (0, 0) resulting in no offset of the shadow.

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

--HG--
extra : moz-landing-system : lando
2020-02-25 06:05:36 +00:00
cbrewster 049a3f19c3 Bug 1596513: Part 1: Take scale factors into account when rendering drop shadows in WebRender r=gfx-reviewers,kvark
Differential Revision: https://phabricator.services.mozilla.com/D63441

--HG--
extra : moz-landing-system : lando
2020-02-25 06:02:59 +00:00
Dzmitry Malyshau 5437a922a7 Bug 1614702 - WebGPU textures, texture views, and samplers r=jgilbert,webidl,smaug
this change adds an ability to create WebGPU textures, views, and samplers

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

--HG--
extra : source : 8f51a5fac21cb52e2ddb647f0b99a9bfccb41f6a
2020-02-24 20:12:16 +00:00
Miko Mynttinen 5a00de3d66 Bug 1616422 - Part 2: Update display item cache state after call to CreateWebRenderCommands() r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63276

--HG--
extra : moz-landing-system : lando
2020-02-25 00:08:19 +00:00
Miko Mynttinen 69f1544841 Bug 1616422 - Part 1: Refactor WR display item caching and add additional checks r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63275

--HG--
extra : moz-landing-system : lando
2020-02-25 00:07:07 +00:00
Daniel Varga b8dccd6369 Backed out 2 changesets (bug 1616422) for causing webrender-lint-tidy failures
CLOSED TREE

Backed out changeset 3d44ebc7aed0 (bug 1616422)
Backed out changeset d17dbf82cdd0 (bug 1616422)
2020-02-25 01:33:21 +02:00
Miko Mynttinen 30b1a8c63f Bug 1616419 - Add nsPaintedDisplayItem::CanBeCached() to allow finer control of when display items can be cached r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63274

--HG--
extra : moz-landing-system : lando
2020-02-24 23:17:28 +00:00
Miko Mynttinen 2d36bc960e Bug 1616422 - Part 2: Update display item cache state after call to CreateWebRenderCommands() r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63276

--HG--
extra : moz-landing-system : lando
2020-02-24 23:01:12 +00:00
Miko Mynttinen e8234095c0 Bug 1616422 - Part 1: Refactor WR display item caching and add additional checks r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63275

--HG--
extra : moz-landing-system : lando
2020-02-24 23:00:34 +00:00
Jim Blandy 5ea7b962f8 Bug 1617747: Fix doc comments for LinearGradientKey and RadialGradientKey. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D63965

--HG--
extra : moz-landing-system : lando
2020-02-24 23:02:55 +00:00
Dorel Luca 0d23881940 Backed out changeset 8f51a5fac21c (bug 1614702) for build-notarization failures. CLOSED TREE 2020-02-25 00:54:54 +02:00
Jamie Nicol a72934e6f3 Bug 1614679 - Cache compiled shaders to disk even after startup. r=jrmuizel
Previously we only saved shaders to disk on the tenth frame, meaning
shaders compiled afterwards would not be cached and would need to be
recompiled in future runs of the application. This change makes it so
that we cache shaders to disk regardless of which frame they are
compiled in.

We continue to treat only the shaders used within the first ten frames
as the "startup shaders", meaning only those ones will be loaded on
next startup. Caching as many other shaders as possible is still
beneficial, however, as they are loaded on-demand.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 16:38:25 +00:00
Dzmitry Malyshau 757896954c Bug 1614702 - WebGPU textures, texture views, and samplers r=jgilbert,webidl,smaug
this change adds an ability to create WebGPU textures, views, and samplers

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

--HG--
extra : moz-landing-system : lando
2020-02-24 20:12:16 +00:00
Doug Thayer b405df3a9a Bug 1615921 - Skip writing to pdf file if shutting down r=jwatt
We are intending to advance the toolkit.shutdown.lateWriteChecksStage
pref, to collect information (and crash on DEBUG) about writes which
happen during and after the xpcom-shutdown-threads notification. This
is producing failures in the PrintTargetPDF.cpp destructor because
we end up calling write_func and writing to (I presume) the target
PDF. This _feels_ like something we can just skip, so that's the
review request I am sending, but please let me know if it's critical
that we write to this file during shutdown.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 17:54:09 +00:00
Kartikaya Gupta 186b239065 Bug 1613199 - Fix hit-testing for scrollframes with hoisted scrollinfos. r=botond
In some cases (such as the case from this bug) the display list contains a
"hoisted" scrollinfo display item, which indicates the presence of a scroller
inside an inactive layer subtree (e.g. a div with certain kinds of filters).
The scrollinfo display item is "hoisted" outside the display list subtree so
that it doesn't get flattened away inside the inactive subtree. That display
item then causes the compositor hit-test regions to updated appropriately so
that APZ knows about the scrollframe inside the flattened content. This in turn
allows APZ to request main-thread scrolling for that scrollframe when input
events are directed to it.

With the WebRender codepath, the information represented by the hoisted
scrollinfo display item was being lost instead of being propagated to the
compositor. This was because the mechanism used for information propagation is
different (WebRender commands vs layers EventRegions). This patch ensures that
the scrollinfo display items also generate appropriate WebRender commands so
that the information is not lost, and WR knows about the scrollframe inside
the flattened content.

The patch includes:
- A code movement in nsGfxScrolllFrame.cpp so that necessary information can
  be provided to the nsDisplayScrollInfoLayer constructor
- Updates to nsDisplayScrollInfoLayer members to store the necessary information
- Addition of nsDisplayScrollInfoLayer::CreateWebRenderCommands which propagates
  the information to the WR display list
- A test to exercise the changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 17:26:19 +00:00
Cosmin Sabou 7f1afff492 Backed out 5 changesets (bug 1617604, bug 1617542, bug 1617546) for causing build bustages on ipc/mscom/Interceptor.cpp.
CLOSED TREE

Backed out changeset 5faa54ad950e (bug 1617542)
Backed out changeset cb38779e1eb6 (bug 1617604)
Backed out changeset 3aea18e0396f (bug 1617542)
Backed out changeset bc3eeefdfb6c (bug 1617542)
Backed out changeset b76a3aa5ff6f (bug 1617546)
2020-02-24 19:50:13 +02:00
Simon Giesecke df538d9a79 Bug 1617542 - Remove nsRefPtrHashtable::Put overload accepting already_AddRefed and adapt all uses. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63865

--HG--
extra : moz-landing-system : lando
2020-02-24 17:08:30 +00:00
Botond Ballo e78ce55431 Bug 1617317 - Use nsIDOMWindowUtils.screenPixelsPerCSSPixelNoOverride in coordinatesRelativeToScreen(). r=kats
This makes its calculation correct even for content inside RDM.

I don't think coordinatesRelativeToScreen() is currently used inside RDM,
but it might be in the future, and in any case it's good for it to be
conceptually correct.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 16:44:18 +00:00
Kartikaya Gupta 85c3d9e6a5 Bug 1617565 - Convert additional compile-conditional logging bits to MOZ_LOG. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D63868

--HG--
extra : moz-landing-system : lando
2020-02-24 16:31:04 +00:00
Nicolas Silva 6d4a857a53 Bug 1616804 - Update image to 0.23 in WebRender. r=jrmuizel
Original patch by Josh Mattews in https://github.com/servo/webrender/pull/3854

Also run mach vendor rust.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 15:56:22 +00:00
Jonathan Kew be14974fec Bug 1617596 - Move mSpaceGlyph to gfxFont instead of defining it separately in each subclass, and de-virtualize gfxFont::GetSpaceGlyph(). r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63855

--HG--
extra : moz-landing-system : lando
2020-02-24 14:36:52 +00:00
Sylvestre Ledru ca6530131a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-02-24 15:33:38 +00:00
Martin Stransky 4f58cf3e36 Bug 1617553 [Wayland] Use GL texture format instead of surface one for GL texture source, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D63836

--HG--
extra : moz-landing-system : lando
2020-02-24 12:12:33 +00:00
Andrew Osmond aca7b9ae9c Bug 1617160 - Fold the raster scale and device pixel scale into font transform. r=lsalzman
This patch folds the raster scale and device pixel scale effects into
the font transform, instead of the font size itself. This helps minimize
the quantization effect given the font size is stored as an Au
(resolution of 1/60) instead of an f32, and the shader does not
replicate that effect.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 12:18:45 +00:00
Bogdan Tara 3053d61c49 Backed out changeset 8665af6e62a6 (bug 1600793) on jcristau's request CLOSED TREE 2020-02-24 15:49:47 +02:00
sotaro 817e46a3f7 Bug 1617096 - Ensure to allocate RenderTexture by GPUVideoTextureHost r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D63617

--HG--
extra : moz-landing-system : lando
2020-02-24 02:13:18 +00:00
Bob Owen 8a7ad0fa72 Bug 1614635: Keep waiting on the remote canvas writer side while the reader hasn't closed. r=jrmuizel
It seems clear that we can get long delays waiting for Direct2D to process
things on occasion. So given that we now detect when the reader has closed,
instead of guessing at a suitably long timeout, waiting indefintely while it
hasn't closed seems like a better option.
This gives a similar behaviour to when this is just running in the content
process, because that just has to wait on any long running Direct2D calls.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 10:53:48 +00:00
Bob Owen d8b69b9e00 Bug 1558117 Part 2: Check if other side is closed while state is AboutToWait. r=jrmuizel
If the other side crashed with AboutToWait set in CanvasEventRingBuffer then in
theory we could spin forever waiting for it to change.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 10:53:43 +00:00
Bob Owen 6ff3f77570 Bug 1558117 Part 1: Add logging when we fail to read an event from canvas ring buffer. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D61826

--HG--
extra : moz-landing-system : lando
2020-02-24 11:17:31 +00:00
Bob Owen 7d0ee586b4 Bug 1598585 Part 5: Create a new reference texture on canvas device change. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D61825

--HG--
extra : moz-landing-system : lando
2020-02-24 10:51:50 +00:00
Bob Owen a8de05ad4d Bug 1598585 Part 4: Notify the content process of a canvas device change. r=jrmuizel
This sends a message to the content process on device reset/change. The content
process clears the CanvasImageCache and canvas TextureClients and then records a
new event, so the translator knows it has finished.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 11:21:27 +00:00
Bob Owen cad856864a Bug 1598585 Part 3: Detect and handle device reset in CanvasTranslator. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D60889

--HG--
extra : moz-landing-system : lando
2020-02-24 10:50:14 +00:00
Bob Owen d8ee8af896 Bug 1598585 Part 2: Make playback of Moz2D recorded events more robust. r=jrmuizel
This is generally around object creation failures and their subsequent lookup,
which can happen, for example, during device reset.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 10:49:36 +00:00
Bob Owen 481aab9295 Bug 1598585 Part 1: Make CanvasTranslator the PCanvas parent actor. r=mattwoodrow
We want to be able to send IPC messages from the translation in the parent. So
the simplest thing it move the top level actor parts of CanvasParent into
CanvasTranslator.
This patch also moves the canvas thread management parts out into a new
CanvasThreadHolder class and hopefully makes the lifecycle management of these
much more robust. This includes the use of a TaskQueue per CanvasTranslator to
manage serial processing on the canvas workers, instead of a boolean.

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

--HG--
rename : gfx/layers/ipc/CanvasParent.cpp => gfx/layers/ipc/CanvasThread.cpp
rename : gfx/layers/ipc/CanvasParent.h => gfx/layers/ipc/CanvasThread.h
rename : gfx/layers/CanvasTranslator.cpp => gfx/layers/ipc/CanvasTranslator.cpp
rename : gfx/layers/CanvasTranslator.h => gfx/layers/ipc/CanvasTranslator.h
extra : moz-landing-system : lando
2020-02-24 11:15:41 +00:00
Martin Stransky b929ff1886 Bug 1616680 [Wayland] Use widget.wayland_dmabuf_vaapi.enabled to enable VAAPI / dmabuf video playback, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D63381

--HG--
extra : moz-landing-system : lando
2020-02-24 09:50:23 +00:00
Glenn Watson 6428cbe4fc Bug 1579235 - Part 4 - Refactor more parts of brush yuv shader. r=nical
Move the UV writing function into the shared yuv.glsl include so
that the YUV compositing shader will be able to access it.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 09:10:32 +00:00
Glenn Watson a78be32d9e Bug 1616657 - Add a workaround for too many segments being generated. r=nical
If only a single segment is produced, there is no benefit to writing
a segment instance array. Instead, just use the main primitive rect
written into the GPU cache.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 09:05:47 +00:00
Greg V 82d6fe9e4b Bug 1615462 - fix missing unistd include for getpid in gfx/vr/ipc/VRParent r=kip
Differential Revision: https://phabricator.services.mozilla.com/D62840

--HG--
extra : moz-landing-system : lando
2020-02-23 15:02:16 +00:00
Jonathan Kew 7267cf1347 Bug 1616798 - Ensure SetCharMapRunnable holds a reference to the charmap. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D63461

--HG--
extra : moz-landing-system : lando
2020-02-23 12:15:00 +00:00
Sylvestre Ledru 6ff950c0a4 Bug 1617437 - gfxFontUtils.cpp: Fix two -Wnon-c-typedef-for-linkage warnings r=jfkthame
Depends on D63783

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

--HG--
extra : moz-landing-system : lando
2020-02-23 12:06:40 +00:00
Jonathan Kew f6f390050e Bug 1617037 - Don't instantiate a CTFont to implement SetupVariationRanges on macOS, just read the font tables directly. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63763

--HG--
extra : moz-landing-system : lando
2020-02-22 14:35:31 +00:00
Sean Feng 9b2bb978fc Bug 1600793 - Make the scrolling input telemetry work for WebRender r=botond,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D60046

--HG--
extra : moz-landing-system : lando
2020-02-21 19:41:46 +00:00
Chris Martin 726cba0bb5 Bug 1540776 - Change CMSOutputProfile functions to return nsArray r=gcp
Currently, the GetCMSOutputProfile() and related methods pass their output
using the old C-style "ptr, len" parameters. This makes them more difficult
to deal with later in this change when they need to be safely passed over IPC.

This refactors them to return nsTArray<uint8_t> results instead. I also
removed some old cruft and refactored the existing code.

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

--HG--
extra : moz-landing-system : lando
2020-02-21 21:27:53 +00:00
Kartikaya Gupta 484f28c86a Bug 1616591 - Migrate APZ logging to use the MOZ_LOG framework. r=botond
The MOZ_LOG framework is the canonical Gecko logging framework, and provides
better control over what gets logged and where it goes, as well as provides
additional options like process/thread/timestamp prefixing of log output. This
patch does the minimum necessary to migrate the logs; each pre-existing
logging define is converted to a log module and all pre-existing log lines are
defaulted to LogLevel::Debug.

In addition, this prevents future breakage in the logging since everything
gets compiled on at least some configurations (e.g. non-Release, non-Android
builds).

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

--HG--
extra : moz-landing-system : lando
2020-02-21 20:00:36 +00:00