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

44167 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson ec0918a596 Bug 1804375 - Re-enable clang's -Wimplicit-fallthrough warnings in gfx code including Skia headers. r=gfx-reviewers,lsalzman
Bug 1236323 disabled clang's -Wimplicit-fallthrough warnings from some Skia headers, but this warning can be re-enabled because the current version of Skia doesn't trigger these warnings.

Depends on D164027

Differential Revision: https://phabricator.services.mozilla.com/D164028
2022-12-13 03:57:36 +00:00
sotaro 67f424d382 Bug 1771344 - Add TextureClient::IsValid() check to PersistentBufferProviderShared::SetKnowsCompositor() r=gfx-reviewers,lsalzman
Device reset in test_device_reset.html replaces CompositorBridgeChild to a new one. And shutting down old CompositorBridgeChild also destroys TextureClients.

Differential Revision: https://phabricator.services.mozilla.com/D164175
2022-12-13 01:01:15 +00:00
sotaro 32de8eae22 Bug 1804592 - A little code cleanup of PersistentBufferProviderShared::Destroy() r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D164176
2022-12-13 00:12:49 +00:00
Jonathan Kew 3821ab942f Bug 1804930 - Remove an obsolete main-thread assertion in gfxUserFontSet. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D164363
2022-12-12 15:03:10 +00:00
Julian Seward 3bd75021b0 Bug 1805082 - WebRenderLayerScrollData::WebRenderLayerScrollData() does not initialise `mAncestorTransformId`. r=tnikkel.
.. but that is of primitive type (uint64_t, I think) and so the field remains
uninitialised in the created object.  The uninitialised value eventually shows
up in WebRenderScrollDataWrapper.h,
WebRenderScrollDataWrapper::GetTransform().

Differential Revision: https://phabricator.services.mozilla.com/D164434
2022-12-12 15:00:30 +00:00
Razvan Cojocaru dd1836f4a3 Bug 1685648 - Prevent a fast fling when trying to pinch-zoom on a non-zoomable page. r=botond
This now enables two-finger fling gestures on zoomable pages too,
which helps with consistency.

Differential Revision: https://phabricator.services.mozilla.com/D164134
2022-12-11 05:29:12 +00:00
Lee Salzman 5258ab7cee Bug 1795768 - Do not use Direct2D canvas if willReadFrequently is set. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164364
2022-12-10 04:46:28 +00:00
Cristian Tuns aa4fd6f08c Backed out 2 changesets (bug 1795768, bug 1804924) for causing build bustages CLOSED TREE
Backed out changeset 220d6288fe81 (bug 1795768)
Backed out changeset 5d43ff0044fe (bug 1804924)
2022-12-09 12:30:33 -05:00
Lee Salzman edd1ee2ec0 Bug 1795768 - Do not use Direct2D canvas if willReadFrequently is set. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164364
2022-12-09 17:03:03 +00:00
Botond Ballo 283c0a23b7 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-12-09 09:01:42 +00:00
Mike Hommey bc19df5359 Bug 1804601 - Update webrender docker image to Debian 11. r=gfx-reviewers,gw
Also remove the openjdk hack from the Dockerfile, since openjdk hasn't
been installed since bug 1740358.

Differential Revision: https://phabricator.services.mozilla.com/D164181
2022-12-09 01:39:46 +00:00
Mike Hommey b0b7d90396 Bug 1804543 - Run webrender wrench scripts with python3. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D164133
2022-12-09 01:35:31 +00:00
Ashly Hale c4b124d07b Bug 1773596 - Reimplement non-virtual surface rendering r=jgilbert,gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D161239
2022-12-08 04:38:14 +00:00
Botond Ballo 76348a974d Bug 1804457 - Restore branch in ClassifyCompositorOptionsChange() to support APZ enablement change on a best-effort basis. r=dlrobertson
Depends on D164162

Differential Revision: https://phabricator.services.mozilla.com/D164163
2022-12-08 04:13:18 +00:00
Botond Ballo bfce1c7657 Bug 1804457 - Add missing field to CompositorOptions::operator==. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D164162
2022-12-08 04:13:18 +00:00
Lee Salzman ca22cda7c8 Bug 1752841 - Add ExtractSubrect API to SourceSurface. r=jrmuizel
CanvasRenderingContext2D relies upon CreateSimilarDrawTarget to create extract
a subrect from a surface to draw. However, DrawTargetWebgl does not return an
accelerated DT for that API as creating an entirely new context can be quite
expensive.

To work around this, this adds a specific ExtractSubrect API for SourceSurface
that can bypass the entire need to create a temporary DrawTarget to copy into.

Differential Revision: https://phabricator.services.mozilla.com/D164118
2022-12-07 21:06:32 +00:00
sotaro ad6c294e3c Bug 1794380 - Fix RemoteTexture with WebGL sync present on Android r=gfx-reviewers,lsalzman
The change addressed followings problems.

- Recycling of gl::SharedSurface by RemoteTextureMap is not handled by gl::SwapChain.
- PrepareForUse()/NotifyNotUsed() of remote texture's TextureHost(SurfaceTextureHost) is not handled
- Wrapping of RenderAndroidSurfaceTextureHost by RenderTextureHostWrapper is not handled

PrepareForUse()/NotifyNotUsed() is called based on compositor ref count of TextureHost. Normally TextureHost is wrapped by WebRenderTextureHost, then the WebRenderTextureHost handles PrepareForUse()/NotifyNotUsed(). But in remote texture case, WebRenderTextureHost wraps RemoteTextureHostWrapper. And compositable ref of remote texture's TextureHost is updated within RemoteTextureMap::mMutex. Then PrepareForUse()/NotifyNotUsed() happen outside of WebRenderTextureHost in non compositor thread.

With pref gfx.canvas.accelerated=true, canvas renderings were broken on android emulator. The boroken rendering seemed to happen by GL of android emulator. The boroken rendering did not happen with tests on android hardware.

Differential Revision: https://phabricator.services.mozilla.com/D159261
2022-12-07 12:40:02 +00:00
sotaro 02d18ed8c1 Bug 1776885 - Add capability of async remote texture on WebGL if CanvasRenderThread is used r=gfx-reviewers,lsalzman
The remote texture is processed asynchronously, but the WebGL rendering results are rendered synchronously with WebRender transaction by WebRender.

Async remote texture support is enabled only when CanvasRenderThread is used. This is to simplify implementation.

In async mode, remote texture of current RemoteTextureId might not be created yet when WebRenderImageHost::UseRemoteTexture() is called. In this case, RemoteTextureHostWrapper uses its own external image ID, otherwise the RemoteTextureHostWrapper uses compatible old remote texture for creating wr display list. RenderTextureHostWrapper calls RemoteTextureMap::GetExternalImageIdOfRemoteTextureSync() before is ussage. The GetExternalImageIdOfRemoteTextureSync() synchronously waits until remote texture becomes ready. The wait works since WebGL IPC handling is always done in CanvasRenderThread in async mode.

PWebGLChild::SendGetFrontBuffer() triggers sync IPC. It is called to ensure the compatible remote texture in RemoteTextureMap during RemoteTextureMap::GetRemoteTextureForDisplayList() call.

Differential Revision: https://phabricator.services.mozilla.com/D162971
2022-12-07 02:24:57 +00:00
Lee Salzman c6fc10d232 Bug 1804340 - Update wpf-gpu-raster and aa-stroke to support generating into a slice. r=jrmuizel
This adds machinery to wpf-gpu-raster and aa-stroke to support an output buffer specified as
a slice, which they will preferentially use instead of their dynamic Vec to store output
vertexes in.

Differential Revision: https://phabricator.services.mozilla.com/D163989
2022-12-07 00:53:55 +00:00
Cristian Tuns 77f27d96b0 Backed out changeset 42315c023471 (bug 1799222) for causing multiple failures CLOSED TREE 2022-12-06 16:35:58 -05:00
Glenn Watson c8fa86ea66 Bug 1804318 - Switch wrench image mask tests to be on stacking contexts r=gfx-reviewers,lsalzman
Gecko only uses image mask clip types on stacking contexts - in future
we'll enforce this at the API level. For now, switch wrench reftests
to use masks only on stacking contexts rather than primitives. This
matches how Gecko uses image masks, and also simplifies ongoing work
to land a new clip/segment rendering path (planning to land this for
rectangles initially, and then incrementally for other primitives).

Differential Revision: https://phabricator.services.mozilla.com/D163983
2022-12-06 20:45:58 +00:00
Nika Layzell 40a3a64aee Bug 1799222 - 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-06 20:44:15 +00:00
Stanca Serban d0ad6a0b22 Backed out changeset d78a41db7a82 (bug 1776885) for causing reftests failures in ReleaseCompositableRef. CLOSED TREE 2022-12-06 17:34:12 +02:00
sotaro e23cea6ac1 Bug 1776885 - Add capability of async remote texture on WebGL if CanvasRenderThread is used r=gfx-reviewers,lsalzman
The remote texture is processed asynchronously, but the WebGL rendering results are rendered synchronously with WebRender transaction by WebRender.

Async remote texture support is enabled only when CanvasRenderThread is used. This is to simplify implementation.

In async mode, remote texture of current RemoteTextureId might not be created yet when WebRenderImageHost::UseRemoteTexture() is called. In this case, RemoteTextureHostWrapper uses its own external image ID, otherwise the RemoteTextureHostWrapper uses compatible old remote texture for creating wr display list. RenderTextureHostWrapper calls RemoteTextureMap::GetExternalImageIdOfRemoteTextureSync() before is ussage. The GetExternalImageIdOfRemoteTextureSync() synchronously waits until remote texture becomes ready. The wait works since WebGL IPC handling is always done in CanvasRenderThread in async mode.

PWebGLChild::SendGetFrontBuffer() triggers sync IPC. It is called to ensure the compatible remote texture in RemoteTextureMap during RemoteTextureMap::GetRemoteTextureForDisplayList() call.

Differential Revision: https://phabricator.services.mozilla.com/D162971
2022-12-06 13:56:19 +00:00
Hiroyuki Ikezoe d1c5e5e77d Bug 1801782 - Add a browser mochitest to cause content response timeout. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162951
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe c3b856bff3 Bug 1801782 - Drop a redundant pan update phase in panRightToLeft. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163181
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe 24462c04bb Bug 1801782 - Rename deltaOnRTL to delta. r=botond
On Windows it's also opposite vertically.

Differential Revision: https://phabricator.services.mozilla.com/D163053
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe 8dc3ae36b3 Bug 1801782 - Move utility functions for sending pan events into apz_test_native_event_utils.js. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162950
2022-12-04 23:41:41 +00:00
Sasaki Keiya 03f4104920 Bug 1803738 - use unique SpatialTreeItemKey for reference frame in animation example. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D163717
2022-12-04 22:31:42 +00:00
Lee Salzman c784c8bd6e Bug 1803604 - Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers
aa-stroke is a Rust library developed by the Gfx team at Mozilla to help
accelerate stroked paths for Canvas2D.

Differential Revision: https://phabricator.services.mozilla.com/D163608
2022-12-03 08:21:50 +00:00
Cosmin Sabou bc234a7f64 Backed out 2 changesets (bug 1803604) for causing talos crashes on pdfpaint.
Backed out changeset 0be171a7d6ac (bug 1803604)
Backed out changeset 9c9e6c4e7864 (bug 1803604)
2022-12-03 02:59:04 +02:00
sotaro 6a1331f13a Bug 1803732 - Expose if canvas renderer thread is enabled in about:support r=gfx-reviewers,bradwerth
It would be helpful to have information on whether the canvas renderer thread is enabled in the about:support.

Differential Revision: https://phabricator.services.mozilla.com/D163677
2022-12-02 22:50:00 +00:00
Dan Robertson 877e8b332d Bug 1803455 - Fire scrollend for a main thread smooth scroll. r=botond
Use the original start position of main thread smooth scrolls to determine
if the scroll position changed on scroll complete, and fire a scrollend
event if it did.

Differential Revision: https://phabricator.services.mozilla.com/D163550
2022-12-02 22:26:55 +00:00
Lee Salzman d355085c4e Bug 1803604 - Vendor aa-stroke Rust library. r=jrmuizel,supply-chain-reviewers
aa-stroke is a Rust library developed by the Gfx team at Mozilla to help
accelerate stroked paths for Canvas2D.

Differential Revision: https://phabricator.services.mozilla.com/D163608
2022-12-02 19:49:37 +00:00
Chris Peterson f4ef8ec8c7 Bug 1803504 - Fix C++20 -Wdeprecated-volatile warnings in gfx/vr. r=gfx-reviewers,lsalzman
C++20 deprecated decrement/increment of object of volatile-qualified types, e.g. v++.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html

`warning: gfx/vr/VRShMem.cpp:420:21: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]`

C++20 is warning that incrementing the volatile int64_t variables `mExternalShmem->geckoGenerationA` and `geckoGenerationB` is not an atomic operation. Replacing the postfix increment with explicit addition makes the warnings go away without changing the semantics of this code.

Differential Revision: https://phabricator.services.mozilla.com/D163558
2022-12-02 05:14:37 +00:00
Tooru Fujisawa e5c2ee72c8 Bug 1800050 - Use UniqueFreePtr in StartupCache::PutBuffer. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D163453
2022-12-01 10:46:34 +00:00
Sylvestre Ledru 43326ed319 Bug 1803331 - skia/generator: ignore skia/src/sksl/SkSLJIT r=nical DONTBUILD
Depends on D163446

Differential Revision: https://phabricator.services.mozilla.com/D163448
2022-12-01 10:32:09 +00:00
Sylvestre Ledru 99ef6e2d79 Bug 1803331 - skia/generator: replace black/white list r=nical DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D163446
2022-12-01 10:32:09 +00:00
Emilio Cobos Álvarez c9a0f65ceb Bug 1802957 - Remove non-standard and unused system font values. r=jfkthame
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.

If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.

Differential Revision: https://phabricator.services.mozilla.com/D163269
2022-12-01 09:23:19 +00:00
sotaro b1b5bee45a Bug 1803501 - Add RenderTextureHostWrapper::AsRenderTextureHostSWGL() r=gfx-reviewers,lsalzman
RenderTextureHostWrapper::AsRenderTextureHostSWGL() is not implemented. It is necessary for wr_swgl_lock_composite_surface().

Differential Revision: https://phabricator.services.mozilla.com/D163556
2022-12-01 06:32:14 +00:00
Jonathan Kew 213fbebd16 Bug 1803162 - Avoid repeatedly parsing/expanding the same locale code. r=emilio
No change in behavior; this just makes successive calls to
FindAndAddFamiliesLocked slightly cheaper when the same lang
atom is used repeatedly (which is overwhelmingly the usual
case).

Differential Revision: https://phabricator.services.mozilla.com/D163467
2022-11-30 22:34:39 +00:00
Marian-Vasile Laza cd7fc78979 Backed out 4 changesets (bug 1801782) for causing bc failures on browser_test_swipe_gesture.js. CLOSED TREE
Backed out changeset e653ba7dc749 (bug 1801782)
Backed out changeset e7e0e08c03f2 (bug 1801782)
Backed out changeset d5f972c202fa (bug 1801782)
Backed out changeset d76f0c0d4d94 (bug 1801782)
2022-12-01 06:11:07 +02:00
Hiroyuki Ikezoe 1d597740be Bug 1801782 - Add a browser mochitest to cause content response timeout. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162951
2022-11-30 22:15:07 +00:00
Hiroyuki Ikezoe 2fa41a47fe Bug 1801782 - Drop a redundant pan update phase in panRightToLeft. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163181
2022-11-30 22:15:07 +00:00
Hiroyuki Ikezoe 0e31251866 Bug 1801782 - Rename deltaOnRTL to delta. r=botond
On Windows it's also opposite vertically.

Differential Revision: https://phabricator.services.mozilla.com/D163053
2022-11-30 22:15:06 +00:00
Hiroyuki Ikezoe 5032b4386b Bug 1801782 - Move utility functions for sending pan events into apz_test_native_event_utils.js. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162950
2022-11-30 22:15:06 +00:00
Marian-Vasile Laza 76bef44509 Backed out 3 changesets (bug 1802957) for causing mochitest failures on test_unstyled_control_height.html. CLOSED TREE
Backed out changeset 649c190f6c29 (bug 1802957)
Backed out changeset 60822417a838 (bug 1802957)
Backed out changeset ffe8d999e454 (bug 1802957)
2022-12-01 01:23:08 +02:00
Jonathan Kew 7cc555535f Bug 1802382 - Main-thread assertion in gfxFontFaceSrc comparison is overly zealous. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D163439
2022-11-30 17:48:46 +00:00
Emilio Cobos Álvarez 77327233d7 Bug 1802957 - Remove non-standard and unused system font values. r=jfkthame
And hide internal but used values. System fonts are not exposed in the
computed style so this should be fine.

If we need the old values for some obscure reason, it's trivial to alias
them to e.g., menu or so.

Differential Revision: https://phabricator.services.mozilla.com/D163269
2022-11-30 16:14:26 +00:00
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