Commit Graph

44024 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
368171d435 Bug 1800684 - Remove print_via_parent. r=dshin
For a while it was true everywhere but android, but it's been true
unconditionally since forever.

Differential Revision: https://phabricator.services.mozilla.com/D162116
2022-11-15 16:19:30 +00:00
Andrew Osmond
8471c103b9 Bug 1799016 - Ensure gfxVar updates are applied to GPU process before recreating compositor sessions. r=jnicol
When we fallback without recreating the GPU process, we should ensure
that the gfxVar updates have been processed before recreating the
compositor sessions. This is achieved by blocking on the sync
PGPU::SendDeviceStatus IPDL message. This additional sync message only
happens during fallback and thus should be fairly cheap.

Differential Revision: https://phabricator.services.mozilla.com/D162020
2022-11-15 14:28:30 +00:00
Jeff Muizelaar
fc041b8b9e Bug 1799391. Allow negative XYZ on non-macOS. r=aosmond
It seems like Chrome allows this and it's relatively common.
We don't have a good reason to continue blocking these profiles.

Differential Revision: https://phabricator.services.mozilla.com/D162024
2022-11-15 03:49:04 +00:00
Csoregi Natalia
fc5a2ea215 Backed out changeset 56bc7d891bd3 (bug 1519339) for failures on helper_overflowhidden_zoom.html. CLOSED TREE 2022-11-15 03:10:25 +02:00
Botond Ballo
239e18e404 Bug 1519339 - Do not hand off smooth scrolls in an overflow:hidden direction to APZ. r=dlrobertson
APZ cannot currently scroll in directions which are overflow:hidden
(it does not know the full scroll range bounds in those directions).

Therefore, main-thread scrolling in these directions should not be
handed off to APZ.

Differential Revision: https://phabricator.services.mozilla.com/D161351
2022-11-14 22:50:21 +00:00
Emilio Cobos Álvarez
2e7fa64ab1 Bug 1800133 - Difference in appUnitsPerDevPixel only matter when there's a clip chain. r=gfx-reviewers,gw
We might get unnecessary cache misses otherwise.

Depends on D161884

Differential Revision: https://phabricator.services.mozilla.com/D161888
2022-11-14 21:56:36 +00:00
Chris H-C
42f4ca0daf Bug 1784297 Remove "pseudo-main" ping r=TravisLong
Reverts "Bug 1785251 - Submit a Glean 'pseudo-main' ping when Telemetry submits a 'main' ping r=TravisLong"

Differential Revision: https://phabricator.services.mozilla.com/D161847
2022-11-14 19:58:20 +00:00
Florian Queze
ea6e6f4fa1 Bug 1671490 - Mark the GPU process as being in the foreground whenever the parent process is in the foreground to make their priorities (and priority boosts) match, r=bas.
Differential Revision: https://phabricator.services.mozilla.com/D161065
2022-11-14 16:05:34 +00:00
Ryan VanderMeulen
eec3bcd3cd Bug 1800187 - Part 2: Refactor libpixman moz.build file. r=jfkthame
* Remove workaround for a long-fixed LLVM bug
* Remove extra flags on pixman-mmx.c
* Remove unneeded -Winline flags
* Drop SIMD exceptions for macOS
* Use correct MMX define
* Enable all SIMD optimizations for Intel builds
* Clean up platform-specific logic
* Enable aarch64 optimizations on Android & Linux

Besides removing a lot of old cruft and improving general readability, this
also re-enables MMX optimizations (the define changed upstream and wasn't
updated in moz.build to reflect that) along with unconditionally compiling
with all available Intel SIMD optimization levels. Pixman does runtime CPU
feature detection, so this should be safe. It also enables AArch64
optimizations on Android and Linux.

Depends on D161868

Differential Revision: https://phabricator.services.mozilla.com/D161869
2022-11-14 15:46:34 +00:00
Ryan VanderMeulen
ef9215bccb Bug 1800187 - Part 1: Update libpixman to version 0.42.2. r=jfkthame
Depends on D161867

Differential Revision: https://phabricator.services.mozilla.com/D161868
2022-11-14 15:46:33 +00:00
Ryan VanderMeulen
67a586f153 Bug 1800187 - Part 0: Clean up pixman patches. r=jfkthame
Removes patches which are no longer being applied to our import and
updates the patches that are applied to the current upstream.

Differential Revision: https://phabricator.services.mozilla.com/D161867
2022-11-14 15:46:32 +00:00
Emilio Cobos Álvarez
7bec49411b Bug 1800133 - Optimize out empty sublists a bit better. r=tnikkel
This avoids unnecessarily starting clip lists.

Depends on D161890

Differential Revision: https://phabricator.services.mozilla.com/D161891
2022-11-14 13:20:27 +00:00
Emilio Cobos Álvarez
3c6c9b87df Bug 1800133 - GetScrollLayer always returns a space id. r=gfx-reviewers,nical
This is just clean-up.

Depends on D161889

Differential Revision: https://phabricator.services.mozilla.com/D161890
2022-11-14 13:20:26 +00:00
Emilio Cobos Álvarez
c1afe63a38 Bug 1800133 - Minor perf improvements to DefineClipChain. r=gfx-reviewers,nical
This removes a redundant hashmap lookup.

Depends on D161888

Differential Revision: https://phabricator.services.mozilla.com/D161889
2022-11-14 13:20:26 +00:00
Nicolas Silva
e683cac799 Bug 1800066 - Fix the render task graph dump in frame captures. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161814
2022-11-14 13:09:53 +00:00
Jonathan Kew
e32a707e69 Bug 1800367 - For Linux, don't add an FTUserFontData when instantiating an installed variation font. r=lsalzman
This in effect reverts bug 1798036 for desktop Linux, as the fix there
was really only needed for Android, and turns out to conflict with how
the FC-based backend handles variations.

Tested locally; currently no reftest because we cannot assume presence
of an installed variable font.

Differential Revision: https://phabricator.services.mozilla.com/D161958
2022-11-13 21:48:10 +00:00
Lee Salzman
cb9096e766 Bug 1799402 - Use WGR to rasterize paths in DrawTargetWebgl. r=jrmuizel
This adds a path vertex buffer where triangle list output from WGR is stored.
Each PathCacheEntry can potentially reference a range of vertexes in this buffer
corresponding to triangles for that entry. When this buffer is full, it gets
orphaned and clears corresponding cache entries, so that it can start anew.

Differential Revision: https://phabricator.services.mozilla.com/D161479
2022-11-12 08:06:44 +00:00
Lee Salzman
3229665ff2 Bug 1799402 - Add header for accessing WGR Rust crate from C++. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D161478
2022-11-12 08:06:44 +00:00
Iulian Moraru
f838c68136 Backed out 3 changesets (bug 1799402) for causing windows build bustages. CLOSED TREE
Backed out changeset e51cd76008ef (bug 1799402)
Backed out changeset 3ff660b475ff (bug 1799402)
Backed out changeset 9cfa7581565e (bug 1799402)
2022-11-12 08:33:24 +02:00
Lee Salzman
bea9f37e42 Bug 1799402 - Use WGR to rasterize paths in DrawTargetWebgl. r=jrmuizel
This adds a path vertex buffer where triangle list output from WGR is stored.
Each PathCacheEntry can potentially reference a range of vertexes in this buffer
corresponding to triangles for that entry. When this buffer is full, it gets
orphaned and clears corresponding cache entries, so that it can start anew.

Differential Revision: https://phabricator.services.mozilla.com/D161479
2022-11-12 05:42:30 +00:00
Lee Salzman
7a5b0b36e4 Bug 1799402 - Add header for accessing WGR Rust crate from C++. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D161478
2022-11-12 05:42:30 +00:00
Jamie Nicol
2b4bb556b5 Bug 1799722 - Null-terminate shader strings on old Mali devices. r=gfx-reviewers,jrmuizel
We are seeing a number of crashes in glShaderSource on old Mali
devices (T628, T720, and T760). It's difficult to see what the problem
is without more information, but as a shot in the dark this patch
ensures we null- terminate the source strings before passing them to
the driver.

Differential Revision: https://phabricator.services.mozilla.com/D161894
2022-11-11 15:55:44 +00:00
Jonathan Kew
c9e98f8fad Bug 1798036 - Attach a SharedFTFaceData (recording the filename) when instantiating SharedFTFace for an installed variation font. r=lsalzman
This is needed so that UnscaledFontFreeType::CreateScaledFont can later call CloneFace
if it needs to apply variation settings.

Tested locally with an emulator running Android 13; not testable in CI as the older Android
versions we have there don't use the new variable-font version of Roboto.

Differential Revision: https://phabricator.services.mozilla.com/D161762
2022-11-10 17:24:11 +00:00
Ryan VanderMeulen
2bbf869c32 Bug 1799748 - Backport fix for libpixman CVE-2022-44638. r=jfkthame
Backport of upstream commit:
a1f88e842e

Differential Revision: https://phabricator.services.mozilla.com/D161624
2022-11-09 18:42:13 +00:00
Jim Blandy
fe1f55c62a Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 17:34:56 +00:00
Cristian Tuns
ce0b61513b Backed out changeset 06cfb7445c64 (bug 1799801) for causing build bustages CLOSED TREE 2022-11-09 11:57:02 -05:00
Jim Blandy
9d1f26b312 Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 16:42:50 +00:00
Nicolas Silva
10546932e6 Bug 1768984 - Reuse plane splitters across scenes. r=gfx-reviewers,gw
Currently splane splitters are stored in the built scene and reallocated with every new scene.
This patch moves the responsibility of storing/recycling the plane splitters to the frame builder so that they can be reused in more cases. The scene builder only needs to track splitter indices, it doesn't use the splitter objects themselves.

Alone this patch does not make a large difference because the current version of the plane_split crate reallocates everything each frame. The next version of plane_split does a much better job of recycling allocations, and applying this patch on top of it makes a large difference.

Differential Revision: https://phabricator.services.mozilla.com/D160363
2022-11-09 11:22:34 +00:00
Nicolas Silva
5be0d3b13a Bug 1768984 - Vendor the plane-split update. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D161585
2022-11-09 11:22:34 +00:00
Nicolas Silva
9cc2763063 Bug 1768984 - Plane-split 0.18 update. r=gfx-reviewers,gw
New plane_split version with much faster BSP tree.
The main source of churn is plane_split not being generic over the unit tag anymore.

Differential Revision: https://phabricator.services.mozilla.com/D160362
2022-11-09 11:22:33 +00:00
Emilio Cobos Álvarez
091dcf70cc Bug 1799627 - Remove unnecessary fallback to primary screen in nsDeviceContext dpi code. r=tnikkel,layout-reviewers
nsIWidget::GetDPI no longer returns negative values.

Differential Revision: https://phabricator.services.mozilla.com/D161570
2022-11-09 07:59:46 +00:00
Lee Salzman
b00c9670cf Bug 1799495 - Ensure WaitForShmem has a valid DrawTargetWebgl to access. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D161554
2022-11-08 16:23:56 +00:00
Brad Werth
9a1afee97e Bug 1798651 Part 1: Make SynchronousTask accept a wait interval, and return result. r=gfx-reviewers,nical
This change preserves the existing looping behavior for the indefinite
wait.

Differential Revision: https://phabricator.services.mozilla.com/D161194
2022-11-08 15:53:35 +00:00
Jan-Erik Rediger
68cd95c000 Bug 1799129 - Vendor Glean v51.8.0 and glean_parser 6.3.0 r=chutten,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161276
2022-11-08 15:53:07 +00:00
Jonathan Kew
9ced4e3037 Bug 1799327 - Ensure cached hashtables used by gfxFont::CheckForFeaturesInvolvingSpace are initialized atomically. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161434
2022-11-07 15:27:15 +00:00
Dan Robertson
803b2c05a5 Bug 1794457 - Add pan gesture transform notification tests. r=botond
Add basic tests for transform notifications for pan gestures with and without
momentum pans that follow the initial pan gesture.

Differential Revision: https://phabricator.services.mozilla.com/D159565
2022-11-07 03:51:51 +00:00
Dan Robertson
76e19d55d2 Bug 1794457 - Fire one scrollend event for a pan gesture. r=botond
Do not fire multiple scrollend events for one pan gesture that triggers a
momentum pan. On pan-end queue a state change event to be dispatched to
the content controller in 100ms. Note that this patch does not alter
the the internal APZC state change, but only delays the notification
dispatched to the content controller.

Differential Revision: https://phabricator.services.mozilla.com/D159540
2022-11-07 03:51:50 +00:00
Emilio Cobos Álvarez
8df7195ca9 Bug 1799216 - Keep clip chain id in sync when switching items that affect clip positioning. r=gfx-reviewers,gw
Bug 1661147 made us correctly inherit the clip chain. We do fix up the
scroll id etc before pushing a new ASR override etc, but we didn't fix
up the clip chain ID.

Differential Revision: https://phabricator.services.mozilla.com/D161382
2022-11-07 00:03:16 +00:00
sotaro
6b45a3fe5d Bug 1795050 - Set mResetLayer = true in ClientWebGLContext::Event_webglcontextrestored() r=gfx-reviewers,lsalzman
There was still a timing that hit the assert. When ClientWebGLContext::Event_webglcontextrestored() was called just before ClientWebGLContext::UpdateWebRenderCanvasData() the assert was failed.

Differential Revision: https://phabricator.services.mozilla.com/D161243
2022-11-05 04:14:31 +00:00
Razvan Cojocaru
1629218702 Bug 1060421 - Change the type of [Int]PointTyped::[x|y] back to [Int]CoordTyped. r=botond
[Int]CoordTyped no longer inherits Units because otherwise
instances of [Int]IntPointTyped may get one Base subobject because
it inherits Units, and others because of BasePoint's Coord members,
which end up increasing the [Int]CoordTyped's objects size (since
according to the ISO C++ standard, different Base subobject are
required to have different addresses).

Differential Revision: https://phabricator.services.mozilla.com/D160713
2022-11-04 18:29:35 +00:00
Jens Stutte
91630e2b39 Bug 1798630 - Use nsThread::Shutdown for the RenderThread. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D161026
2022-11-04 08:17:04 +00:00
Daniel Holbert
0f6f5cf3ae Bug 1798953 part 2: Annotate gfxSkipCharsIterator as MOZ_STACK_CLASS. r=jfkthame
In practice, it's only instantiated on the stack; and that's kinda important,
to reduce the likelihood that it somehow outlives the 'gfxSkipChars' instance
that it maintains a raw pointer to and is iterating over.

Differential Revision: https://phabricator.services.mozilla.com/D159922
2022-11-03 18:03:59 +00:00
Lee Salzman
fe55c52512 Bug 1791495 - Check for zero sqrt on ARM. r=jrmuizel
For SWGL on ARM, we implement sqrt(N) as N * inversesqrt(N). This means we don't
properly handle zero unless we explicitly check for it. Otherwise, a NaN ends up
getting produced erroneously.

Differential Revision: https://phabricator.services.mozilla.com/D161107
2022-11-03 04:19:32 +00:00
Brad Werth
38942d20a3 Bug 1797973: Make TextureHost::Create survive a null allocator. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161094
2022-11-03 02:38:11 +00:00
ohall-m
3b204056d6 Bug 1771343 - GeckoView Android API 33 (Android 13) r=geckoview-reviewers,jgraham,jnicol,nalexander,jonalmeida
Updating GeckoView from Android API level 31 to API 33 for target and compile.

Differential Revision: https://phabricator.services.mozilla.com/D159764
2022-11-02 10:53:33 +00:00
Cristian Tuns
4d37cf70f1 Backed out 19 changesets (bug 1541508) for causing xpcshell failures on test_notHeadlessByDefault.js CLOSED TREE
Backed out changeset 08476fa2bc27 (bug 1541508)
Backed out changeset 0bf7514845db (bug 1541508)
Backed out changeset aa612a5e9ef7 (bug 1541508)
Backed out changeset 6bb9360473f7 (bug 1541508)
Backed out changeset b3d8e92f50c2 (bug 1541508)
Backed out changeset fa40dded133e (bug 1541508)
Backed out changeset 2e7db4aa8d4f (bug 1541508)
Backed out changeset 6098e2eb62ea (bug 1541508)
Backed out changeset 2c599ee639c4 (bug 1541508)
Backed out changeset 7d44f6e2644c (bug 1541508)
Backed out changeset c1279c3d674c (bug 1541508)
Backed out changeset 8bd08a62a590 (bug 1541508)
Backed out changeset 740010cb005c (bug 1541508)
Backed out changeset 0bfc7dd85c62 (bug 1541508)
Backed out changeset c4374a351356 (bug 1541508)
Backed out changeset 44ccfeca7364 (bug 1541508)
Backed out changeset e944e706a523 (bug 1541508)
Backed out changeset 2c59d66f43e4 (bug 1541508)
Backed out changeset a1896eacb6f1 (bug 1541508)
2022-11-01 22:38:52 -04:00
Barret Rennie
c8551a7c7d Bug 1541508 - Use Services.env in gfx/ r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160153
2022-11-02 02:08:54 +00:00
David Shin
7640199d8a Bug 1792285 - Part 2: Do proper subpixel snapping before pushing iframe to WebRender. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D160063
2022-11-01 20:32:07 +00:00
David Shin
96cf231f1f Bug 1792285 - Part 1: Refactor DisplayListBuilder::PushIFrame in preparation for proper subpixel snapping. r=emilio
Incoming `bounds` parameter is now `LayoutDeviceRect` in preparation for
proper subpixel snapping.

Differential Revision: https://phabricator.services.mozilla.com/D159884
2022-11-01 20:32:06 +00:00
Jonathan Kew
974a9cdc7f Bug 1798297 - For the Yu Gothic UI font, disable the automatic application of 'palt' when kerning is enabled, because the font's 'palt' feature is bad. r=dholbert
It feels really ugly to do this, as the problem is a badly-designed font,
not a bug in Gecko's behavior. But given that it's a standard Windows font,
I think it's probably worth having the workaround.

Differential Revision: https://phabricator.services.mozilla.com/D160820
2022-11-01 19:34:14 +00:00