Commit Graph

45650 Commits

Author SHA1 Message Date
Jamie Nicol
cf198fa5f7 Bug 1865224 - Avoid invalidating render targets on more Mali GPUs. r=gfx-reviewers,aosmond
We had previously encountered a driver bug on Mali Valhall GPUs where
invalidating render targets once they are no longer required results
in rendering artefacts. This invalidation was purely an optimization,
which probably doesn't help much on Mali architecture anyway, so we
can workaround the bug by skipping the invalidation. See bug 1787520
for details.

The latest Mali Valhall GPUs are also affected. This patch therefore
applies the workaround to *all* "Mali-G" models apart from a list of
known working ones. This means we will avoid hitting this issue again
when the next generation of GPUs are released. Once ARM move on to the
next family we can see whether it is still affected and update the
code accordingly if required.

Differential Revision: https://phabricator.services.mozilla.com/D194063
2023-11-20 17:26:30 +00:00
Emilio Cobos Álvarez
f27edbd417 Bug 1861730 - Remove transition prefixes from nightly too. r=jwatt
Code like the one from comment 7 seems reasonable. Let's try to disable
prefixed transitions along with prefixed transforms in order to minimize
the compat fallout from CSS zoom.

While I was at it I also fixed the prefixed animation entries in the
property database and crashtests. But those aliases remain enabled.

Differential Revision: https://phabricator.services.mozilla.com/D192129
2023-11-20 12:36:30 +00:00
Emilio Cobos Álvarez
ec7a1d06ff Bug 1864425 - Remove PendingAnimationTracker. r=birtles
Instead of starting transitions and animations as a result of a paint,
use the refresh driver tick to do this.

This sets the transition-ready time to the current time during the next
refresh driver tick that it was started on (see mSawTickWhilePending).

This is similar to what's described in the bugs comments, and seems to
work nicely in practice.

We could easily change that (current time) by a paint-based time if
needed (when available), which would be more similar to what we were
doing. But I'd rather do the simple thing for now, and land this shortly
after the soft freeze is over so that we have time to watch out for
regressions.

There's one regression on a test that birtles wrote (using an XHR doc
and switching the timeline to a rendered doc's timeline).

We use the timeline's document rather than the target document to
determine whether to trigger animations now. That's one of the cases
where we'd keep vsync perma-running without this patch, and Chrome also
fails that test. Maybe the test should be removed / the spec should be
tweaked to allow this behavior?

This causes some progression in some CSS transitions tests too, and I
added an extra test for the vsync behavior.

Over-all this is much simpler to reason about and I think we should try
to do this.

Differential Revision: https://phabricator.services.mozilla.com/D193583
2023-11-20 09:31:41 +00:00
Cristian Tuns
d7102b46e2 Backed out changeset b403bb5b1c83 (bug 1861730) for causing mochitest failures in test_moz_prefixed_properties.html CLOSED TREE 2023-11-19 07:03:19 -05:00
Emilio Cobos Álvarez
0fbcd96216 Bug 1861730 - Remove transition prefixes from nightly too. r=jwatt
Code like the one from comment 7 seems reasonable. Let's try to disable
prefixed transitions along with prefixed transforms in order to minimize
the compat fallout from CSS zoom.

While I was at it I also fixed the prefixed animation entries in the
property database and crashtests. But those aliases remain enabled.

Differential Revision: https://phabricator.services.mozilla.com/D192129
2023-11-19 11:07:57 +00:00
Nicolas Silva
cda6d17d86 Bug 1865344 - Cap a few WebGPU limits to reasonable values. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193917
2023-11-17 23:10:14 +00:00
Sandor Molnar
faa8b18a42 Backed out changeset 19ae48adbcb0 (bug 1865344) for causing build bustages. CLOSED TREE 2023-11-18 00:41:48 +02:00
Nicolas Silva
8a299d5548 Bug 1865344 - Cap a few WebGPU limits to reasonable values. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193917
2023-11-17 22:17:08 +00:00
Cosmin Sabou
67fb6731e0 Backed out 2 changesets (bug 1865344) for causing build bustages. CLOSED TREE
Backed out changeset 5d8a8fd9c20d (bug 1865344)
Backed out changeset 066e630d3ddf (bug 1865344)
2023-11-17 22:58:29 +02:00
Cosmin Sabou
b85f977f48 Bug 1865344 - Fix typo and hopefully unbust builds. a=bustage-fix CLOSED TREE 2023-11-17 22:35:52 +02:00
Nicolas Silva
2620a4921c Bug 1865344 - Cap a few WebGPU limits to reasonable values. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193917
2023-11-17 20:11:38 +00:00
Nicolas Silva
782a28a3e5 Bug 1857929 - Set the wgpu flag to filter out labels. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193812
2023-11-17 18:39:06 +00:00
Teodor Tanasoaia
efa811a62f Bug 1865218 - Update wgpu to revision 3ec547cdcaaa14488327d8f1b5f7736278c4178d. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193850
2023-11-17 18:26:48 +00:00
Sebastian Hengst
e246c64e78 Bug 1863630 - adjust reftest expectations on Windows after directWrite update. r=jfkthame
Since the upgrade of the Windows testers to the October 2023 version of Windows,
the anti-aliasing returns different results. The directWrite version changed
from 10.0.22621.1635 to 10.0.22621.2428

Differential Revision: https://phabricator.services.mozilla.com/D193926
2023-11-17 17:17:29 +00:00
Natalia Csoregi
37349c99af Backed out changeset 6c001801363e (bug 1857929) for causing build bustages. CLOSED TREE 2023-11-17 18:46:10 +02:00
Nicolas Silva
aef69a4d8e Bug 1857929 - Set the wgpu flag to filter out labels. r=webgpu-reviewers,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D193812
2023-11-17 16:15:59 +00:00
Glenn Watson
4cb33ca6a0 Bug 1863688 - Fix translucent + opaque RGBA compositor surface overlays. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D193713
2023-11-16 22:08:39 +00:00
stransky
61f8c45661 Bug 1856560 [Wayland] Rename SavedGLSurface to WaylandOffscreenGLSurface r=lsalzman
Depends on D190152

Differential Revision: https://phabricator.services.mozilla.com/D193545
2023-11-15 08:54:58 +00:00
stransky
f84a5585aa Bug 1856560 Implement GLContextEGL::DestroySurface() and use to release EGL surfaces r=lsalzman
Use sigle point of release for EGL surfaces (GLContextEGL::DestroySurface()) and also release Wayland related structures here.

Differential Revision: https://phabricator.services.mozilla.com/D190152
2023-11-15 08:54:58 +00:00
Jonathan Kew
3ce96c6ffa Bug 1803406 - Activate supplementary fonts in all processes, to ensure consistent font lists across macOS processes. r=gfx-reviewers,lsalzman
Removed the use of kCTFontOptionsPreferSystemFont that was in the previous version
of this patch, given the issues we saw in bug 1858869 -- that option appears to be
much too aggressive about using system fonts rather than user-installed ones. So
we retain only the gfxPlatformMac font-activation change.

Differential Revision: https://phabricator.services.mozilla.com/D170286
2023-11-14 17:30:53 +00:00
Jeff Muizelaar
8263a24232 Bug 1864537 - Drop an unused deviceOffset parameter. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D193487
2023-11-14 04:48:54 +00:00
Otto Länd
32fb91a53b Bug 1863367: apply code formatting via Lando
# ignore-this-changeset
2023-11-14 02:14:37 +00:00
Andrew Osmond
c13f529a55 Bug 1863367 - Part 8. Implement NVImage::BuildSurfaceDescriptorBuffer. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D193083
2023-11-14 02:04:07 +00:00
Andrew Osmond
c889b9bee9 Bug 1863367 - Part 7. Implement BuildSurfaceDescriptorBuffer on Image subclasses for Windows. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D193082
2023-11-14 02:04:06 +00:00
Andrew Osmond
3c3ae94229 Bug 1863367 - Part 6. Implement MacIOSurfaceImage::BuildSurfaceDescriptorBuffer for OSX. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D193081
2023-11-14 02:04:06 +00:00
Andrew Osmond
ca9eb4d975 Bug 1863367 - Part 5. Implement DMABufSurfaceImage::BuildSurfaceDescriptorBuffer for Linux. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D192886
2023-11-14 02:04:05 +00:00
Andrew Osmond
75cd95e55c Bug 1863367 - Part 4. Implement GLImage::BuildSurfaceDescriptorBuffer. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D193080
2023-11-14 02:04:05 +00:00
Andrew Osmond
10a47bd453 Bug 1863367 - Part 2. Refactor ReadPixelsIntoDataSurface to allow reading into buffers. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D192884
2023-11-14 02:04:04 +00:00
Andrew Osmond
dc22ba7b9e Bug 1863367 - Part 1. Add Image::BuildSurfaceDescriptorBuffer and use for RDD readback. r=gfx-reviewers,lsalzman
This patch adds a new method for Image subclasses to override in order
to avoid extra copies when the ultimate destination of a readback is
into an IPDL Shmem. It also makes RemoteDecoderManagerParent's
RecvReadback take advantage of it.

Differential Revision: https://phabricator.services.mozilla.com/D192883
2023-11-14 02:04:04 +00:00
Jeff Muizelaar
ba10763cf9 Bug 1864512 - Don't bother to set params.dt in GetScaledFont. r=jfkthame
It's not used in any of the implementations and this will let us
avoid passing the DrawTarget through to a variety of places.

Differential Revision: https://phabricator.services.mozilla.com/D193462
2023-11-13 21:49:05 +00:00
Jan-Erik Rediger
48117e62df Bug 1860506 - Update to Glean v55 and glean_parser v10. r=TravisLong,supply-chain-reviewers,mach-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D192960
2023-11-13 14:29:54 +00:00
Tom Schuster
c0eb5b24d2 Bug 1847990 - Font fingerprinting detection and telemetry. r=timhuang,jfkthame,anti-tracking-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D192074
2023-11-13 10:05:22 +00:00
Jonathan Kew
a9d1612b31 Bug 1721612 - (more followup) Try to make clang-tidy happier, and cache the tracking value for a given px size. r=gfx-reviewers,lsalzman
No change in behavior, but should be a minor (imperceptible?) perf win for fonts
with a 'trak' table.

Differential Revision: https://phabricator.services.mozilla.com/D193321
2023-11-11 10:36:18 +00:00
Jonathan Kew
e23f480fab Bug 1721612 - (followup) Rename AdjustAdvancesForSyntheticBold to ApplyTrackingToClusters, and clamp the adjusted advance to avoid becoming negative. r=gfx-reviewers,lsalzman
This is not necessary to fix the observed bug, but as a precaution against excessive
negative tracking, let's clamp the adjusted advance so that it can't become negative
(which seems unlikely to end well).

Also rename the method, given that it is not only used for synthetic bold adjustments
any longer.

(No change in behavior, except in the edge-case of a font that has such small
advances and extreme tracking that it tries to go backwards...)

Depends on D193288

Differential Revision: https://phabricator.services.mozilla.com/D193289
2023-11-11 10:36:18 +00:00
Jonathan Kew
737870d844 Bug 1721612 - Fix AdjustAdvancesForSyntheticBold to reliably handle negative adjustments. r=gfx-reviewers,lsalzman
This method (as its name suggests) was originally created to handle synthetic-bold,
which only ever increases the advance, and so its use of an unsigned value for the
adjustment worked ok.

But when applying tracking, the adjustment may be negative, and assigning this to
a uint32_t value takes us into undefined-behavior territory. It seems this worked
"as expected" on x86_64 (using modulo arithmetic), but on arm64 the value just
clamped to zero, and the intended negative tracking doesn't get applied.

Making it an int32_t results in consistent behavior across both architectures.

Differential Revision: https://phabricator.services.mozilla.com/D193288
2023-11-11 10:36:17 +00:00
Noemi Erli
2638d323a7 Backed out 3 changesets (bug 1721612) for causing failures in transform-input-002.html CLOSED TREE
Backed out changeset a19116887ffa (bug 1721612)
Backed out changeset 665f815ddf6f (bug 1721612)
Backed out changeset d5826f3cfadf (bug 1721612)
2023-11-11 03:29:08 +02:00
Jonathan Kew
447f00168e Bug 1721612 - (more followup) Try to make clang-tidy happier, and cache the tracking value for a given px size. r=gfx-reviewers,lsalzman
No change in behavior, but should be a minor (imperceptible?) perf win for fonts
with a 'trak' table.

Differential Revision: https://phabricator.services.mozilla.com/D193321
2023-11-10 20:02:00 +00:00
Jonathan Kew
080877da67 Bug 1721612 - (followup) Rename AdjustAdvancesForSyntheticBold to ApplyTrackingToClusters, and clamp the adjusted advance to avoid becoming negative. r=gfx-reviewers,lsalzman
This is not necessary to fix the observed bug, but as a precaution against excessive
negative tracking, let's clamp the adjusted advance so that it can't become negative
(which seems unlikely to end well).

Also rename the method, given that it is not only used for synthetic bold adjustments
any longer.

(No change in behavior, except in the edge-case of a font that has such small
advances and extreme tracking that it tries to go backwards...)

Depends on D193288

Differential Revision: https://phabricator.services.mozilla.com/D193289
2023-11-10 20:02:00 +00:00
Jonathan Kew
8dae76f286 Bug 1721612 - Fix AdjustAdvancesForSyntheticBold to reliably handle negative adjustments. r=gfx-reviewers,lsalzman
This method (as its name suggests) was originally created to handle synthetic-bold,
which only ever increases the advance, and so its use of an unsigned value for the
adjustment worked ok.

But when applying tracking, the adjustment may be negative, and assigning this to
a uint32_t value takes us into undefined-behavior territory. It seems this worked
"as expected" on x86_64 (using modulo arithmetic), but on arm64 the value just
clamped to zero, and the intended negative tracking doesn't get applied.

Making it an int32_t results in consistent behavior across both architectures.

Differential Revision: https://phabricator.services.mozilla.com/D193288
2023-11-10 20:02:00 +00:00
Hiroyuki Ikezoe
0ee300659e Bug 1784757 - Ensure the scroll position change in the parent document arrived in the child OOP iframe. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D193268
2023-11-10 09:45:13 +00:00
Makoto Kato
36497ee57a Bug 1858843 - Remove pre-Lollipop code from C/C++. r=geckoview-reviewers,media-playback-reviewers,padenot,owlish,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D191602
2023-11-09 17:39:59 +00:00
Cosmin Sabou
766324909f Backed out changeset cfe0bbc666b8 (bug 1784757) in order to wait some more for a patch. 2023-11-09 18:09:48 +02:00
Cosmin Sabou
7eab046601 Bug 1784757 - Disable browser_test_group_fission.js on mac and windows !debug for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D193209
2023-11-09 15:21:52 +00:00
Nicolas Silva
7c3b826317 Bug 1863526 - Update wgpu to revision ba3d6898f18c25bb5a2b8ba18790134b97758e83. r=webgpu-reviewers,supply-chain-reviewers,jimb
Differential Revision: https://phabricator.services.mozilla.com/D192950
2023-11-09 10:24:27 +00:00
Norisz Fay
76b13c585e Backed out changeset 41fb585df057 (bug 1862306) for causing high bc failure rate on test_group_mouseevents.html | helper_drag_root_scrollbar_mouse_not_over_thumb.html CLOSED TREE 2023-11-09 07:50:42 +02:00
sotaro
30014df55f Bug 1863106 - Set D3D11_BIND_UNORDERED_ACCESS if texture usage has STORAGE_BINDING r=lsalzman
wgpu dx12 requests to Texture that if its usage has STORAGE_BINDING, D3D12 resource needs to have D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS.

The equivalent of D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS in D3D11 is D3D11_BIND_UNORDERED_ACCESS. Therefore, D3D11 textures in ExternalTextureD3D11 also require D3D11_BIND_UNORDERED_ACCESS if STORAGE_BINDING is used.

Differential Revision: https://phabricator.services.mozilla.com/D192976
2023-11-09 00:42:41 +00:00
Razvan Cojocaru
37dfc39ae2 Bug 1862306 - Add a test that checks that dragging from a starting position that's not on the thumb. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D192409
2023-11-08 20:14:54 +00:00
stransky
f62a05d8f8 Bug 1862957 [Linux] Set gfxVars::SetDrmRenderDevice() even if dmabuf operations are disabled r=emilio
GetAndInitDeviceDisplay() uses DrmRenderDevice to create GL context over drm device so we should set it even if dmabuf operations are disabled.

Differential Revision: https://phabricator.services.mozilla.com/D192933
2023-11-08 11:36:55 +00:00
Stanca Serban
7adce61c32 Backed out changeset bd51857879db (bug 1862957) for causing WakeLock related failures. CLOSED TREE 2023-11-08 14:30:54 +02:00
stransky
dffbfb9242 Bug 1862957 [Linux] Set gfxVars::SetDrmRenderDevice() even if dmabuf operations are disabled r=emilio
GetAndInitDeviceDisplay() uses DrmRenderDevice to create GL context over drm device so we should set it even if dmabuf operations are disabled.

Differential Revision: https://phabricator.services.mozilla.com/D192933
2023-11-08 11:36:55 +00:00