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

44549 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe f6eeba9f7b Bug 1816032 - Schedule a timeout to avoid waiting for the browser gesture responce forever. r=botond
The browser mochitest in this change causes a timeout without this fix since
the overscroll gutter gets stuck thus we will never get "APZ:TransformEnd".

Differential Revision: https://phabricator.services.mozilla.com/D171421
2023-03-07 03:36:07 +00:00
Botond Ballo 0a75e8f45a Bug 1820338 - Further fuzzing tweaks to scrollbar sizing tests. r=rzvncj
Differential Revision: https://phabricator.services.mozilla.com/D171778
2023-03-06 21:41:38 +00:00
Jamie Nicol 17ccf1e5e9 Bug 1819540 - Apply Mali driver bug workaround on additional GPU. r=gfx-reviewers,lsalzman
In bug 1787520 and bug 1795614 we added a workaround for a driver bug
on Mali G78 and G710 GPUs. It turns out this also affects the G77, now
that some devices have received software updates containing an updated
driver version. This patch applies the workaround to the G77 as well,
as long as the driver version is affected.

Differential Revision: https://phabricator.services.mozilla.com/D171740
2023-03-06 19:57:39 +00:00
Teodor Tanasoaia 1c86b28363 Bug 1818748 - Update wgpu to revision 73b4257b17cc62ecc8df6d6aa3730bd9c6cba4b9. r=webgpu-reviewers,jimb
Differential Revision: https://phabricator.services.mozilla.com/D170905
2023-03-06 17:00:15 +00:00
sotaro 592d27074f Bug 1817674 - Change RDDProcess shutdown from XPCOMShutdown event to gfxPlatform::ShutdownLayersIPC() r=KrisWright,gfx-reviewers,lsalzman
There was a case that RDD process was shut down during WebRender rendering. It happens by RDDProcess shutdown during XPCOMShutdown event. In this case, there could be a widget that nsBaseWidget::Shutdown() has not yet been called.

RDD process must be shutdown after all nsBaseWidget::Shutdown()s are called. gfxPlatform::ShutdownLayersIPC() is called immediately after XPCOMShutdown event in ShutdownXPCOM(). Then the ShutdownLayersIPC() is a good place to handle RDDProcess shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D171313
2023-03-05 08:47:22 +00:00
Lee Salzman 620b4abe8f Bug 1777849 - Require HW-WR for Accelerated Canvas2D. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D171638
2023-03-05 03:11:08 +00:00
Botond Ballo 702de69191 Bug 1818702 - Use reftest-zoom instead of layout.css.devPixelsPerPx in test. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D171627
2023-03-04 09:42:41 +00:00
Stanca Serban c4c9c4a5b6 Backed out changeset bbe1109a1f94 (bug 1818702) for causing reftest failures in gfx/layers/apz/test/reftest. CLOSED TREE 2023-03-04 04:17:54 +02:00
Botond Ballo c1ff3c969e Bug 1818702 - Use reftest-zoom instead of layout.css.devPixelsPerPx in test. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D171627
2023-03-04 00:22:47 +00:00
Botond Ballo 6e20a2a104 Bug 1815372 - Introduce OuterCSSPixel to represent quantities in CSS pixels of content surrounding a scroll frame. r=dlrobertson
This is currently used mostly for calculations related to scrollbars,
which are an example of content outside the scroll frame (and in
particular not subject to the zoom of a zoomable scroll frame).

As part of this change, FrameMetrics::
CalculateCompositionBoundsInCssPixelsOfSurroundingContent() is
renamed to CalculateCompositionBoundsInOuterCSSPixels() for brevity.

Differential Revision: https://phabricator.services.mozilla.com/D171142
2023-03-03 23:57:14 +00:00
Botond Ballo 44e9f66e2c Bug 1815372 - Factor out a TranslateThumb() helper function. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D171141
2023-03-03 23:57:13 +00:00
Marco Castelluccio eb25a67e10 Bug 1759728 - Remove unused CheckBufferSize function. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D171363
2023-03-03 23:33:53 +00:00
Lee Salzman a990878896 Bug 1817442. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D170689
2023-03-03 20:46:24 +00:00
Botond Ballo 27de6799c7 Bug 1819848 - Move calculations that are only needed for the 'if (haveAsyncZoom)' branch into that branch. r=rzvncj
Differential Revision: https://phabricator.services.mozilla.com/D171439
2023-03-03 16:49:50 +00:00
Botond Ballo aa78a6537b Bug 1819848 - If we don't scale the thumb, use the unscaled length in the position calculation. r=rzvncj
Differential Revision: https://phabricator.services.mozilla.com/D171438
2023-03-03 16:49:49 +00:00
Botond Ballo 5864496b95 Bug 1819848 - Only scale the thumb in the compositor if we are async-zoomed. r=rzvncj
In principle, the calculated scale should be 1.0 if we are not async-zoomed,
but sometimes things like rounding error can cause the scale to be slightly
off.

Differential Revision: https://phabricator.services.mozilla.com/D171437
2023-03-03 16:49:49 +00:00
Jonathan Kew a885dbf9a2 Bug 1819272 - Implement ScaledFontDWrite::HasVariationSettings(), so that we can use the print-as-paths option for PDF output with variation fonts on Windows. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D171565
2023-03-03 14:06:07 +00:00
Jeff Muizelaar a6407ad292 Bug 1818820. Fix drawing of some blend modes with non-complex clips. r=bas
This ensures that we have our clips pushed when we expect them to.

Differential Revision: https://phabricator.services.mozilla.com/D171492
2023-03-03 11:54:49 +00:00
Updatebot f7adfaac24 Bug 1820063 - Update harfbuzz to 7.1.0 r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D171519
2023-03-03 09:20:12 +00:00
Botond Ballo e3c4fb73d8 Bug 1818702 - Handle a non-default device scale correctly in ScrollThumbUtils. r=rzvncj
There were two problems:

 * The line scroll amount was queried in LayoutDevice pixels
   and used as CSS pixels without applying the device scale.

 * The thumb length was rounded in CSS pixels. To match main
   thread behaviour, it needs to be rounded in LayoutDevice
   pixels.

Differential Revision: https://phabricator.services.mozilla.com/D171435
2023-03-03 06:33:00 +00:00
Brad Werth 2c839a9c54 Bug 1817691 Part 2: Make HandlePartialUpdate tolerate the same fuzziness as NotifySurfaceReady. r=mstange
Now that NotifySurfaceReady will clean up a 1-pixel strip invalid region,
this change makes HandlePartialUpdate allow a 1-pixel strip invalid
region. This should hopefully make HandlePartialUpdate only crash on the
cases that will also crash NotifySurfaceReady.

Differential Revision: https://phabricator.services.mozilla.com/D171500
2023-03-03 00:57:27 +00:00
Cosmin Sabou 2057febcbf Backed out changeset e51a9dda4b96 (bug 1817674) for causing asan failures in __pthread_mutex_lock. 2023-03-03 02:39:51 +02:00
Cosmin Sabou 8c80747241 Backed out changeset 451ce16f5fd1 (bug 1817691) for causing region update related assertion failures. CLOSED TREE 2023-03-03 01:02:21 +02:00
sotaro 04266eba2f Bug 1817674 - Change RDDProcess shutdown from XPCOMShutdown event to gfxPlatform::ShutdownLayersIPC() r=KrisWright,gfx-reviewers,lsalzman
There was a case that RDD process was shut down during WebRender rendering. It happens by RDDProcess shutdown during XPCOMShutdown event. In this case, there could be a widget that nsBaseWidget::Shutdown() has not yet been called.

RDD process must be shutdown after all nsBaseWidget::Shutdown()s are called. gfxPlatform::ShutdownLayersIPC() is called immediately after XPCOMShutdown event in ShutdownXPCOM(). Then the ShutdownLayersIPC() is a good place to handle RDDProcess shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D171313
2023-03-02 22:22:58 +00:00
Brad Werth 5546663d79 Bug 1817691 Part 2: Make HandlePartialUpdate tolerate the same fuzziness as NotifySurfaceReady. r=mstange
Now that NotifySurfaceReady will clean up a 1-pixel strip invalid region,
this change makes HandlePartialUpdate allow a 1-pixel strip invalid
region. This should hopefully make HandlePartialUpdate only crash on the
cases that will also crash NotifySurfaceReady.

Differential Revision: https://phabricator.services.mozilla.com/D171500
2023-03-02 22:14:08 +00:00
Jonathan Kew 3be9a8c3bb Bug 1819843 - Add missing harfbuzz source file to moz.build list. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D171446
2023-03-02 18:45:39 +00:00
Jeff Muizelaar d4b665dc34 Bug 1819966 - Add some more tests around single number versioning. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D171488
2023-03-02 18:34:06 +00:00
sotaro f47f7a1973 Bug 1819850 - Remove TextureHost::DisableExternalTextures() r=gfx-reviewers,jnicol
TextureHost::DisableExternalTextures() is no longer used.

Differential Revision: https://phabricator.services.mozilla.com/D171442
2023-03-02 11:42:06 +00:00
Glenn Watson 3c1aea8dd2 Bug 1811978 - Enable the new tiled rendering path, update test expectations r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D167630
2023-03-02 00:58:44 +00:00
Cristian Tuns aa39d6bc20 Merge mozilla-central to autoland on a CLOSED TREE 2023-03-01 18:03:12 -05:00
Ryan VanderMeulen fdeae6aef2 Backed out changesets 38a4e166571c and 88798511f9ec (bug 1817126) for causing bug 1819724. 2023-03-01 17:52:33 -05:00
sotaro bfa93d0546 Bug 1769404 - Do not handle invalid message caused by moving tabs between different windows r=gfx-reviewers,aosmond
The problem happened by ProcessWebRenderParentCommands() handling with invalid transaction message. When a Tab is moved between Windows, WebRenderBridgeParent::UpdateWebRender() is called. It update mApi and mIdNamespace. Then all WebRender related resources are freed. Then a message with old mIdNamespace from WebRenderBridgeChild becomes invalid. Then we should not handle the obsoleted message.

Differential Revision: https://phabricator.services.mozilla.com/D170563
2023-03-01 21:51:59 +00:00
Brad Werth 51eda373b8 Bug 1808155 Part 2: Make VIDEO_LOG note events that will cause the video layer to rebuild. r=mstange
There are only a few things that could cause the video layer to be
rebuilt:
1) The mMutatedSpecializeVideo flag being set.
2) A new layer object being created to host for the video.

This patch more thoroughly documents instances of case 1 by adding
VIDEO_LOG message to anything that sets the mMutatedSpecializeVideo flag.

It also makes some attempt to identify case 2 by adding a VIDEO_LOG
message whenever we destroy a layer that has ever displayed a video
texture. If a log message like this is followed by a message that a new
video layer is created, it is a strong signal that we are unexpectedly
throwing away our external surface handles when we'd like to keep using
them.

Differential Revision: https://phabricator.services.mozilla.com/D171301
2023-03-01 20:57:58 +00:00
Brad Werth 0486642892 Bug 1658986 Part 2: Add region stringification to gfxCriticalError before crashing. r=mstange
We're headed for a crash, so this change makes gfxCriticalError have more
information that will help us understand the crash. Unlike some other
error-checking code in this class, it is not NIGHTLY_BUILD because the
crash signatures in this Bug are reported in Beta and beyond.

Differential Revision: https://phabricator.services.mozilla.com/D171390
2023-03-01 20:57:12 +00:00
sotaro d62a6e32ad Bug 1816482 - Add lock/sync handling to D3D11ShareHandleImage::MaybeCreateNV12ImageAndSetData() r=gfx-reviewers,lsalzman
Lock handling is borrowed from D3D11YCbCrImage::SetData(). But ID3D11Texture2D of D3D11TextureData does not use keyed mutex. Since if D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is used, ID3D11Texture2D could not be used for video overlay. Then D3D11TextureData uses manual synchronization with sync object like D3D11DXVA2Manager::CopyToImage().

Differential Revision: https://phabricator.services.mozilla.com/D171056
2023-03-01 08:17:07 +00:00
Makoto Kato 051c921a72 Bug 1813573 - Part 2. Restart vsync when refresh rate is changed. r=geckoview-reviewers,owlish
When refresh rate is changed, `DisplayListener` is called. So we restart vsync
when refresh rate may be changed.

Differential Revision: https://phabricator.services.mozilla.com/D168666
2023-03-01 03:12:32 +00:00
Makoto Kato 9aca857df0 Bug 1813573 - Part 1. Clean up AndroidVsyncSource to get current refresh rate when enabling vsync. r=geckoview-reviewers,owlish
Newer Android supports multiple refresh rate that is dynamically changed.
Actually, GeckoView will always pass the refresh rate value to vsync when
getting it first time.

So this fix changes that GeckoView gets the refresh rate when vsync is started.

Differential Revision: https://phabricator.services.mozilla.com/D168665
2023-03-01 03:12:31 +00:00
Hiroyuki Ikezoe e458d4423f Bug 1817126 - Implement GetUnsnappedLayoutScrollRange and use it in WantAsyncScroll. r=tnikkel
Depends on D170465

Differential Revision: https://phabricator.services.mozilla.com/D170466
2023-03-01 03:11:37 +00:00
Marian-Vasile Laza 6c1f72e279 Backed out 2 changesets (bug 1817126) for wpt failures on scrollable-overflow-zero-one-axis.html. CLOSED TREE
Backed out changeset 1a1fa9a635b8 (bug 1817126)
Backed out changeset 0a1f7b5bed45 (bug 1817126)
2023-03-01 04:51:48 +02:00
Glenn Watson 3844186dc3 Bug 1819224 - Fix buffer size bug in gpu-buffer r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D171167
2023-03-01 00:13:08 +00:00
Brad Werth 75eeec6a99 Bug 1768495 Part 4: Disable window occlusion tracker pref on crashtests that rely on a running compositor. r=emilio
These crashtests rely upon either a requestAnimationFrame callback or a
MozAfterPaint event. Those currently won't happen when the compositor is
paused, and on Windows these crashtests are occluded, which will now pause
the compositor. To deal with this, we disable the occlusion tracking pref
on Windows. Other platforms seem not to treat the crashtests as occluded,
so their compositors keep running.

Differential Revision: https://phabricator.services.mozilla.com/D171137
2023-02-28 23:04:54 +00:00
Hiroyuki Ikezoe bf9d5b4f09 Bug 1817126 - Implement GetUnsnappedLayoutScrollRange and use it in WantAsyncScroll. r=tnikkel
Depends on D170465

Differential Revision: https://phabricator.services.mozilla.com/D170466
2023-02-28 22:19:24 +00:00
Daniel Holbert 25409964a2 Bug 1818157: Backout changeset 510d250fd545 (bug 1814398) and e44b3ab61ae4 (bug 1817212) for introducing a performance regression. CLOSED TREE 2023-02-28 11:23:00 -08:00
Glenn Watson db38a6636e Bug 1818400 - Optimize primitive dependency checks in picture caching. r=gfx-reviewers,ahale
The main goal of this is to fix an implementation detail where the
WR code had to read every primitive in the tile even when checking
if a small sub-tile was valid (as the advance amounts of the
primitive dependency array vectors was stored in each primitive).

However, this patch itself is quite a significant optimization, it
improves displaylist_mutate by ~16%.

Instead of maintaining separate arrays for each dependency, use
a single byte array and use peek-poke to store these dependencies.

This simplifies the code for comparing dependencies, and makes the
traversal of sparse index buffers of the primitive array much faster.

Differential Revision: https://phabricator.services.mozilla.com/D170710
2023-02-28 19:52:41 +00:00
Chris H-C 319a2387c2 Bug 1816454 - Update Glean SDK to v52.3.0 r=TravisLong,supply-chain-reviewers,emilio
Also update some FOG tests that are now incorrect (label limits have been
lifted).

The `default_features = false` on `env_logger` are to avoid a new, duplicate
dependency on hermit-abi.

Differential Revision: https://phabricator.services.mozilla.com/D170816
2023-02-28 16:44:02 +00:00
Sandor Molnar c7778b99c0 Backed out changeset 1c6351a80663 (bug 1819097) for causing macOS bc failures in security/sandbox/test/browser_bug1393259.js CLOSED TREE 2023-02-28 19:07:51 +02:00
Jonathan Kew 988a2a4cab Bug 1819097 - Avoid repeating InitFontList due to RegisteredFontsChanged notification during startup on macOS. r=gfx-reviewers,lsalzman
During font-list initialization, we call Core Text to "activate" the supplemental language fonts,
and potentially any bundled fonts shipped with the app. But this generates an OS notification,
which if we process it will cause a redundant rebuild of our list. So to avoid this, set a flag
when we activate the fonts, telling us that the upcoming notification can be ignored.

Differential Revision: https://phabricator.services.mozilla.com/D171205
2023-02-28 10:36:59 +00:00
Jed Davis 3219af97cc Bug 1763625 - Refactor how we access child process handles. r=nika,media-playback-reviewers,karlt
Differential Revision: https://phabricator.services.mozilla.com/D169777
2023-02-28 03:41:51 +00:00
Lee Salzman a3fb56e5ce Bug 1818929 - Don't disable THREADSAFE_GL for X11, but leave stack size fixes from bug 1777849. r=aosmond,gfx-reviewers
Running WebGL on the Renderer thread is causing inexplicable browsertime harness failures. Since there is
still contention with the main thread, moving WebGL work from the CanvasRenderer thread to the Renderer
thread probably has only a small impact on the incidence of bug 1777849.

However, there were other stack size issues fixed there, so we want to leave the stack size fixes in
place.

Differential Revision: https://phabricator.services.mozilla.com/D171147
2023-02-27 22:57:43 +00:00
Csoregi Natalia 43c5854833 Backed out changeset dc92467cea22 (bug 1763625) for causing memory-related crashes and failures. CLOSED TREE 2023-02-28 00:52:22 +02:00