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

44487 Коммитов

Автор SHA1 Сообщение Дата
Timothy Nikkel b9ea148a58 Bug 1818674. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D170847
2023-02-24 23:41:33 +00:00
sotaro f0340b38bf Bug 1818637 - Backout Bug 1817709 r=gfx-reviewers,bradwerth
The problem of Bug 1817269 happens also on Win 11. Then we do not have enough reason to block video overlay on Win10.

Differential Revision: https://phabricator.services.mozilla.com/D170835
2023-02-24 01:41:42 +00:00
Jonathan Kew aeec9224a6 Bug 688085 - Remove IDL method nsIFontEnumerator::UpdateFontList; just call gfxPlatform directly from widget/windows code where needed. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D170328
2023-02-23 21:45:12 +00:00
Jonathan Kew d1c5009e61 Bug 1818488 - Hoist access to gfxContext::GetTextDrawer() out of the glyph-rendering inner loop. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D170749
2023-02-23 21:44:34 +00:00
Jonathan Kew bf67e143fd Bug 1817854 - Update harfbuzz to release 7.0.1. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D170811
2023-02-23 21:43:47 +00:00
Erich Gubler 19553e0a37 Bug 1817271: fix ordering of WebGPU feature toggling when blocklisted r=webgpu-reviewers,jimb
In `gfx/config/gfxFeature.{h,cpp}`, it can be observed that a `mozilla::gfx::FeatureState` is
a state machine that collects different "levels" of enabled-ness. To summarize[^1], these are:

1. Default
2. User
3. Environment
4. Runtime

The rules for initializing each of these layers are basically that:

1. At least (1) must be initialized, otherwise, the feature is "unused".
2. Other levels may only be initialized (or re-initialized) if (a) all previous levels were
    initialized, and (b) no subsequent levels are initialized. Otherwise, throw an assertion
    error.

In the bug we're fixing here, we were attempting to configure the environment level before the user
level, which violates rule 2. Oops! Make sure we init the user level before initting the
environment level.

[^1]: You can find a better description of the intent of each layer at <https://searchfox.org/mozilla-central/rev/75da1dd5d4b9b991f919a41594194eab93cdef62/gfx/config/gfxFeature.h#147-155>.

Differential Revision: https://phabricator.services.mozilla.com/D170764
2023-02-23 17:41:14 +00:00
Brad Werth db56ec4f1f Bug 1817691: Make nsNativeLayerCA clean up rounding errors in update regions. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D170767
2023-02-23 17:24:44 +00:00
stransky e42ac0d5d9 Bug 1813407 Get widget size only once in RenderCompositorSWGL r=lsalzman
- Get widget size in RenderCompositorSWGL::BeginFrame() and save it for further use. That prevents flickering/artifacts if compositor widget size is changed during rendering.
- Request full screen update when widget size changes on Wayland.

Differential Revision: https://phabricator.services.mozilla.com/D169905
2023-02-23 10:52:14 +00:00
Jamie Nicol f90dfc0c14 Bug 1795592 - Allow wrench to run on recent Android versions. r=gbrown
To run webrender's wrench tests the app needs to read a file to parse
the command line args from, and write a file with the test
output. These files also need to be written and read manually over adb
by the engineer running the tests (or more likely by the
android_wrench.py script).

Currently we use the external data dir for these files. However, on
recent android versions these are no longer accessible to the app
without jumping through some hoops. This patch makes us instead use
the internal data dir. It also makes the app "debuggable" so that
these files can be written to via adb using run-as.

Additionally, we must ensure that the android_wrench.py script uses
run-as instead of root to push and pull the files, as root does not
have permission to do so on recent android versions.

Differential Revision: https://phabricator.services.mozilla.com/D169829
2023-02-23 10:04:34 +00:00
Csoregi Natalia dd188e11f2 Backed out changeset 05981db2f726 (bug 1743045) for causing failures on test_group_scrollend.html. CLOSED TREE 2023-02-23 04:23:40 +02:00
Dan Robertson 8ac30ce878 Bug 1743045 - Respect general.smoothScroll for programmatic scrolls. r=hiro
For programmatic scrolls, we should respect a users general.smoothScroll
preference. If smooth scrolls are disabled, programmatic scrolls with
behavior: "smooth" should be treated as instant programmatic scrolls.

Differential Revision: https://phabricator.services.mozilla.com/D170110
2023-02-22 23:26:18 +00:00
Jonathan Kew 754f254acb Bug 1818224 - Make most things in nsFontMetrics const. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D170664
2023-02-22 18:11:34 +00:00
Iulian Moraru a6d122dc1c Backed out changeset 2ddeecc9100b (bug 1168182) for causing mochitest failures on test_wheel_scroll.html. CLOSED TREE 2023-02-22 21:32:15 +02:00
Dan Robertson e03ea6d72f Bug 1168182 - Bind wheel event targets to wheel transactions. r=masayuki,smaug
- Create wheel transactions for wheel events handled by APZ.
 - Group wheel events with the current wheel transaction, so that all
   wheel events in a wheel transaction are fired to the same element.
 - Store the current event target for the first event in a wheel
   transaction to be used for subsequent events.
 - Add the dom.event.wheel-event-groups.enabled preference as a feature
   flag for this behavior.

Differential Revision: https://phabricator.services.mozilla.com/D163484
2023-02-22 16:57:05 +00:00
Jonathan Kew c487d17dbb Bug 1818149 - Hoist access to textDrawer->GeckoClipRect() out of the inner DrawOneGlyph method. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D170578
2023-02-22 08:40:18 +00:00
Glenn Watson 986d097472 Bug 1818115 - Make FrameId be explicit u64 rather than usize r=gfx-reviewers,bradwerth
Simplifies some upcoming work to change how we store these when
updating primitive dependencies during picture cache updates.

Differential Revision: https://phabricator.services.mozilla.com/D170546
2023-02-22 03:59:32 +00:00
sotaro 75da1dd5d4 Bug 1817709 - Block video overlay with non-intel GPUs on Windows 10 r=jrmuizel,gfx-reviewers
Video overlay does not work well with non-intel GPUs on Windows 10. See Bug 1817269, Bug 1817617.

Differential Revision: https://phabricator.services.mozilla.com/D170311
2023-02-22 01:54:27 +00:00
Butkovits Atila d434d2fc49 Backed out changeset c33204e69e49 (bug 1743045) for causing failures at scroll-behavior-3.html. CLOSED TREE 2023-02-22 01:15:14 +02:00
Nicolas Silva ead11be6ca Bug 1817829 - Update wgpu to revision 74303308cd6030071889e865c40aa638214ed938. r=webgpu-reviewers,teoxoy
Depends on D170492

Differential Revision: https://phabricator.services.mozilla.com/D170493
2023-02-21 22:36:51 +00:00
Nicolas Silva 1e1d5892c3 Bug 1817829 - Don't enable wgpu's renderdoc feature by default. r=webgpu-reviewers,supply-chain-reviewers,teoxoy
It is unclear that we want it enabled for all users and this way we don't have to audit the changes in renderdoc-sys.
We can and should revisit this in the future if we feel like it would be useful to ship with webgpu+renderdoc integration.

Differential Revision: https://phabricator.services.mozilla.com/D170492
2023-02-21 22:36:50 +00:00
Dan Robertson 69572ca871 Bug 1743045 - Respect general.smoothScroll for programmatic scrolls. r=hiro
For programmatic scrolls, we should respect a users general.smoothScroll
preference. If smooth scrolls are disabled, programmatic scrolls with
behavior: "smooth" should be treated as instant programmatic scrolls.

Differential Revision: https://phabricator.services.mozilla.com/D170110
2023-02-21 22:02:11 +00:00
Andrew Osmond e69fa7da55 Bug 1818047 - Add prefs to control WebRender scissored cache clears. r=gfx-reviewers,jrmuizel
This patch adds two new prefs, gfx.webrender.scissored-cache-clears
.enabled and .force-enabled to control its status beyond the blocklist.
The former is true by default and allows one to turn the feature off by
flipping it to false. The latter allows one to force the feature on even
if the blocklist disables it. It also adds the status to the decision
log in about:support.

Differential Revision: https://phabricator.services.mozilla.com/D170507
2023-02-21 20:50:58 +00:00
Brad Werth e452df9d3b Bug 1808155 Part 1: Make NativeLayerCA VIDEO_LOG more useful. r=mac-reviewers,mstange
This change makes the VIDEO_LOG only output the first surface sent to a
video layer (whether an AVSampleBufferDisplayLayer or a CALayer), and
notes whenever the video layer has been recreated. This will be helpful in
diagnosing cases degenerate cases where display of video content toggles
between a specialized video layer and a normal layer.

Differential Revision: https://phabricator.services.mozilla.com/D170154
2023-02-21 19:58:47 +00:00
Tom Schuster a809d9d021 Bug 1756175 - Implement roundRect for canvas2D. r=lsalzman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D168732
2023-02-21 19:41:49 +00:00
Emilio Cobos Álvarez 627efca14c Bug 1817381 - Remove DOMWindowUtils.fullZoom. r=jfkthame,layout-reviewers,extension-reviewers,rpl,geckoview-reviewers,m_kato
Callers just want the actual full zoom, not the one including the OS
text-scale.

Android doesn't have OS zoom to begin with, so this can't change
behavior, but the desktop caller passes the usual full zoom here[1], so
we're making the behavior match.

[1]: https://searchfox.org/mozilla-central/rev/9de332d5c8faac58dc1232b8a6383ce6cb1400f4/browser/components/extensions/parent/ext-tabs.js#1011

Depends on D170196

Differential Revision: https://phabricator.services.mozilla.com/D170197
2023-02-21 17:24:00 +00:00
Stanca Serban 200dca5cfb Backed out 4 changesets (bug 1813407) for causing Linux bp-hybrid bustages in WindowSurfaceProvider.h. CLOSED TREE
Backed out changeset 897b95c7fdad (bug 1813407)
Backed out changeset aba3e370a587 (bug 1813407)
Backed out changeset 61c79624c2ab (bug 1813407)
Backed out changeset f99d85efb04c (bug 1813407)
2023-02-21 12:54:32 +02:00
stransky b429a675e0 Bug 1813407 Get widget size only once in RenderCompositorSWGL r=lsalzman
- Get widget size in RenderCompositorSWGL::BeginFrame() and save it for further use. That prevents flickering/artifacts if compositor widget size is changed during rendering.
- Request full screen update when widget size changes on Wayland.

Differential Revision: https://phabricator.services.mozilla.com/D169905
2023-02-21 09:30:10 +00:00
Marian-Vasile Laza 7ccec0b37b Backed out changeset 343daddee430 (bug 1817381) for mochitest failures on test_bug574663.html. CLOSED TREE 2023-02-21 10:41:53 +02:00
Jonathan Kew 4594ae314a Bug 1815404 - Replace most uses of gfxContext::CreateOrNull with stack-allocated contexts. r=gfx-reviewers,lsalzman
Depends on D170370

Differential Revision: https://phabricator.services.mozilla.com/D170371
2023-02-21 07:28:25 +00:00
Jonathan Kew 5b9588f1aa Bug 1815404 - Eliminate gfxContext::CreatePreservingTransformOrNull, and replace callers with stack-allocated gfxContext. r=gfx-reviewers,lsalzman
Depends on D170369

Differential Revision: https://phabricator.services.mozilla.com/D170370
2023-02-21 07:28:24 +00:00
Jonathan Kew 1b3e69f8aa Bug 1815404 - Remove refcounting from gfxContext. r=gfx-reviewers,lsalzman
Depends on D170367

Differential Revision: https://phabricator.services.mozilla.com/D170369
2023-02-21 07:28:24 +00:00
Jonathan Kew 64fac83d98 Bug 1815404 - The drawTarget wrapped by a gfxContext never changes, so doesn't need to be stored in AzureState. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D170367
2023-02-21 07:28:23 +00:00
Emilio Cobos Álvarez 1f4a94702f Bug 1817381 - Remove DOMWindowUtils.fullZoom. r=jfkthame,layout-reviewers,extension-reviewers,rpl,geckoview-reviewers,m_kato
Callers just want the actual full zoom, not the one including the OS
text-scale.

Android doesn't have OS zoom to begin with, so this can't change
behavior, but the desktop caller passes the usual full zoom here[1], so
we're making the behavior match.

[1]: https://searchfox.org/mozilla-central/rev/9de332d5c8faac58dc1232b8a6383ce6cb1400f4/browser/components/extensions/parent/ext-tabs.js#1011

Depends on D170196

Differential Revision: https://phabricator.services.mozilla.com/D170197
2023-02-21 05:37:35 +00:00
Glenn Watson f14e041e65 Bug 1817505 - Revert enable of tiled rendering path, for now r=gfx-reviewers,lsalzman
This patch exposes an unrelated issue that causes a performance regression.

For now, we'll revert this to get back to a normal baseline. Then, separately
fix the underlying code which regresses perf, then re-land this patch.

Revert "Bug 1811978 - Enable the new tiled rendering path, update test expectations r=gfx-reviewers,nical"

This reverts commit 7f3a2568aabf9fa2358fe0f7421042ba85a23442.

Differential Revision: https://phabricator.services.mozilla.com/D170399
2023-02-21 03:38:26 +00:00
sotaro 959d11a58a Bug 1817712 - Disable Feature::WEBRENDER_DCOMP_PRESENT when GPU process is disabled r=gfx-reviewers,nical
DirectComposition Device is not created when GPU process does not exist.

Differential Revision: https://phabricator.services.mozilla.com/D170315
2023-02-21 00:05:20 +00:00
Joel Maher 2e7f0978bf Bug 1817582 - Adjust 3 apz reftest fuzzy-if for windows11. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D170273
2023-02-20 18:46:08 +00:00
Iulian Moraru 1768901d9e Backed out 3 changesets (bug 1803406) for causing wd failures.
Backed out changeset d4cfac1ac9c6 (bug 1803406)
Backed out changeset 30d9711bf362 (bug 1803406)
Backed out changeset 3e5d60c6826a (bug 1803406)
2023-02-20 19:29:55 +02:00
Jonathan Kew 8ea62ea5d1 Bug 1803406 - Use CTFontManagerRegisterFontURLs if available to register fonts. r=gfx-reviewers,lsalzman
This replaces CTFontManagerRegisterFontsForURLs, which is deprecated since macOS 10.15.

(No user-visible behavior change.)

Depends on D170287

Differential Revision: https://phabricator.services.mozilla.com/D170288
2023-02-20 12:52:44 +00:00
Jonathan Kew 343a000aca Bug 1803406 - To try and mitigate the startup impact of font initialization, move more work to the RegisterFonts thread. r=gfx-reviewers,lsalzman
No user-visible behavior change; just trying to move a bit more work onto a secondary thread,
in the hope of improving startup perf (althogh if there's too much contention for disk i/o,
or not enough CPU cores available, it may not help much).

Depends on D170286

Differential Revision: https://phabricator.services.mozilla.com/D170287
2023-02-20 12:52:44 +00:00
Jonathan Kew c87bceea83 Bug 1803406 - Register supplemental macOS fonts in content processes, to maintain font-list consistency with parent. r=gfx-reviewers,lsalzman
Local testing indicates that if we don't do this, there's a risk that Core Text will resolve font names
differently in the content vs parent processes when duplicate fonts are installed (e.g. old versions of
Arial, Helvetica, etc that some users have "inherited" from ancient systems). The mismatched fonts used
for layout (in the content process) vs painting (by the parent) lead to the "garbled text" issue.

Unfortunately, this will impact content-process startup on macOS, so expect a perf regression report.

In my local testing, this appears to prevent the "garbled text" problem when an old version of Arial is
installed, or other similar font mismatch situations. There should be no user-visible behavior change
for systems with a "clean" font installation.

Differential Revision: https://phabricator.services.mozilla.com/D170286
2023-02-20 12:52:44 +00:00
Marian-Vasile Laza cdda30073f Backed out changeset 6eb460a4025d (bug 1817582) for reftest failures on overscroll-scrollbar.html. CLOSED TREE 2023-02-18 23:20:35 +02:00
Joel Maher 8ae682b338 Bug 1817582 - Adjust 3 apz reftest fuzzy-if for windows11. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D170273
2023-02-18 17:56:21 +00:00
Brad Werth 79eee79462 Bug 1658986: Make NativeLayerCA::HandlePartialUpdate sanity-check the update area. r=mstange
This change computes the new invalid region of the in progress surface
during the partial update, and asserts that the update region is
sufficient to cover it. This will assert earlier than the asserts in
NotifySurfaceReady, under similar conditions. Hopefully this will help us
identify if we are using an incorrectly calculated update area.

Additionally, it reorganizes the region boolean logic in
NativeLayerCA::HandlePartialUpdate to avoid adding in the update region
just to subtract it away again.

It also confirms that callers to the layer are always either using the
drawn surface call (NotifySurfaceReady) or the external surface call
(AttachExternalImage).

Differential Revision: https://phabricator.services.mozilla.com/D169019
2023-02-17 17:47:03 +00:00
Brad Werth 3529711d39 Bug 1747585: Stop forcing specialized video layers due to DRM, when the OS doesn't respect DRM. r=mac-reviewers,mstange
Forcing specialized video in this case was overriding the user's ability
to opt-out by setting the pref, while providing no benefit. Adding the
macOS version check around this makes our logic here consistent with our
setting of preventsCapture in ApplyChanges.

Differential Revision: https://phabricator.services.mozilla.com/D169849
2023-02-17 16:54:00 +00:00
sotaro 0561f430e2 Bug 1817269 - Backout Bug 1798245 r=jrmuizel,gfx-reviewers
Bug 1798245 causes Bug 1817269 on Fx 110.

Differential Revision: https://phabricator.services.mozilla.com/D170151
2023-02-17 01:47:02 +00:00
Christian Holler f554b74885 Bug 1817281 - Handle wrong deallocator type in TextureHost. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D170111
2023-02-16 20:08:13 +00:00
Jonathan Kew 7d98300d55 Bug 1817184 - Don't send glyphs to webrender if they're going to be entirely outside the clip rect. r=gfx-reviewers,lsalzman
This reverts the per-glyph-run optimization landed in bug 1816299, and replaces it with a per-glyph version
that will work within a long run of glyphs in a single font, as well as across the glyph runs in a mixed-font textrun.
To minimize the cost of the check, rather than retrieving individual glyph bounds, we use the overall font extents.

(Note that this uses the bounding box min/max coordinates from the 'head' table, which may exceed the typographic
ascent/descent of the font, and the advances of the glyphs; we care about the ink extents, not typographic size.)

Differential Revision: https://phabricator.services.mozilla.com/D170058
2023-02-16 17:43:21 +00:00
Jonathan Kew 3eab87d4f9 Bug 1815700 - Render COLRv1 PaintComposite operations without using PushLayerWithBlend, as it seems to be unreliable in some cases. r=gfx-reviewers,lsalzman
This seems tricky to test in CI as it doesn't reproduce consistently
(originally reported on Windows, but I haven't been able to reproduce it
there at all; but successfully repro'd and tested locally on Linux).

Differential Revision: https://phabricator.services.mozilla.com/D169935
2023-02-16 10:35:57 +00:00
Robert Longson a8753e80e6 Bug 1814398 - SVGImageElement should not derive from SVGGeometryElement r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D168674
2023-02-16 08:56:46 +00:00
Robert Longson 88d6e6fbaa Bug 1817075 - Use nsIFrame::HasAnyStateBits() whenever possible instead of GetStateBits() r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D170006
2023-02-16 08:10:28 +00:00