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

44218 Коммитов

Автор SHA1 Сообщение Дата
Adrien Champion 2e99331b96 Bug 1802158 - Remove `gfx/graphite2` dead C++ cluster 2. r=sylvestre
Depends on D163320

Differential Revision: https://phabricator.services.mozilla.com/D163321
2022-11-30 16:14:08 +00:00
Adrien Champion 0004c0ad8e Bug 1802158 - Remove `gfx/graphite2` dead C++ cluster 1. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D163320
2022-11-30 16:14:08 +00:00
Brad Werth 73776d7a57 Bug 1803034: Omit missing enums from an older dxgicommon.h for Windows MinGW builds. r=gfx-reviewers,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D163360
2022-11-30 06:31:37 +00:00
Brad Werth b8327d4af3 Bug 1801819: Make SynchronousTask double-check its completion flag to identify timeouts. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D162877
2022-11-29 05:15:07 +00:00
Brad Werth 8207ea392d Bug 1798067 Part 3: Emit telemetry for gfx.supports_hdr alongside other gfx telemetry. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D161545
2022-11-29 02:31:19 +00:00
Brad Werth aae47a0639 Bug 1798067 Part 2: Implement gfxWindowsPlatform::SupportsHDR. r=jgilbert,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161365
2022-11-29 02:31:19 +00:00
Brad Werth e2e3323a40 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-29 02:31:18 +00:00
Botond Ballo 6d124a732d Bug 1802225 - Move TestSurfaceAllocator to TestTextures.cpp and remove TestLayers.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162936
2022-11-29 01:52:04 +00:00
Botond Ballo 9232e34cb4 Bug 1802225 - Rename LayerAttributes.h to ScrollbarData.h. r=tnikkel
Since ScrollbarData is its only remaining content.

Differential Revision: https://phabricator.services.mozilla.com/D162935
2022-11-29 01:52:03 +00:00
Botond Ballo 68c71a503c Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.

Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Botond Ballo 265b8dc195 Bug 1802225 - Move RecordCompositionPayloadsPresented() to CompositorBridgeParent.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162933
2022-11-29 01:52:02 +00:00
Botond Ballo 6e1e4381dd Bug 1802225 - Move ToOutsideIntRect() to WebRenderLayerManager.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162932
2022-11-29 01:52:02 +00:00
Botond Ballo bd0e683d14 Bug 1802225 - Move WriteSnapshotToDumpFile() to CompositorOGL.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162931
2022-11-29 01:52:02 +00:00
Botond Ballo 5ed0b2dc47 Bug 1802225 - Remove class Layer. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162930
2022-11-29 01:52:01 +00:00
Botond Ballo 81a7d5dda0 Bug 1802225 - Remove the LayerPolygon typedef. r=tnikkel
Its only user was the BSPTree test suite, for its purposes
define a TestPolygon using an empty BSPTestData class instead.

Differential Revision: https://phabricator.services.mozilla.com/D162929
2022-11-29 01:52:01 +00:00
Botond Ballo 14d13f5339 Bug 1802225 - Remove unused declaration of WriteSnapshotToDumpFile(Layer*, ...). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162928
2022-11-29 01:52:01 +00:00
Botond Ballo f4f911a6d5 Bug 1802225 - Remove unused method AnimationInfo::TransferMutatedFlagToLayer(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162927
2022-11-29 01:52:00 +00:00
Botond Ballo e87122c9b1 Bug 1802225 - Remove the unused Layer::CONTENT_ flags. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162926
2022-11-29 01:52:00 +00:00
Botond Ballo 42986b96ab Bug 1802225 - Remove unused aContentFlags parameter of ImageClient::UpdateImage(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162925
2022-11-29 01:51:59 +00:00
Butkovits Atila 541201fe13 Backed out 3 changesets (bug 1798067) for causing bustages at gfxPlatformMac.cpp.
Backed out changeset dba34dc9a166 (bug 1798067)
Backed out changeset f87001406f29 (bug 1798067)
Backed out changeset 1b59437ed62b (bug 1798067)
2022-11-28 23:56:43 +02:00
Brad Werth 14696835e4 Bug 1798067 Part 3: Emit telemetry for gfx.supports_hdr alongside other gfx telemetry. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D161545
2022-11-28 20:51:17 +00:00
Brad Werth 658738d2ab Bug 1798067 Part 2: Implement gfxWindowsPlatform::SupportsHDR. r=jgilbert,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161365
2022-11-28 20:51:17 +00:00
Brad Werth bfde7b9df5 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-28 20:51:17 +00:00
Barret Rennie bfcf8f3747 Bug 1802605 - Use SpecialPowers.Services.env in gfx tests r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163249
2022-11-28 20:39:38 +00:00
Lee Salzman 87ae48cd80 Bug 1801588 - Ensure region outside mask but inside clip is cleared for copy op. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162536
2022-11-28 17:54:29 +00:00
Jonathan Kew 4fd05a6382 Bug 1801778 - Add some assertions in nsFontCache. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162834
2022-11-28 17:16:34 +00:00
Stanca Serban c42c33eab0 Backed out changeset 343131bbf822 (bug 1801778) for causing bp-hybrid bustages on nsFontCache. CLOSED TREE 2022-11-28 15:59:25 +02:00
Jonathan Kew 69de86ee4f Bug 1801778 - Add some assertions in nsFontCache. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162834
2022-11-28 13:11:19 +00:00
Jonathan Kew 6b093f9fd2 Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-26 20:39:18 +00:00
Cristian Tuns fb5aafb23c Backed out changeset 3fbfc9299ac6 (bug 1801512) for causing reftest failures on simple-underline-selection.svg CLOSED TREE 2022-11-26 13:41:31 -05:00
Jonathan Kew a01f0617af Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-26 14:38:34 +00:00
Barret Rennie 2b21f2a136 Bug 1541508 - Use SpecialPowers.Cc in helper_transform_end_on_keyboard_scroll.html to avoid macOS test timeouts. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163152
2022-11-25 23:22:19 +00:00
Barret Rennie aa8b436378 Bug 1541508 - Use SpecialPowers.Services in helper_transform_end_on_keyboard_scroll.html. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163142
2022-11-25 20:48:05 +00:00
Barret Rennie d4bdebd62b Bug 1541508 - Use Services.env in gfx/ r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160153
2022-11-25 19:09:07 +00:00
Sylvestre Ledru b5a777afd7 Bug 1801612 - Update the skia sync documentation r=gfx-reviewers,nical DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D162542
2022-11-25 10:56:47 +00:00
Cosmin Sabou 4b7d1c1ecc Bug 1784759 - disable browser_test_scrolling_in_extension_popup_window.js on mac for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D162812
2022-11-25 06:11:38 +00:00
Andrew Osmond 161a4eb3e8 Bug 1798494. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D162616
2022-11-24 18:20:20 +00:00
Cristian Tuns c71e992186 Backed out changeset 516ad0cab188 (bug 1801512) for causing reftest failures on 411334-1.xml CLOSED TREE 2022-11-24 11:50:23 -05:00
Jonathan Kew f81e7a7e4a Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-24 15:10:43 +00:00
Jonathan Kew 2678fa0ec6 Bug 1801521 - Try to avoid using an emoji font that lacks support for subregion flags. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D162571
2022-11-24 10:23:54 +00:00
André Bargull fb11119301 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 17:56:16 +00:00
Noemi Erli 57fbfda9e8 Backed out 16 changesets (bug 1792775) for causing build bustage in TestDateIntervalFormat.cpp CLOSED TREE
Backed out changeset 240681aef215 (bug 1792775)
Backed out changeset e15aea6bb46b (bug 1792775)
Backed out changeset ee9cd4c8d5cd (bug 1792775)
Backed out changeset 0be61a39756f (bug 1792775)
Backed out changeset 7db4fb376f48 (bug 1792775)
Backed out changeset 7009b35a05a0 (bug 1792775)
Backed out changeset 5abc2704004e (bug 1792775)
Backed out changeset 6d76fe50cf35 (bug 1792775)
Backed out changeset d6300cbbf628 (bug 1792775)
Backed out changeset 8f5e0e60d195 (bug 1792775)
Backed out changeset 0b9cf0354dc0 (bug 1792775)
Backed out changeset 7136c85641b7 (bug 1792775)
Backed out changeset 486778427d64 (bug 1792775)
Backed out changeset 7acee89c2699 (bug 1792775)
Backed out changeset 654c5f659fed (bug 1792775)
Backed out changeset a60b1bc33f91 (bug 1792775)
2022-11-23 17:18:45 +02:00
André Bargull 91b38b4700 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 10:42:44 +00:00
Noemi Erli d26dc9e9e0 Backed out 13 changesets (bug 1792775) for causing bustages
Backed out changeset f2c8e2200194 (bug 1792775)
Backed out changeset 3392ce042fb6 (bug 1792775)
Backed out changeset f5461baa7c5a (bug 1792775)
Backed out changeset d810c2b2d0bd (bug 1792775)
Backed out changeset af6164024ade (bug 1792775)
Backed out changeset 8c97026ef2b5 (bug 1792775)
Backed out changeset d396bec29ac2 (bug 1792775)
Backed out changeset a9aaa2387313 (bug 1792775)
Backed out changeset a4461db138b7 (bug 1792775)
Backed out changeset a7b39a5105a9 (bug 1792775)
Backed out changeset 5e746d85926a (bug 1792775)
Backed out changeset 3ea531c10813 (bug 1792775)
Backed out changeset 78811cdadd63 (bug 1792775)
2022-11-23 11:48:28 +02:00
André Bargull 0b8daabfa6 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 08:43:21 +00:00
Markus Stange 213f2aaa74 Bug 1781167 - Allow stacking calls to Add/RemoveVsyncDispatcher so that we survive the sequence Add,Add,Remove. r=jrmuizel
This fixes a bug which caused Firefox windows to become frozen after some time.

Full credit goes to Susan and RandyS for bisecting the regressor of this bug, and
to Jeff DeFouw for debugging the issue and finding the cause.

The bug here is a "state race" between the VsyncDispatcher state and
the VsyncSource state. Both are protected by locks, and the code that
runs in those locks respectively can see a different orders of invocations.

VsyncDispatcher::UpdateVsyncStatus does this thing where it updates its state inside
a lock, gathers some information, and then calls methods on VsyncSource *outside* the lock.
Since it calls those methods outside the lock, these calls can end up being executed
in a different order than the state changes were observed inside the lock.

Here's the bad scenario in detail, with the same VsyncDispatcher being used from
two different threads, turning a Remove,Add into an Add,Remove:

```
Thread A                                       Thread B

VsyncDispatcher::UpdateVsync
 |
 |----> Enter VsyncDispatcher lock
 |    |                                         VsyncDispatcher::UpdateVsync
 |    |   state->mIsObservingVsync = false       |
 |    |   (We want to stop listening)            |
 |    |                                          |
 |<---- Exit VsyncDispatcher lock                |
 |                                               |----> Enter VsyncDispatcher lock
 |                                               |    |
 |                                               |    |   state->mIsObservingVsync = true
 |                                               |    |   (We want to start listening)
 |                                               |    |
 |                                               |<----  Exit VsyncDispatcher lock
 |                                               |
 |                                               |----> Enter VsyncSource::AddVsyncDispatcher
 |                                               |    |
 |                                               |    |----> Enter VsyncSource lock
 |                                               |    |    |
 |                                               |    |    |  state->mDispatchers.Contains(aVsyncDispatcher)
 |----> VsyncSource::RemoveVsyncDispatcher       |    |    |  VsyncDispatcher already present in list, not doing anything
 |    |                                          |    |    |
 |    |                                          |    |<---- Exit VsyncSource lock
 |    |                                          |    |
 |    |                                          |<---- Exit VsyncSource::AddVsyncDispatcher
 |    |----> Enter VsyncSource lock
 |    |    |
 |    |    |  Removing aVsyncDispatcher from state->mDispatchers
 |    |    |
 |    |<---- Exit VsyncSource lock
 |    |
 |<---- Exit VsyncSource::AddVsyncDispatcher
```

Now the VsyncDispatcher thinks it is still observing vsync, but it is
no longer registered with the VsyncSource.

This patch makes it so that two calls to AddVsyncDispatcher followed by one call
to RemoveVsyncDispatcher result in the VsyncDispatcher still being registered.
AddVsyncDispatcher is no longer idempotent.

Differential Revision: https://phabricator.services.mozilla.com/D162760
2022-11-22 23:46:44 +00:00
Andrew Osmond d664f47e78 Bug 1801780 - Include more information about blocklist in about:support. r=jrmuizel
We used to provide links to the bug numbers but this was broken
somewhere along the way. Now it is provided the failure IDs from which
it can attempt to extract a bug number, as well as always display any
failure ID and message whenever possible.

Differential Revision: https://phabricator.services.mozilla.com/D162734
2022-11-22 16:00:15 +00:00
Marco Castelluccio 11b87fc0cb Bug 1790816 - Reformat gfx/ with isort. r=jgilbert DONTBUILD
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D162641
2022-11-22 12:54:40 +00:00
Hiroyuki Ikezoe 3a5650ace5 Bug 1794070 - Make a pan start event wait for the browser gesture code response. r=botond,dlrobertson
So that APZ can wait to handle the event to do overscrolling until the browser
responds that the event wasn't used for gestures.

Differential Revision: https://phabricator.services.mozilla.com/D160438
2022-11-22 06:52:53 +00:00
Hiroyuki Ikezoe d33990bcde Bug 1794070 - Ignore overscrollable check in CanScrollTargetHorizontally. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162362
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe d32e0125e8 Bug 1794070 - Introduce PanGestureInput::AllowsSwipe(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160437
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe f7ce055162 Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe ebfe7e293e Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-22 06:52:51 +00:00
Hiroyuki Ikezoe 4c8d1c6a7f Bug 1794070 - Check mOverscrollBehaviorAllowsSwipe whether we do the short circuit for swipe. r=botond
Though this isn't a real bug at all since later we check the flag in
nsBaseWidget::MayStartSwipeForAPZ [1], this change includes a browser
mochitest to make sure `overscroll-behavior: contain` prevents swipe
navigations.


[1] https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/widget/nsBaseWidget.cpp#2294

Differential Revision: https://phabricator.services.mozilla.com/D160434
2022-11-22 06:52:51 +00:00
Hiroyuki Ikezoe 329099d5b3 Bug 1794070 - Add "overscrolled" state in APZTestData.additionalData. r=botond
We'd like to use this for testing overscroll state in mochitests.

Differential Revision: https://phabricator.services.mozilla.com/D160433
2022-11-22 06:52:49 +00:00
Hiroyuki Ikezoe 78c3424efe Bug 1794070 - Do the stuff for short circuit of swipe-to-navigation after calling MaybeRequestContentResponse. r=botond
The stuff calls PanGestureBlockState::SetNeedsToWaitForContentResponse which sets
mWaitingForContentResponse flag, but the flag will clobbered in
MaybeRequestContentResponse().

Differential Revision: https://phabricator.services.mozilla.com/D160432
2022-11-22 06:52:49 +00:00
Hiroyuki Ikezoe e46cc3cbef Bug 1794070 - Remove APZEventStat::ProcessClusterHit declaration. r=botond
The implementation got removed in bug 1618545.
https://hg.mozilla.org/mozilla-central/rev/3de8fd99080d63f47da911afe39f489de5864e9e

Differential Revision: https://phabricator.services.mozilla.com/D160431
2022-11-22 06:52:48 +00:00
Shravan Narayan c375efadca Bug 1751818 - Remove use tainted_opaque from callbacks of libGraphite r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D162363
2022-11-22 06:06:36 +00:00
sotaro 71a7be2831 Bug 1801767 - Remove fs::remove_dir_all usage in remove_disk_cache() r=gfx-reviewers,bradwerth
From Bug 1799442, fs::remove_dir_all is not stable on Windows.

Differential Revision: https://phabricator.services.mozilla.com/D162682
2022-11-22 05:35:25 +00:00
Tom Ritter 8e1c983ccd Bug 1800927: Fix the Updatebot linter and offending moz.yaml files r=ahal,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162223
2022-11-21 19:35:16 +00:00
Tom Ritter 31fa1a1d34 Bug 1800722: Let harfbuzz be managed by Updatebot r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D162146
2022-11-21 15:27:50 +00:00
Tom Ritter 809394580a Bug 1800722: Let harfbuzz be vendored by moz.yaml harfbuzz r=jfkthame
This obsoletes update.sh so you now call
./mach vendor gfx/harfbuzz/moz.yaml

It is set to track new tags.

Differential Revision: https://phabricator.services.mozilla.com/D162145
2022-11-21 15:27:50 +00:00
Tom Ritter dc8db985d0 Bug 1800722: Add a moz.yaml for harfbuzz r=jfkthame
Depends on D162131

Differential Revision: https://phabricator.services.mozilla.com/D162144
2022-11-21 15:27:50 +00:00
Jonathan Kew 916053d932 Bug 1787603 - Only pass content lang to fontconfig for CJK & Arabic scripts, to avoid performance quagmire on pages like wikipedia.org. r=jwatt
This in effect reverts part of bug 1756400, so that we only do the full
per-language fontconfig substitution processing for locales that use
CJK or Arabic script. These are the locales where it is likely that
there may be custom per-language/locale font preferences that need to
be respected.

(In theory fontconfig could be set up with per-language rules even for
distinctions like 'en-US' vs 'en-GB', or 'en' vs 'fr' vs 'de', etc.,
and we will no longer respect these. But it is almost vanishingly unlikely
that separate font mappings for such distinctions will really be needed,
and the cost of doing all the lookups separately for every lang tag,
even within simple writing systems like Latin, is excessive.)

No automated tests, as this is heavily dependent on the system configuration.

Differential Revision: https://phabricator.services.mozilla.com/D162304
2022-11-21 15:01:24 +00:00
Nicolas Silva e716fc4f7b Bug 1797975 - Replace wr_notifier_nop_frame_done with an argument in new_frame_ready. r=gfx-reviewers,bradwerth
it started as a single method new_frame_ready with a composite parameter, to be split into two functions that end up calling the same HandleFrameOneDoc with a composite parameter so the extra function doesn't provide anything.

Differential Revision: https://phabricator.services.mozilla.com/D162299
2022-11-21 14:10:29 +00:00
Nicolas Silva ed0908ee88 Bug 1797975 - Simplify the pending frame count tracking code. r=gfx-reviewers,bradwerth
Only transactions that contain the generate_frame flag are tracked by the pending frame and frame build counters.
This patch attempts to make this clearer with two small adjustments:

Firstly by putting the IncPendingFrameCount call right next to Transaction::GenerateFrame.

Secondly, undoing the hack in wr_notifier_wake_up. The latter is called outside of normal rendered/tracked frames and was calling HandleFrameOneDoc which decrements the rendered frame counter. To compensate it had to manually increment both counters via IncPendingFrameCount and manually decrement the built frame counter via DecPendingFrameBuildCount. Instead this patch introduces the aTrackedFrame argument so that HandleFrameOneDoc only fiddles with the counters when needed and wake_up does not have to hack around it.

Differential Revision: https://phabricator.services.mozilla.com/D162298
2022-11-21 14:10:29 +00:00
Nicolas Silva 102d7f184c Bug 1797975 - Reset mSkippedComposite when a composite is sucessfully scheduled. r=gfx-reviewers,bradwerth
mSkippedComposite's purpose is to keep track of the fact that the window is not up to date because the previous composite was skipped. This informs RetrySkippedComposite that a new frame is needed to get the latest changes rendered. As soon as we successfully schedule a composite know that the latest changes are en route to be rendered so we don't need RetrySkippedComposite to push an additional frame later.

Differential Revision: https://phabricator.services.mozilla.com/D162297
2022-11-21 14:10:29 +00:00
Nicolas Silva af16db6234 Bug 1797975 - Remove outdated comments about mIsRendering. r=gfx-reviewers,bradwerth
mIsRendering does not appear to exist (anymore).

Differential Revision: https://phabricator.services.mozilla.com/D162296
2022-11-21 14:10:28 +00:00
Nicolas Silva 5a18024f2b Bug 1797975 - Rename CompositeIfNeeded into RetrySkippedComposite. r=gfx-reviewers,bradwerth
The previous name could have related to any situation where a composite is needed such as when animating or receiving transactions, but the function is actually specifically about scheduling a new composite if the previous one was skipped.

Differential Revision: https://phabricator.services.mozilla.com/D162295
2022-11-21 14:10:28 +00:00
Nicolas Silva 6352b3770e Bug 1797975 - Simplify the compositor throttling logic. r=gfx-reviewers,bradwerth
- Ensure that the pending frame count is decremented by HandleFrameOneDoc even after some of the rare early-outs.
- Always check TooManyPendingFrames in CompositeToTarget.

It is unclear that these will actually catch (all of) the extraneous skipped frames. If anything, the simplification will make further investigation easier.

Differential Revision: https://phabricator.services.mozilla.com/D162294
2022-11-21 14:10:27 +00:00
Butkovits Atila 887a77ba5f Backed out 13 changesets (bug 1794070) for causing failures at browser_test_swipe_gesture.js. CLOSED TREE
Backed out changeset afe487b23e1c (bug 1794070)
Backed out changeset b119052f690d (bug 1794070)
Backed out changeset 733188f6b7ca (bug 1794070)
Backed out changeset 53273c86140a (bug 1794070)
Backed out changeset e2e39e61efbe (bug 1794070)
Backed out changeset 93b240feb781 (bug 1794070)
Backed out changeset 78aea5c32e14 (bug 1794070)
Backed out changeset 158008a6363b (bug 1794070)
Backed out changeset 3c3e76c8bf49 (bug 1794070)
Backed out changeset 39beb7abc321 (bug 1794070)
Backed out changeset 0ded01fbbd9e (bug 1794070)
Backed out changeset cf4552e5e11b (bug 1794070)
Backed out changeset 317ee240609d (bug 1794070)
2022-11-21 13:41:34 +02:00
Jonathan Kew 5c7ab9c2eb Bug 1801248 - Fix up pointer arithmetic. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162496
2022-11-21 10:07:03 +00:00
sotaro 1ba0c7b034 Bug 1782219 - Protect sVideoBridgeFromProcess by StaticDataMutex r=jrmuizel
sVideoBridgeFromProcess is accessed from some threads.

Differential Revision: https://phabricator.services.mozilla.com/D159356
2022-11-21 05:18:36 +00:00
Hiroyuki Ikezoe 024f31065c Bug 1794070 - Make a pan start event wait for the browser gesture code response. r=botond
So that APZ can wait to handle the event to do overscrolling until the browser
responds that the event wasn't used for gestures.

Differential Revision: https://phabricator.services.mozilla.com/D160438
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe ff188b2a0c Bug 1794070 - Ignore overscrollable check in CanScrollTargetHorizontally. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162362
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe 5a42df888d Bug 1794070 - Introduce PanGestureInput::AllowsSwipe(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160437
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe 5b39846aeb Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-21 03:10:07 +00:00
Hiroyuki Ikezoe ae5bdfff82 Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-21 03:10:07 +00:00
Hiroyuki Ikezoe 3fb8018d34 Bug 1794070 - Check mOverscrollBehaviorAllowsSwipe whether we do the short circuit for swipe. r=botond
Though this isn't a real bug at all since later we check the flag in
nsBaseWidget::MayStartSwipeForAPZ [1], this change includes a browser
mochitest to make sure `overscroll-behavior: contain` prevents swipe
navigations.


[1] https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/widget/nsBaseWidget.cpp#2294

Differential Revision: https://phabricator.services.mozilla.com/D160434
2022-11-21 03:10:06 +00:00
Hiroyuki Ikezoe 7ad2ff3232 Bug 1794070 - Add "overscrolled" state in APZTestData.additionalData. r=botond
We'd like to use this for testing overscroll state in mochitests.

Differential Revision: https://phabricator.services.mozilla.com/D160433
2022-11-21 03:10:05 +00:00
Hiroyuki Ikezoe 4b63d269b4 Bug 1794070 - Do the stuff for short circuit of swipe-to-navigation after calling MaybeRequestContentResponse. r=botond
The stuff calls PanGestureBlockState::SetNeedsToWaitForContentResponse which sets
mWaitingForContentResponse flag, but the flag will clobbered in
MaybeRequestContentResponse().

Differential Revision: https://phabricator.services.mozilla.com/D160432
2022-11-21 03:10:04 +00:00
Hiroyuki Ikezoe 0ddb04728f Bug 1794070 - Remove APZEventStat::ProcessClusterHit declaration. r=botond
The implementation got removed in bug 1618545.
https://hg.mozilla.org/mozilla-central/rev/3de8fd99080d63f47da911afe39f489de5864e9e

Differential Revision: https://phabricator.services.mozilla.com/D160431
2022-11-21 03:10:04 +00:00
Razvan Cojocaru 5cc3982303 Bug 1800530 - Add CoordTyped overloads of FuzzyEqualsAdditive/Multiplicative. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162221
2022-11-19 02:34:27 +00:00
Nicolas Silva fe402f3369 Bug 1794343 - Return a formatted string if mapping fails in get_pbo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D158925
2022-11-18 21:52:11 +00:00
Makoto Kato 298b02cda5 Bug 1787551 - Disable Android's Font Match API on OPPO, realme and OnePlus. r=jfkthame
According to crash data, some devices by OPPO and realme and OnePlus seem to
crash when using Font Match API. I would like to disable it until root cause
finds.

Differential Revision: https://phabricator.services.mozilla.com/D162185
2022-11-18 15:41:47 +00:00
Chris H-C fc358ad992 Bug 1799442 - Update Glean to v51.8.2, rkv to 0.18 r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162345
2022-11-18 13:56:27 +00:00
Mathew Hodson b7382dce22 Bug 1799319 - Disable mozTextStyle in early beta. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161747
2022-11-18 13:05:23 +00:00
Marian-Vasile Laza 023eed4276 Backed out changeset 75acc8e81d81 (bug 1799442) for causing WR tidy bustage. CLOSED TREE 2022-11-18 14:23:58 +02:00
Chris H-C 7655a12f65 Bug 1799442 - Update Glean to v51.8.2, rkv to 0.18 r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162345
2022-11-18 10:15:40 +00:00
Hiroyuki Ikezoe d682b5dbac Bug 1800973 - Make promiseMoveMouseAndScrollWheelOver wait the proper Promise. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162244
2022-11-17 23:21:38 +00:00
Jeff Muizelaar 2e6c5ff40f Bug 1800930 - Add a pref to disable target independent rasterization with D2D. r=lsalzman
This is useful for comparing D2D to wpf-gpu-raster on hardware that
supports target independent rasterization.

Differential Revision: https://phabricator.services.mozilla.com/D162224
2022-11-17 20:46:18 +00:00
Lee Salzman 5f08669bab Bug 1800826 - Remove all clips when reusing a target in Canvas2D. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162237
2022-11-17 03:10:35 +00:00
Lee Salzman f73a41e1ac Bug 1800581 - Use optimized snapshots for drawImage if canvases share internal context. r=aosmond
By default, BorrowSnapshot is pessimistic and forces DrawTargetWebgl to return a data snapshot on
the assumption that the snapshot might be used off thread. However, if we actually know the DrawTarget
we're going to be drawing the snapshot to, then we can check if they're both DrawTargetWebgls with
the same internal SharedContext. In that case, we can use a SourceSurfaceWebgl snapshot which can
pass through a GPU texture to the target. This requires us to plumb the DrawTarget down through
SurfaceFromElement all the way to DrawTargetWebgl to make this decision.

Differential Revision: https://phabricator.services.mozilla.com/D162176
2022-11-17 03:07:18 +00:00
Chris H-C 6f4c8a8306 Bug 1800741 - Update Glean to v51.8.1 r=perry.mcmanis,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162150
2022-11-16 14:18:48 +00:00
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
Jonathan Kew 1734947769 Bug 1797103 - Avoid potential null-deref crash in active_edges. r=gfx-reviewers,lsalzman
With this, which should not change behavior unless we were about to crash,
the testcase completes successfully (although slowly, as it's generating
an 8000-plus page PDF document).

Differential Revision: https://phabricator.services.mozilla.com/D160675
2022-11-01 14:44:35 +00:00
Jens Stutte a93fafd19b Bug 1797688 - Part 2: Bail out from gfxFontInfoLoader::StartLoader InOrBeyond(AppShutdown). r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D160620
2022-11-01 14:08:43 +00:00
Jens Stutte 4e74c37f21 Bug 1798298 - Use nsThread::Shutdown to shut down the CanvasRenderThread. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D160799
2022-11-01 10:11:27 +00:00
Glenn Watson 480db43e21 Bug 1798244 - Port gradient stops to be stored in gpu-buffer r=gfx-reviewers,lsalzman
Port gradient stops to be stored in the gpu-buffer rather than
the gpu-cache. The intent is to land a small use case for the
gpu-buffer code, which will allow us to get an idea if there's any
unexpected performance or driver bugs from the new gpu-buffer code,
before making wider use of this to replace the gpu-cache.

Differential Revision: https://phabricator.services.mozilla.com/D160743
2022-11-01 01:30:47 +00:00
Jamie Nicol 24e878accb Bug 1794438 - Add test for computed reference frame transform with yflip and rotation. r=gfx-reviewers,bradwerth
This test ensures that a y-flip works correctly along with a 90/270
degree transform and a non-square content size.

Depends on D160817

Differential Revision: https://phabricator.services.mozilla.com/D160818
2022-10-31 20:51:43 +00:00
Jamie Nicol 11a9cd13b8 Bug 1794438 - Add ability to test push_computed_frame() to wrench. r=gfx-reviewers,bradwerth
Gecko uses the webrender API DisplayListBuilder.push_computed_frame()
to create a reference frame with a transform specified by a scale_from
size, an optional vertical_flip, and a rotation. This is used for
video.

This patch adds the ability to test this API from wrench yaml. An
example of a test using this capability can be found in the next patch
in this series.

Depends on D160816

Differential Revision: https://phabricator.services.mozilla.com/D160817
2022-10-31 20:51:43 +00:00