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

41699 Коммитов

Автор SHA1 Сообщение Дата
Robert Mader ea68cb4546 Bug 1732443 - Remove remaining XRender leftovers,r=emilio,stransky
The few cases where we still use Xlib most likely benefit little
from Xrender. Lets drop the support for it.

Differential Revision: https://phabricator.services.mozilla.com/D126970
2021-09-30 14:14:13 +00:00
Jeff Muizelaar 1c35e18b31 Bug 1733288 - Remove ReadbackLayer. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D127020
2021-09-30 12:41:51 +00:00
Nicolas Silva c4a1b7f8e2 Bug 1733154 - Dequeue all GL errors instead of just the last one. r=gfx-reviewers,gw
According to https://www.khronos.org/opengl/wiki/OpenGL_Error glGetError pops from a queue of errors rather than only keeping track of the last error so we need to dequeue all errors when checking for them in the renderer.

Differential Revision: https://phabricator.services.mozilla.com/D126956
2021-09-30 10:28:34 +00:00
Edgar Chen ec9577a40e Bug 1726692 - End non-scrollable mouse wheel transaction when mouse moves to a different APZC. r=botond;
Differential Revision: https://phabricator.services.mozilla.com/D126080
2021-09-30 08:52:51 +00:00
stransky f6f64f06d3 Bug 1733057 [Linux] Return early when XWindow handle is missing at GLContextProviderGLX::CreateForWidget(), r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D126889
2021-09-30 07:11:19 +00:00
Timothy Nikkel 418b22a2c0 Bug 1732423. Backout https://hg.mozilla.org/mozilla-central/rev/743007ddfecc from bug 1731929 because we don't need it anymore. r=botond
Depends on D126577

Differential Revision: https://phabricator.services.mozilla.com/D126578
2021-09-30 05:55:36 +00:00
Timothy Nikkel c124ec64c9 Bug 1732423. Change units of FrameMetrics::mTransformToAncestorScale from unknown to ParentLayerToScreenScale2D. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D126577
2021-09-30 05:55:36 +00:00
Glenn Watson 9a6b42ccc0 Bug 1733021 - Remove unused get_scroll_node_state API r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D126860
2021-09-30 00:15:22 +00:00
Botond Ballo e8f2c2cf60 Bug 1733281 - Remove MaybeMatrix4x4. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D127018
2021-09-30 00:08:35 +00:00
Botond Ballo 45ae4c55f6 Bug 1733278 - Remove MaybeZoomConstraints. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D127017
2021-09-30 00:08:34 +00:00
Mike Hommey 24ac54bb8b Bug 1733034 - Fix unreachable-code-return warning in gfx. r=gfx-reviewers,nical
gfx/layers/opengl/CompositorOGL.cpp:1624:10: error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return true;
         ^~~~

Differential Revision: https://phabricator.services.mozilla.com/D126872
2021-09-29 21:44:51 +00:00
Chris Martin a00e96e1d3 Bug 1718414 - Stop canvas from initializing D3D in locked-down content process when GPU process fails r=sotaro,bobowen
Before Win32k Lockdown, Canvas would ensure that it would get the fastest possible implementation by initializing
devices in content process before allocating persistent buffers for its backing.

However, with Win32k Lockdown it's no longer possible, as initializing Direct3D and Direct2D make Win32k calls that
crash the locked-down content process.

This issue is generally solved by Remote Canvas; however, Remote Canvas is disabled if the GPU process is disabled.
If that happens, the current behavior is to attempt to initialize hardware acceleration again, causing a crash when
Win32k Lockdown is in effect.

This patch changes the behavior so that the devices will not initialize if they are in a locked-down content process,
even if Remote Canvas is disabled. The effect is that Canvas will fall back to using Skia for everything.

Differential Revision: https://phabricator.services.mozilla.com/D126761
2021-09-29 15:00:19 +00:00
Nicolas Silva 7291ad2515 Bug 1732109 - Move FrameId and FrameStamp out of render_backend.rs. r=gfx-reviewers,kvark
They are used all over the place, these kinds of types usually go in internal_types.rs

Differential Revision: https://phabricator.services.mozilla.com/D126788
2021-09-29 13:28:36 +00:00
Nicolas Silva dbb5b6af19 Bug 1732109 - Use a simpler cache entry struct for picture tiles. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126688
2021-09-29 13:28:35 +00:00
Nicolas Silva 5009de5807 Bug 1732109 - Move picture tiles out of TextureCache. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126687
2021-09-29 13:28:35 +00:00
Nicolas Silva 033509f893 Bug 1732109 - Request picture tiles explicitly and add PictureTextures::now. r=gfx-reviewers,gw
Last step before PictureTextures can be used independently.

Differential Revision: https://phabricator.services.mozilla.com/D126686
2021-09-29 13:28:35 +00:00
Nicolas Silva 00fc46d3af Bug 1732109 - Remove generic picture texture access via TextureCache::get_opt/get_opt_mut. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126685
2021-09-29 13:28:34 +00:00
Nicolas Silva 974f5003de Bug 1732109 - Move more picture-specific code out of texture_cache.rs. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126684
2021-09-29 13:28:34 +00:00
Nicolas Silva 55277c9886 Bug 1732109 - Move PictureTextures into its own file. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126683
2021-09-29 13:28:33 +00:00
Nicolas Silva 0c7a78bc23 Bug 1732109 - Remove the slab atlas allocator. r=gfx-reviewers,gw
The shelf allocator is better in all scenarios, we don't need to keep that code around.

Differential Revision: https://phabricator.services.mozilla.com/D126682
2021-09-29 13:28:33 +00:00
Glenn Watson 66e42c0032 Bug 1732838 - Split SpatialNode into scene and frame building representations r=gfx-reviewers,kvark
Just as we have a scene and frame building spatial tree, this patch
introduces a SceneSpatialNode in addition to the existing SpatialNode.

This is a much lighter spatial node, containing just what is needed
during scene building. The next step will make the scene building
spatial tree and nodes persistent across display lists.

Differential Revision: https://phabricator.services.mozilla.com/D126752
2021-09-28 21:29:05 +00:00
Glenn Watson 3ffe828827 Bug 1732828 - Move more local -> reference frame coord mapping into DL building r=gfx-reviewers,lsalzman
We need to do this mapping in order to allow primitive interning during
the DL building stage. In future, we might remove this altogether and
have Gecko supply reference-frame-relative coordinates.

Differential Revision: https://phabricator.services.mozilla.com/D126750
2021-09-28 20:50:31 +00:00
stransky ac3b9d1e54 Bug 1729656 [Wayland] Don't use gfxPlatform to configure DMABuf, r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D126821
2021-09-28 20:16:17 +00:00
Emilio Cobos Álvarez a17fc4699f Bug 1730867 - Update fuzziness in reftests. r=mstange
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.

There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.

Depends on D125826

Differential Revision: https://phabricator.services.mozilla.com/D126674
2021-09-28 17:04:35 +00:00
Michelle Goossens c159e29e05 Bug 1727943 - Part 2: Migrate mochitest, reftest and crashtest Windows 10 ccov suites from AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D125350
2021-09-28 15:27:39 +00:00
Csoregi Natalia 58cdf74c34 Backed out 3 changesets (bug 1730867) for multiple reftest failures. CLOSED TREE
Backed out changeset aed4ce969bb6 (bug 1730867)
Backed out changeset 84abb450636b (bug 1730867)
Backed out changeset bbd4d5126a19 (bug 1730867)
2021-09-28 19:47:49 +03:00
Iulian Moraru 429b427faa Backed out 7 changesets (bug 1732109) for causing wrench bustages. CLOSED TREE
Backed out changeset a54ad4336b10 (bug 1732109)
Backed out changeset 316f4cedacc9 (bug 1732109)
Backed out changeset b5ec92b8df13 (bug 1732109)
Backed out changeset 8f13a584fb29 (bug 1732109)
Backed out changeset afc30923cf87 (bug 1732109)
Backed out changeset b625a94df2a7 (bug 1732109)
Backed out changeset d647046143fc (bug 1732109)
2021-09-28 19:15:55 +03:00
Nicolas Silva c0c40e2559 Bug 1732109 - Use a simpler cache entry struct for picture tiles. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126688
2021-09-28 14:33:51 +00:00
Nicolas Silva 7311a92c7e Bug 1732109 - Move picture tiles out of TextureCache. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126687
2021-09-28 14:33:50 +00:00
Nicolas Silva 934554de7a Bug 1732109 - Request picture tiles explicitly and add PictureTextures::now. r=gfx-reviewers,gw
Last step before PictureTextures can be used independently.

Differential Revision: https://phabricator.services.mozilla.com/D126686
2021-09-28 14:33:50 +00:00
Nicolas Silva a8f79efad5 Bug 1732109 - Remove generic picture texture access via TextureCache::get_opt/get_opt_mut. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126685
2021-09-28 14:33:49 +00:00
Nicolas Silva f13ae74d8c Bug 1732109 - Move more picture-specific code out of texture_cache.rs. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126684
2021-09-28 14:33:49 +00:00
Nicolas Silva 43162c95b1 Bug 1732109 - Move PictureTextures into its own file. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D126683
2021-09-28 14:33:49 +00:00
Nicolas Silva 5ae0139cf3 Bug 1732109 - Remove the slab atlas allocator. r=gfx-reviewers,gw
The shelf allocator is better in all scenarios, we don't need to keep that code around.

Differential Revision: https://phabricator.services.mozilla.com/D126682
2021-09-28 14:33:48 +00:00
Emilio Cobos Álvarez 7a3f32b2a3 Bug 1730867 - Update fuzziness in reftests. r=mstange
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.

There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.

Depends on D125826

Differential Revision: https://phabricator.services.mozilla.com/D126674
2021-09-28 12:52:43 +00:00
criss b7aa1288e9 Backed out 5 changesets (bug 1730867) for causing multiple reftest failures. CLOSED TREE
Backed out changeset 3a0215aefdf5 (bug 1730867)
Backed out changeset 6d0aac048440 (bug 1730867)
Backed out changeset 12f9678771c8 (bug 1730867)
Backed out changeset 315dd0b76f3f (bug 1730867)
Backed out changeset 894f76b91190 (bug 1730867)
2021-09-28 06:41:46 +03:00
Mike Hommey f97bfb08a7 Bug 1732208 - Silence the unused-but-set-variable warning in gfx. r=gfx-reviewers,nical
gfx/2d/SourceSurfaceD2D1.cpp(201,20): error: variable 'options' set but not used [-Werror,-Wunused-but-set-variable]
  D2D1_MAP_OPTIONS options;
                   ^
gfx/thebes/gfxDWriteFontList.h(269,13): error: variable 'hr' set but not used [-Werror,-Wunused-but-set-variable]
    HRESULT hr = S_OK;
            ^
gfx/thebes/gfxGDIFontList.cpp(1020,12): error: variable 'cmapLoaded' set but not used [-Werror,-Wunused-but-set-variable]
      bool cmapLoaded = false;
           ^
gfx/thebes/gfxMacPlatformFontList.mm:1771:10: error: variable 'isStandardFace' set but not used [-Werror,-Wunused-but-set-variable]
    bool isStandardFace = false;
         ^
gfx/thebes/gfxPlatformFontList.cpp(1064,18): error: variable 'rejectedFallbackVisibility' set but not used [-Werror,-Wunused-but-set-variable]
  FontVisibility rejectedFallbackVisibility = FontVisibility::Unknown;
                 ^
gfx/vr/service/OculusSession.cpp(1329,12): error: variable 'bNewController' set but not used [-Werror,-Wunused-but-set-variable]
      bool bNewController = false;
           ^

Differential Revision: https://phabricator.services.mozilla.com/D126454
2021-09-28 00:02:45 +00:00
Glenn Watson 5d7639c2da Bug 1732596 - Remove Ord usage for spatial node indices r=gfx-reviewers,lsalzman
In a follow up patch, spatial nodes will be retained between
display lists if they are reused, meaning that the index of
a spatial node is no longer a meaningful indicator of whether
a node is a child/parent of another node. Because of this, we
need to remove any code that relies on comparing the numeric
value of spatial node indices.

Some time ago, we were seeing assertion failures where the
`get_relative_transform` function was being called with a child
node index that was actually a parent of the supplied parent node.

We detected this and had a band-aid solution in place, which is
removed by this patch.

There are two known cases where this was occurring (a compositor
clip on a picture cache, and when a picture cache was selected
with a scroll root below that of other clips / prims). The first
case is handled correctly - since the coord systems will be the
same and the function will early exit. The second case should no
longer occur.

If we _do_ see any regressions caused by this bug, let's investigate
and try to find the root cause so we have a better understanding
of the specific case.

Differential Revision: https://phabricator.services.mozilla.com/D126626
2021-09-27 23:07:45 +00:00
criss e98a07853d Backed out changeset ae6e736dc962 (bug 1730682) for casuing reftest failures on display-list 2021-09-28 00:35:57 +03:00
Matt Woodrow 56ed4f6cd9 Bug 1730682 - Flatten opacity before setting up clips. r=miko
Pushing the clip for the opacity item into the clip manager has a non-trivial cost, so we get better performance if we handle flattening the item before that.

Differential Revision: https://phabricator.services.mozilla.com/D125633
2021-09-27 19:49:31 +00:00
Emilio Cobos Álvarez ed47dcd1e5 Bug 1730867 - Minor tweak to fuzz ranges to account for swgl+debug.
DONTBUILD

MANUAL PUSH: Trivial orange fix CLOSED TREE
2021-09-27 20:05:10 +02:00
Emilio Cobos Álvarez 10cc507a47 Bug 1730867 - Update fuzziness in reftests. r=mstange
All these tests except the wpt one were already fuzzy due to scrollbars,
this patch just changes the fuzzy values.

There's a test which is passing now (was marked as a failure due to bug
1308702). Probably was fixed a while ago and the test was still failing
due to fuzziness.

Depends on D125826

Differential Revision: https://phabricator.services.mozilla.com/D126674
2021-09-27 13:56:50 +00:00
Glenn Watson 1df999af99 Bug 1732591 - Remove static coordinate system ids r=gfx-reviewers,lsalzman
It turns out that static coordinate systems are not particularly
useful - all we ever need to know is which parts of the tree
are in the root coordinate system.

This simplifies some upcoming patches, which allow spatial nodes
to be retained across display lists.

Differential Revision: https://phabricator.services.mozilla.com/D126625
2021-09-27 04:01:17 +00:00
Tetsuharu Ohzeki 9fe3e79bd8 Bug 1732328 - Remove dead gfx.layerscope.*** pref. r=gfx-reviewers,jrmuizel
There is no actual user of `gfx.layerscope.enabled` that toggle
LayerScope now. We can remove them.

Differential Revision: https://phabricator.services.mozilla.com/D126511
2021-09-25 16:22:24 +00:00
Chris Peterson 67f51f29e2 Bug 1732481 - Fix non-unified build errors in gfx. r=gfx-reviewers,jrmuizel
Building with ac_add_options --disable-unified-build on macOS hits the following warnings-as-errors:

gfx/2d/FilterNodeSoftware.cpp:1022:10 [-Wunreachable-code-return] 'return' will never be executed
gfx/2d/DrawTargetCairo.cpp:1957:20 [-Wunused-function] unused function 'GfxMatrixToPixmanTransform'
gfx/thebes/gfxHarfBuzzShaper.cpp:1008:23: warning: unused variable 'sDageshForms' [-Wunused-const-variable]
gfx/thebes/gfxMacPlatformFontList.mm:818:31 [-Wunused-const-variable] unused variable 'kLangFontsDirs'
gfx/tests/gtest/TestSwizzle.cpp:221:21 [-Wunreachable-code] code will never be executed
gfx/tests/gtest/TestTreeTraversal.cpp:16:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_DEPTH'
gfx/tests/gtest/TestTreeTraversal.cpp:17:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_CHILD_COUNT'
gfx/tests/gtest/TestTreeTraversal.cpp:18:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_LEAF_COUNT'
gfx/tests/gtest/TestTreeTraversal.cpp:19:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_REGION_XWRAP'
gfx/vr/VRDisplayPresentation.cpp:151:3 [-Wunreachable-code-loop-increment] loop will run at most once (loop increment never executed)
gfx/ycbcr/scale_yuv_argb.cpp:61:21 [-Wunused-function] unused function 'Abs'

Differential Revision: https://phabricator.services.mozilla.com/D126592
2021-09-24 19:14:46 +00:00
Timothy Nikkel 40fb9958c2 Bug 1731933. Include transform scale when interpreting danger zone values. r=botond
LayersPixelsPerCSSPixel in the layers world would include the transform scale. I think we still want that behaviour. Since we multiply the displayport that results after ExpandDisplayPortToDangerZone by a scale that includes the transform scale, if we don't do this then we expand the displayport by more screen pixels the bigger the scale transform we have applied.

Differential Revision: https://phabricator.services.mozilla.com/D126307
2021-09-23 22:18:25 +00:00
Timothy Nikkel 44c1ebd71b Bug 1729784. Remove unused FrameMetrics::mExtraResolution. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D124978
2021-09-23 22:07:26 +00:00
Brad Werth 0d1ce87c23 Bug 1732230: Ensure deallocation in NativeLayerCA::Representation::EnqueueSurface. r=mstange
Using CFTypeRefPtr ensures that the created Core Foundation / Media types are
deallocated under all code paths. The duplicated syntax of -"Deallocator"
variables is necessary because CFTypeRefPtr is designed to work with
functions that return the required type. All of the creation methods in use
here take a type reference as a parameter, making it impossible to pass in a
CFTypeRefPtr directly. The "Deallocator" variables serve the purpose of
ensuring deallocation even though the variables are not otherwise referenced.

This change also cleans up the casting for CFMutableDictionaryRef to use a
simpler Objective-C idiom.

Differential Revision: https://phabricator.services.mozilla.com/D126539
2021-09-23 20:17:15 +00:00
Emilio Cobos Álvarez e37caecb95 Bug 1730456 - InitPlatformFontList should reframe. r=jfkthame
I don't know why it didn't broadcast the reflow request to child
processes... Perhaps it doesn't have to?

Differential Revision: https://phabricator.services.mozilla.com/D126128
2021-09-23 16:35:32 +00:00
Nicolas Silva 0752cfb5cb Bug 1731610 - Add new prefs in WebRender with less boilerplate. r=gfx-reviewers,jrmuizel
Right now adding a dynamic pref for webrender involves plumbing in gfxPlatform, gfxVars, CompositBridgeParent, WebRenderBridgeParent, WebRenderAPI, the bindings, and then messaging the pref change to the right thread in WebRender.

That's quite a bit time consuming for something we tend to do for multiple things.

We already have a pretty good system for boolean debug prefs where the pref only needs to be listed in gfxPlatform and in the DebugPref enum of webrender_api/lib.rs, which has led us to use it for non-debug purposes.

This patch adds a system similar to the DebugFlags with values passed in a bitfield to be able to use gfxVars. In WebRender the parameters are key-value pairs which flow through the pipeline so that any component can react to them. A followup will add integer parameters.

The patch also moves a few prefs to this system and adds a pref to use PBO uploads.

Differential Revision: https://phabricator.services.mozilla.com/D126100
2021-09-23 15:17:46 +00:00