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

44218 Коммитов

Автор SHA1 Сообщение Дата
Jim Blandy d50d1e6b18 Bug 1806780: Don't enable Vulkan WebGPU backend on OSX. r=teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D165341
2022-12-22 19:22:45 +00:00
Sasaki Keiya 6efba9f817 Bug 1804193 - extract glyph rasterizer as independent lib r=gfx-reviewers,nical,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D164859
2022-12-22 10:47:44 +00:00
Jonathan Kew 27fe73e0a8 Bug 1806844 - Use lazier initialization for the macOS system font family. r=gfx-reviewers,lsalzman
This should marginally improve content-process startup for processes that don't immediately
need to use the system font. No actual change in behavior, just taking the initialization
of the system-font faces out of the startup path.

Differential Revision: https://phabricator.services.mozilla.com/D165386
2022-12-22 09:52:29 +00:00
Mike Hommey 4f24e132f8 Bug 1804359 - Update uuid to 1.x. r=emilio,janerik,webdriver-reviewers,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D164008
2022-12-22 09:11:10 +00:00
Hiroyuki Ikezoe 79ff9afbce Bug 1803992 - Call BrowserTestUtils.waitForContentEvent before awaiting "apz-repaints-flushed" in content. r=botond
It will ensure that the BrowserTestUtils.waitForContentEvent has finished
setting up the event listener in content before sending native pan events.

Differential Revision: https://phabricator.services.mozilla.com/D165344
2022-12-21 22:43:19 +00:00
Marco Castelluccio 68e935a7d0 Bug 1790816 - Reformat gfx/gl/GLConsts.py with isort. r=linter-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165289
2022-12-21 16:25:54 +00:00
Nicolas Silva aa31db8497 Bug 1806430 - Don't validate bitflags in server.rs. r=gfx-reviewers,ErichDonGubler
wgpu now gracefully validates invalid bit patterns and produces a nicer error message.

Differential Revision: https://phabricator.services.mozilla.com/D165034
2022-12-21 10:00:50 +00:00
Marian-Vasile Laza 74bda87ddf Backed out 3 changesets (bug 1799258) for causing GTest-1proc failures on Span. CLOSED TREE
Backed out changeset 0facab7b9a1d (bug 1799258)
Backed out changeset 4f9ee3537468 (bug 1799258)
Backed out changeset 12e98a3054d0 (bug 1799258)
2022-12-21 01:41:43 +02:00
Kelsey Gilbert 7212a57acc Bug 1799258 - Do color-management on Windows+DComp via IDCompositionFilterEffects. r=sotaro
+ Add gfx.color_management.rec709_gamma_as_srgb:true. :'(

In particular, rec709(16/255) -> srgb(31/255). Even though it's
technically correct, it's practically-speaking incorrect, since that's
not what Chrome does, nor what the web expected for years and years.

In practice, basically everyone expects gamma to just be completely
ignored.

What people expect:
* Pretend gamut is srgb(==rec709), but stretch this naively for the
  display. If you have a display-p3-gamut display, srgb:0.5 expects to
  be displayed as display:0.5, which will be display-p3:0.5 to the eyes.
* Pretend all content gammas (TFs) are srgb(!=rec790), and then bitcast this
  naively for the display. E.g. rec709(16/255) should
  display the same as srgb(16/255), not srgb(31/255). (Note: display-p3
  uses srgb gamma) But if your display has e.g. gamma=3.0, don't
  convert or compensate.

This is a formalization of what you get when you spend decades ignoring
color management, and people build things based on behavior-in-practice,
not behavior-in-theory.

Also:
+ gfx.color_management.native_srgb:true for Windows, so we don't use the
  display color profile, which no one else does.
+ Add rec2020_gamma_as_rec709, so we have a path towards maybe having
  rec2020 use its correct transfer function, rather than srgb (like
  rec709).

Differential Revision: https://phabricator.services.mozilla.com/D161857
2022-12-20 22:47:53 +00:00
Kelsey Gilbert 2bda23086f Bug 1799258 - Add prereq Colorspaces stuff, including generic gamma->linear LUT inversion approximation. r=gfx-reviewers,bradwerth
No-op all-equal tfs rather than inverting.

Differential Revision: https://phabricator.services.mozilla.com/D163664
2022-12-20 22:47:52 +00:00
Kelsey Gilbert 0dd2e222e9 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2022-12-20 22:47:52 +00:00
Jonathan Kew e3790aecb6 Bug 1356399 - Try to catch DWrite font access exceptions within GetGlyphBounds. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D165127
2022-12-20 09:32:02 +00:00
sotaro 145bd39747 Bug 1753373 - Upload software decoded video to NV12 for video overlay on Windows r=alwu,gfx-reviewers,bradwerth
RGB video overlay usage improves downscaled videos rendering quality. And it reduces GPU usage.

Differential Revision: https://phabricator.services.mozilla.com/D156393
2022-12-20 08:29:47 +00:00
Botond Ballo b92008f732 Bug 1805601 - Reclamp the visual viewport offset in APZ if the zoom changes. r=tnikkel
We already had logic for reclamping the visual viewport offset if the
composition bounds changes, but since the composition bounds is in
ParentLayer (post-zoom) coordinates, this didn't handle the case where
the zoom changes.

Differential Revision: https://phabricator.services.mozilla.com/D164998
2022-12-20 00:50:08 +00:00
David Shin aab93348e9 Bug 1785046 - Part 3: Let `nsIDeviceContextSpec::EndDocument` & `nsDeviceContext::EndDocument` return `MozPromise`. r=nika,emilio,geckoview-reviewers,m_kato
All implementors currently simply resolve the promise right away, using
crutch code. Asynchronous usage will be added in the changeset that follows.

Differential Revision: https://phabricator.services.mozilla.com/D163508
2022-12-19 15:42:48 +00:00
Botond Ballo abcee8d2c9 Bug 1785754 - Return HandledByContent (eagerly) for touches prevented by touch-action. r=dlrobertson,hiro,geckoview-reviewers,m_kato
Note, changes to the delayed-result codepath are not required because
touched prevented by touch-action always get an eager HandledByContent
result.

Differential Revision: https://phabricator.services.mozilla.com/D164586
2022-12-19 05:16:55 +00:00
Botond Ballo cdd26cc934 Bug 1785754 - Simplify branch structure in InputQueue::ReceiveTouchInput(). r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D164584
2022-12-19 05:16:54 +00:00
Botond Ballo b7605929e4 Bug 1785754 - Support a null target in SetStatusForTouchEvent(). r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D164583
2022-12-19 05:16:54 +00:00
Botond Ballo 2e96fd6fd3 Bug 1785754 - Compute an APZHandledResult based on the TargetConfirmationFlags and PointerEventsConsumableFlags in the eIgnore case too. r=hiro
This ensures we have an eager Unhandled result when pointer events are
not consumable.

Differential Revision: https://phabricator.services.mozilla.com/D164582
2022-12-19 05:16:53 +00:00
Botond Ballo 5a2a6b0b4e Bug 1785754 - Split the result of ArePointerEventsConsumable() into two flags. r=dlrobertson,hiro
The function would combine "has room to scroll (or zoom)" and
"touch action allows scroll (or zoom)", but in future patches
APZ will behave differently in the two cases.

Differential Revision: https://phabricator.services.mozilla.com/D164581
2022-12-19 05:16:53 +00:00
Botond Ballo 7b0f88ac4e Bug 1785754 - Report HANDLED_CONTENT on pages with a preventDefault()-ing event listener even if the page is not scrollable. r=geckoview-reviewers,hiro,dlrobertson,m_kato
This effectively backs out the fix for bug 1746336, while keeping the test
added in that bug (PanZoomControllerTest#touchActionWithWheelListener)
passing using a different fix approach (remembering the eager status
and using it in the computation of the delayed result).

Differential Revision: https://phabricator.services.mozilla.com/D164114
2022-12-19 05:16:52 +00:00
Lee Salzman bb4e9a8ba5 Bug 1804998 - Silence ubsan warning. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D164978
2022-12-18 19:20:03 +00:00
Dan Robertson 81987df712 Bug 1488886 - AllocPAPZCTreeManager should gracefully fail if APZ is not enabled. r=botond
Depends on D164682

Differential Revision: https://phabricator.services.mozilla.com/D164683
2022-12-18 02:57:00 +00:00
Dan Robertson 641a4bf7e3 Bug 1488886 - Fix static-analysis warnings. r=botond
Fix static-analysis warnings in ContentCompositorBridgeParent.

Differential Revision: https://phabricator.services.mozilla.com/D164682
2022-12-18 02:57:00 +00:00
Jim Blandy dde6692f0e Bug 1806166: Update wgpu to f14bee67 (2022-12-16) r=nical,supply-chain-reviewers
This brings in various bugfixes and improvements from upstream,
including the fix for bug 1791809 and a workaround for bug 1804530.

In this update, `wgpu_core` leaves the selection of backends to its
users, rather than trying to guess which backends to use itself, based
on the target architecture and operating system. For Firefox, this
means that `gfx/wgpu_bindings/Cargo.toml` is now responsible for
selecting back ends.

Firefox's WebGPU implementation should never use `wgpu`'s GLES
backend. Firefox can now explain this to `wgpu-core`, causing it to
drop its dependency on `glow`, `bitflags_serde_shim` and `slotmap`.
These are no longer vendored, and their exemptions in
`supply-chain/config.toml` can be dropped.

The new `wgpu-core` updates to version 0.37.1+1.3.235 of the `ash`
crate, and this patch moves ash's supply-chain exemption forward to
the new version. We expect to finish vetting that next week, but
because this `wgpu-core` update is urgently needed, we want to extend
the exemption for the time being.

The dependency on `slotmap` had been patched to an empty file in
`build/rust/dummy-web`, which can now be removed.

The new `wgpu-core` no longer uses `cfg_aliases`, so Firefox no longer
needs to vendor that.

Differential Revision: https://phabricator.services.mozilla.com/D164928
2022-12-17 22:25:49 +00:00
Jonathan Kew b612c1324d Bug 1806214 - Update harfbuzz to 6.0.0 r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D164971
2022-12-17 20:40:34 +00:00
Jonathan Kew 3ef6e5ebc2 Bug 1806140 - Handle the italic face of the macOS system font. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164970
2022-12-17 20:10:54 +00:00
Emilio Cobos Álvarez b8a0c9a742 Bug 1805500 - Implement panel borders in cocoa using a border rather than shadow. r=mstange,extension-reviewers
My guess is that it was done using shadows to not interfere with the
native look, but actually this just works even with native-looking menus
(like the <select> menulist), because the background-color for those is
set on the menupopup, rather than the ::part(content).

So those have effectively 1px of extra padding (due to the transparent
border), but that seems barely perceptible, and worth the consistency
and simplification.

Differential Revision: https://phabricator.services.mozilla.com/D164716
2022-12-17 01:45:05 +00:00
Cristian Tuns c2f987572a Backed out changeset b9473eda2d5b (bug 1805500) for causing mochitest failures on browser_ext_popup_select_in_oopif.js CLOSED TREE 2022-12-16 19:10:34 -05:00
Cristian Tuns 53ccdf42d8 Backed out 2 changesets (bug 1488886) for causing build bustages on ContentCompositorBridgeParent.cpp CLOSED TREE
Backed out changeset 8cdb673361ab (bug 1488886)
Backed out changeset 7fc8e79f2ff0 (bug 1488886)
2022-12-16 18:43:18 -05:00
Lee Salzman e599e9d352 Bug 1806058 - Add blocklist for Accelerated Canvas2D. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164881
2022-12-16 20:15:49 +00:00
Dan Robertson c18b24369d Bug 1488886 - AllocPAPZCTreeManager should gracefully fail if APZ is not enabled. r=botond
Depends on D164682

Differential Revision: https://phabricator.services.mozilla.com/D164683
2022-12-16 19:07:07 +00:00
Dan Robertson b708eda376 Bug 1488886 - Fix static-analysis warnings. r=botond
Fix static-analysis warnings in ContentCompositorBridgeParent.

Differential Revision: https://phabricator.services.mozilla.com/D164682
2022-12-16 19:07:07 +00:00
Emilio Cobos Álvarez 1eb1a7ba94 Bug 1805500 - Implement panel borders in cocoa using a border rather than shadow. r=mstange,extension-reviewers
My guess is that it was done using shadows to not interfere with the
native look, but actually this just works even with native-looking menus
(like the <select> menulist), because the background-color for those is
set on the menupopup, rather than the ::part(content).

So those have effectively 1px of extra padding (due to the transparent
border), but that seems barely perceptible, and worth the consistency
and simplification.

Differential Revision: https://phabricator.services.mozilla.com/D164716
2022-12-16 17:34:48 +00:00
Nika Layzell 9e65358787 Bug 1799222 - Part 1: Prevent accidental dispatches to threadpool and timer threads, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,media-playback-reviewers,jesup,m_kato,padenot,kmag
Differential Revision: https://phabricator.services.mozilla.com/D161349
2022-12-16 17:09:16 +00:00
Nicolas Silva c1c763c349 Bug 1805910 - Move CommandBuffer into its own file. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D164814
2022-12-16 09:37:44 +00:00
Jeff Muizelaar c1d05774cc Bug 1804952. Translate rectangle PushClip() to PushClipRect() r=lsalzman
This helps out when clipping to rects with canvas2d. It reduces GPU
usage on the React-Stockcharts benchmark from ~70% down to ~45% on
a desktop gen9 Intel GPU.

It would be better to handle this in the D2D backend like we do in other
backends, but there's not an easy way to detect rectangle paths there.
This was the easiest place to slot it in and shouldn't have too high a
cost for the other places we use the recording backend.

Differential Revision: https://phabricator.services.mozilla.com/D164764
2022-12-16 04:04:39 +00:00
sotaro 9df22d9664 Bug 1798245 - Enable video overlay without ZeroCopyNV12Texture with non-intel GPUs to release r=jrmuizel,gfx-reviewers
Bug 1798242 did not cause a regression. Then it seems OK to try to enable video overlay without ZeroCopyNV12Texture with non-intel GPUs to release.

Differential Revision: https://phabricator.services.mozilla.com/D164634
2022-12-16 00:54:14 +00:00
Andrew McCreight ce28c41da0 Bug 1805931, part 2 - Automated removal of uses of ROOT and UNROOT CC macros. r=smaug
As of the prior patch, these are no longer needed. I removed
these with a script, then ran clang-format on the files, then
manually reverted a few unrelated changed from the formatter.

Differential Revision: https://phabricator.services.mozilla.com/D164829
2022-12-15 19:45:01 +00:00
Sandor Molnar c8085bc124 Backed out 4 changesets (bug 1805427) for causing xpc failures in toolkit/components/extensions/test/xpcshell/test_ext_scripting_persistAcrossSessions.js CLOSED TREE
Backed out changeset 9231b82f6a8b (bug 1805427)
Backed out changeset 9308ede8e265 (bug 1805427)
Backed out changeset b1c44a7274c5 (bug 1805427)
Backed out changeset 39a8c4bff42f (bug 1805427)
2022-12-15 18:43:29 +02:00
Chris H-C 37e15535e6 Bug 1805427 - Update Glean to 52.0.0, uuid to 1.0 r=glandium,janerik,webdriver-reviewers,supply-chain-reviewers
Depends on D164603

Differential Revision: https://phabricator.services.mozilla.com/D164604
2022-12-15 14:04:54 +00:00
Lee Salzman 0ebc2df843 Bug 1805757 - Move SkConvolver into the tree. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D164732
2022-12-15 05:53:16 +00:00
Kelsey Gilbert 6d120d162b Bug 1805626 - Query vert attrib buffer binding directly. r=gfx-reviewers,lsalzman
Previously we were querying the current ARRAY_BUFFER_BINDING, which
would fail if you did:
```
BindBuffer(ARRAY_BUFFER, a)
VertexAttribPointer(...)
BindBuffer(ARRAY_BUFFER, b)
```
We would assume we should call VeretxAttribPointer again with `b` bound,
when we need to bind `a` instead.

Unfortunately, this is hard to test, and we only hit this on drivers
where we don't use VAOs, which are rare now.

Differential Revision: https://phabricator.services.mozilla.com/D164744
2022-12-14 23:08:41 +00:00
Andrew Osmond b8b20f1afe Bug 1798591. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D163295
2022-12-14 17:50:54 +00:00
Jonathan Kew 64df3d06dc Bug 1803059 - Remove obsolete patch files from gfx/cairo, and create patch files to record locally-applied fixes. r=gfx-reviewers,lsalzman DONTBUILD
When we did the major cairo update in bug 739096, most of our old patch files were superseded
and no longer relevant, but I failed to clean them up at the time. So here, we remove all the
old patch files, and create new ones just for the fixes we've applied on top of the new code
from upstream.

I've omitted patch files for fixes that I am aware have already landed upstream, as those will
automatically be included in any future update we take. (It's possible more of the new patch
files will also be obsolete by the time we try pulling a new version, but at least they should
provide a starting point.)

Differential Revision: https://phabricator.services.mozilla.com/D164680
2022-12-14 16:18:01 +00:00
Cristian Tuns da50134a78 Backed out changeset d647be139836 (bug 1798591) for causing build bustages on FontFaceSetImpl.cpp CLOSED TREE 2022-12-14 10:26:07 -05:00
Andrew Osmond fcb0efab8b Bug 1798591. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D163295
2022-12-14 14:31:20 +00:00
Kartikaya Gupta 61991f05a4 Bug 1805128 - Update servo/webrender CI to pass again. r=jrmuizel
This updates the docker image used for CI on the github.com webrender
repository, so that updates to the WebRender code can continue to be
propagated to github.

Differential Revision: https://phabricator.services.mozilla.com/D164458
2022-12-14 10:07:50 +00:00
Nicolas Silva d871dfba00 Bug 1797975 - Add telemetry for skipped composites. r=bas
Differential Revision: https://phabricator.services.mozilla.com/D162305
2022-12-13 14:49:21 +00:00
Sylvestre Ledru c7c6dfa5bb Bug 1803331 - skia/generator: refresh the list to have the up to date moz.build after running generate_mozbuild.py r=nical DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D163813
2022-12-13 13:28:32 +00:00