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

44678 Коммитов

Автор SHA1 Сообщение Дата
Iulian Moraru c3d101c26c Backed out changeset 67a0b67ad8bb (bug 1821256) for causing mochitest-plain failures on test_group_keyboard.html. 2023-03-29 20:52:14 +03:00
stransky 0e1a5de915 Bug 1824943 [VAAPI] Don't init VAAPI in child process r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D173950
2023-03-29 12:57:36 +00:00
stransky f6f208a6c2 Bug 1821256 [Linux] Don't throttle webrender transactions on unmapped windows r=emilio
Based on patch by Emilio Cobos Álvarez (D172786)

Differential Revision: https://phabricator.services.mozilla.com/D173846
2023-03-29 10:21:52 +00:00
Jonathan Kew 2b5cfb7a38 Bug 1817826 - Fix rendering of reversed (clockwise) sweep gradients. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D173746
2023-03-28 21:08:31 +00:00
Jonathan Kew b2d2b75a5f Bug 1824200 - Lock around access to mUnscaledFontCache. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D173647
2023-03-28 21:03:51 +00:00
Jonathan Kew 94219d59d7 Bug 1824200 - Also make the has-variations state atomic. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D173646
2023-03-28 21:03:51 +00:00
Jonathan Kew 237add9342 Bug 1824200 - Make mFTFace an atomic pointer. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D173630
2023-03-28 21:03:50 +00:00
Emilio Cobos Álvarez 38b10eafda Bug 1824236 - Stop using XUL layout for scrollbars. r=jwatt
This rewrites scrollbar layout to work with regular reflow rather than
box layout.

Overall it's about the same amount of code (mostly because
nsScrollbarFrame::Reflow is sorta hand-rolled), but it cleans up a bit
and it is progress towards removing XUL layout altogether, without
getting into much deeper refactoring.

This also blocks some other performance improvements and refactorings I
want to make in this code.

We make some assumptions to simplify the code that to some extent were
made already before, both explicitly and by virtue of using XUL layout.

In particular, we assume that scrollbar / slider / thumb has no border or
padding and that the writing-mode is horizontal ltr.

Differential Revision: https://phabricator.services.mozilla.com/D173489
2023-03-27 20:54:53 +00:00
Sandor Molnar fcbacc6d6c Backed out changeset 7da2469ac949 (bug 1824236) for causing assertion failures in layout/generic/crashtests/369038-1.xhtml CLOSED TREE 2023-03-27 23:20:35 +03:00
Emilio Cobos Álvarez 914393e83e Bug 1824236 - Stop using XUL layout for scrollbars. r=jwatt
This rewrites scrollbar layout to work with regular reflow rather than
box layout.

Overall it's about the same amount of code (mostly because
nsScrollbarFrame::Reflow is sorta hand-rolled), but it cleans up a bit
and it is progress towards removing XUL layout altogether, without
getting into much deeper refactoring.

This also blocks some other performance improvements and refactorings I
want to make in this code.

We make some assumptions to simplify the code that to some extent were
made already before, both explicitly and by virtue of using XUL layout.

In particular, we assume that scrollbar / slider / thumb has no border or
padding and that the writing-mode is horizontal ltr.

Differential Revision: https://phabricator.services.mozilla.com/D173489
2023-03-27 19:12:52 +00:00
Ray Kraesig 870715606c Bug 1820066 [3/3] - Default to DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL on Win10+ r=sotaro
This silences a warning emitted by the D3D11 debug layer.

Conveniently, it also suppresses bug 1763981.

Differential Revision: https://phabricator.services.mozilla.com/D171522
2023-03-27 16:54:13 +00:00
Ray Kraesig f3d76a51df Bug 1820066 [2/3] - Allow in-process use of the compositor window r=sotaro
The in-process compositor assumes that no compositor window was present.
This is not guaranteed to be true if, for example, the preference
`gfx.webrender.flip-sequential` is set.

Make the in-process compositor more closely mirror the out-of-process
compositor. (At present this effectively just means calling ::SetParent
on the compositor window.)

Differential Revision: https://phabricator.services.mozilla.com/D172733
2023-03-27 16:54:13 +00:00
Ray Kraesig 873fc8dfcd Bug 1820066 [1/3] - Fix `CreateSwapChainForHwnd` call r=sotaro
Per Microsoft documentation, DXGI_SCALING_NONE is only supported by
swap chains using DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; for any other swap
effect, including DXGI_SWAP_EFFECT_SEQUENTIAL, another value must be
supplied. Prior to Windows 10 the only such available entry was
DXGI_SCALING_STRETCH, so use that.

This causes the `CreateSwapChainForHwnd` call to succeed, rather than
causing us to fall back to `CreateSwapChain`. There is no known user-
facing effect here, as DXGI_SCALING_STRETCH is documented to be the
semantics applied by `CreateSwapChain` -- but it does eliminate an error
message from the D3D11 debug layer's output.

Differential Revision: https://phabricator.services.mozilla.com/D171521
2023-03-27 16:54:12 +00:00
stransky 579b6fd6ed Bug 1823333 [VAAPI] Fix FEATURE_HW_DECODED_VIDEO_ZERO_COPY handling as it's allowlisted feature r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D173573
2023-03-27 07:37:20 +00:00
Andi-Bogdan Postelnicu 4efa1bd0ba Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-27 07:20:25 +00:00
Glenn Watson 28a3117711 Bug 1822732 - Support inner opaque regions for SWGL with new quad rendering path r=gfx-reviewers,lsalzman
At the same time, simplify the inner region support from arbitrary
tile configs to an inner + AA edge section setup. It turns out that
we won't need the extra tiling functionality in follow up patches.

Differential Revision: https://phabricator.services.mozilla.com/D172749
2023-03-27 03:16:06 +00:00
Sandor Molnar 9db345d4c1 Backed out 2 changesets (bug 1276351) for causing build bustage in image/ClippedImage.cp CLOSED TREE
Backed out changeset e84598eb82c1 (bug 1276351)
Backed out changeset e940b0554484 (bug 1276351)
2023-03-25 14:16:43 +02:00
Jonathan Kew 6ab0ea8aa6 Bug 1823365 - Clean up management of missing-glyph atlas. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D173360
2023-03-25 09:42:48 +00:00
Andi-Bogdan Postelnicu 447f1e3358 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-25 06:58:52 +00:00
Iulian Moraru 6d40eee997 Backed out 2 changesets (bug 1276351) for causing multiple failures.
Backed out changeset eeaf4f1e06af (bug 1276351)
Backed out changeset d44cb5704342 (bug 1276351)
2023-03-25 00:08:24 +02:00
Mark Banner 4a729cf9d7 Bug 1824173 - Automatically fix some ESLint issues raised by the valid-jsdoc configuration. r=mossop,webcompat-reviewers,denschub
Differential Revision: https://phabricator.services.mozilla.com/D173450
2023-03-24 19:35:24 +00:00
Andi-Bogdan Postelnicu a1b827b503 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-24 18:55:39 +00:00
stransky 0bd628961c Bug 1824335 [VAAPI] Add preference to force enable zero copy video playback r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D173519
2023-03-24 11:15:52 +00:00
Jonathan Kew c96601cb34 Bug 376129 - Scale the missing-glyph hex digits more usefully for large font sizes. r=gfx-reviewers,lsalzman
This makes the digits scale up to better fill the box, as it looks a bit odd to have
the box grow with the font size but the digits remain tiny in the middle of it.

One thing that may look a little odd with this version is that 6-digit hexboxes tend
to get smaller digits than 4-digit ones with large font sizes. But I think that's
OK; it allows the 4-digit chars to be more readable, and 6-digit (non-BMP) ones are
generally much rarer.

(And the whole thing is basically cosmetic anyhow; this isn't about rendering web
content as intended, but trying to provide a bit of useful information when the
content is somehow broken or not renderable.)

Differential Revision: https://phabricator.services.mozilla.com/D173463
2023-03-24 09:07:04 +00:00
serge-sans-paille 93b77462d2 Bug 1824071 - Make gfx/webrender_bindings buildable outside of a unified build environment r=andi
Differential Revision: https://phabricator.services.mozilla.com/D173398
2023-03-24 07:01:09 +00:00
serge-sans-paille 97144c5a94 Bug 1824070 - Make gfx/thebes buildable outside of a unified build environment r=andi
Differential Revision: https://phabricator.services.mozilla.com/D173397
2023-03-24 07:01:08 +00:00
serge-sans-paille 5662734be9 Bug 1824069 - Make gfx/layers buildable outside of a unified build environment r=andi
Differential Revision: https://phabricator.services.mozilla.com/D173396
2023-03-24 07:01:08 +00:00
serge-sans-paille 132015154f Bug 1824068 - Make gfx/gl buildable outside of a unified build environment r=andi
Differential Revision: https://phabricator.services.mozilla.com/D173395
2023-03-24 07:01:07 +00:00
Jim Blandy 1e9e5f2198 Bug 1808602: Implement 'dom.webgpu.wgpu-backend' pref. r=jrmuizel
Add a new string-valued, Rust-visible pref, `dom.webgpu.wgpu-backend`, to `StaticPrefList.yaml` in `modules/libpref/init`. If this string is non-empty, use it to enable the indicated WebGPU backends when we create a `wgpu_core::Global` in `gfx/wgpu_bindings/src/server.rs`. See `StaticPrefList.yaml` for details.

As this is the first time we have exposed a `mirror: always`, `type: DataMutexString` pref to Rust, make the appropriate changes to `generate_static_pref_list.py` to generate the necessary C++ and Rust code to lock the value, make a string copy, and pass ownership back to Rust as an `nsstring::nsACString` (from the `xpcom/rust/nsstring` crate).

Differential Revision: https://phabricator.services.mozilla.com/D173335
2023-03-23 21:27:05 +00:00
Norisz Fay 3220100958 Backed out changeset 07b81afaa59e (bug 1808602) for causing python failure on test_generate_static_pref_list.py CLOSED TREE 2023-03-23 22:52:09 +02:00
Jim Blandy 46ff1ae846 Bug 1808602: Implement 'dom.webgpu.wgpu-backend' pref. r=jrmuizel
Add a new string-valued, Rust-visible pref, `dom.webgpu.wgpu-backend`, to `StaticPrefList.yaml` in `modules/libpref/init`. If this string is non-empty, use it to enable the indicated WebGPU backends when we create a `wgpu_core::Global` in `gfx/wgpu_bindings/src/server.rs`. See `StaticPrefList.yaml` for details.

As this is the first time we have exposed a `mirror: always`, `type: DataMutexString` pref to Rust, make the appropriate changes to `generate_static_pref_list.py` to generate the necessary C++ and Rust code to lock the value, make a string copy, and pass ownership back to Rust as an `nsstring::nsACString` (from the `xpcom/rust/nsstring` crate).

Differential Revision: https://phabricator.services.mozilla.com/D173335
2023-03-23 20:14:59 +00:00
Jamie Nicol de05a66666 Bug 1824158 - Make vClipMaskUv highp again. r=gfx-reviewers,lsalzman
In bug 1823411 prim_shared.glsl's vClipMaskUv was made mediump,
assuming it was safe to do so as it is an unnormalized texture
coordinate. This is, however, causing fuzziness in a test on Adreno
devices, so we are now reverting it to highp.

Differential Revision: https://phabricator.services.mozilla.com/D173468
2023-03-23 20:06:33 +00:00
Christian Holler (:decoder) 3cb30b35f1 Bug 1821010 - Remove legacy IPC fuzzing code. r=truber,nika
Differential Revision: https://phabricator.services.mozilla.com/D171981
2023-03-23 14:53:22 +00:00
sotaro b0f638846b Bug 1823844 - Add error log to RenderThread::Start() r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D173246
2023-03-23 00:34:52 +00:00
Sandor Molnar 39587cae6b Backed out 3 changesets (bug 1820066) for causing xpc failures in widget/headless/tests/test_headless.js CLOSED TREE
Backed out changeset 501d93d8c9eb (bug 1820066)
Backed out changeset ec623d25b138 (bug 1820066)
Backed out changeset c34dfd018abb (bug 1820066)
2023-03-22 22:54:53 +02:00
Bob Owen 7403aa001e Bug 1823401: Hash cmap as well as head tables for SFNTData::GetUniqueKey. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D173252
2023-03-22 15:31:53 +00:00
Ray Kraesig 640df4416e Bug 1820066 [3/3] - Default to DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL on Win10+ r=sotaro
This silences a warning emitted by the D3D11 debug layer.

Conveniently, it also suppresses bug 1763981.

Differential Revision: https://phabricator.services.mozilla.com/D171522
2023-03-22 15:09:24 +00:00
Ray Kraesig cfe1fff87e Bug 1820066 [2/3] - Allow in-process use of the compositor window r=sotaro
The in-process compositor assumes that no compositor window was present.
This is not guaranteed to be true if, for example, the preference
`gfx.webrender.flip-sequential` is set.

Make the in-process compositor more closely mirror the out-of-process
compositor. (At present this effectively just means calling ::SetParent
on the compositor window.)

Differential Revision: https://phabricator.services.mozilla.com/D172733
2023-03-22 15:09:24 +00:00
Ray Kraesig 0fe41b776a Bug 1820066 [1/3] - Fix `CreateSwapChainForHwnd` call r=sotaro
Per Microsoft documentation, DXGI_SCALING_NONE is only supported by
swap chains using DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; for any other swap
effect, including DXGI_SWAP_EFFECT_SEQUENTIAL, another value must be
supplied. Prior to Windows 10 the only such available entry was
DXGI_SCALING_STRETCH, so use that.

This causes the `CreateSwapChainForHwnd` call to succeed, rather than
causing us to fall back to `CreateSwapChain`. There is no known user-
facing effect here, as DXGI_SCALING_STRETCH is documented to be the
semantics applied by `CreateSwapChain` -- but it does eliminate an error
message from the D3D11 debug layer's output.

Differential Revision: https://phabricator.services.mozilla.com/D171521
2023-03-22 15:09:24 +00:00
Emilio Cobos Álvarez 471df3eab7 Bug 1821131 - Make font visibility part of the fontconfig substitution cache key. r=jfkthame
This is one possible option, the other one is to just cache the
substitute results.

Differential Revision: https://phabricator.services.mozilla.com/D172578
2023-03-22 13:11:25 +00:00
Andi-Bogdan Postelnicu fa0bb17a0b Bug 1660405 - Move away from mozilla::IsInfinite in favor of std::isinf. r=nbp,media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D173037
2023-03-22 11:35:34 +00:00
Andi-Bogdan Postelnicu fa5d4cca1f Bug 1660405 - Move away from mozilla::IsFinite in favor of std::isfinite. r=sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173036
2023-03-22 11:35:33 +00:00
Andi-Bogdan Postelnicu 10f49d4180 Bug 1660405 - Move away from mozilla::IsNaN in favor of std::isnan. r=nbp,media-playback-reviewers,sergesanspaille,padenot
Differential Revision: https://phabricator.services.mozilla.com/D173035
2023-03-22 11:35:33 +00:00
Stanca Serban e31a178029 Backed out 7 changesets (bug 1660405) for causing bustages on Linux x64 opt. CLOSED TREE
Backed out changeset ad1a5f59214f (bug 1660405)
Backed out changeset a39e95f0aafe (bug 1660405)
Backed out changeset 48629ee0d70d (bug 1660405)
Backed out changeset 8419b99aab60 (bug 1660405)
Backed out changeset 535cc12c8bed (bug 1660405)
Backed out changeset e27052da4927 (bug 1660405)
Backed out changeset 11b0f9cf8091 (bug 1660405)
2023-03-22 13:05:53 +02:00
Andi-Bogdan Postelnicu 84b840d267 Bug 1660405 - Move away from mozilla::IsInfinite in favor of std::isinf. r=nbp,media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D173037
2023-03-22 09:27:58 +00:00
Andi-Bogdan Postelnicu 0b692b5a96 Bug 1660405 - Move away from mozilla::IsFinite in favor of std::isfinite. r=sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173036
2023-03-22 09:27:57 +00:00
Andi-Bogdan Postelnicu a5d28acdd6 Bug 1660405 - Move away from mozilla::IsNaN in favor of std::isnan. r=nbp,media-playback-reviewers,sergesanspaille,padenot
Differential Revision: https://phabricator.services.mozilla.com/D173035
2023-03-22 09:27:56 +00:00
Mike Hommey ba20433bd5 Bug 1823842 - Explicitly only build the wrench library on android. r=gfx-reviewers,jnicol
When upgrading the NDK to r23, the wrench builds for android fail
because cargo apk starts adding flags to the cargo rustc call it does,
and that's not compatible with the wrench crate having both a lib and a
bin target.

As cargo apk only packages the lib in the apk, we can just be explicit
and build the library only.

Differential Revision: https://phabricator.services.mozilla.com/D173244
2023-03-22 09:02:37 +00:00
Botond Ballo 188bd7bfec Bug 1737725 - Ensure hit-testing never observes scroll offsets that don't have async deltas applies. r=hiro,gw
When a new scene is swapped in on the render backend thread, its
scroll frames have scroll offsets that come from the main thread
and do not reflect async scroll deltas until such deltas are
sampled from APZ.

It's possible for hit-testing to observe the scene in this
temporary state, potentially leading to incorrect hit-test results.

To avoid this, save the async offsets from the previous scene
and apply them to the new scene until we can sample proper offsets
from APZ.

Differential Revision: https://phabricator.services.mozilla.com/D173100
2023-03-22 04:14:22 +00:00
Glenn Watson e6bb9f7184 Bug 1821560 - Start splitting up ps_quad to a base shader r=gfx-reviewers,lsalzman
No functionality change here, just preparing for having different
variations of shaders that make use of ps_quad as a base.

Differential Revision: https://phabricator.services.mozilla.com/D172197
2023-03-21 22:53:32 +00:00