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

38754 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman 238f5569e7 Bug 1670328 - reduce stack size for SwComposite threads. r=mattwoodrow
There appears to be a substantial overhead for trying to wake cold threads
from a thread pool (especially with rayon), so for now let's leave the existing
thread spawning in place, but reduce the stack size for individual threads.
Since these threads only call into SWGL's composite routines and do little else,
there isn't much harm in having a small stack size.

Differential Revision: https://phabricator.services.mozilla.com/D96748
2020-11-11 20:24:38 +00:00
Lee Salzman 2443ca341f Bug 1670328 - use SwCompositeGraphNodeRef wrapper for cleaner node mutation. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D96732
2020-11-11 20:22:22 +00:00
Lee Salzman 0da6812d97 Bug 1670328 - remove crossbeam usage from SwCompositor. r=mattwoodrow
We seem to be spending a significant amount of time inside crossbeam channels
sending jobs across. Sending multiple bands for a given job tends to relock the
channel multiple times when ideally we only want to queue the job once, or lock
the channel once (neither of which we can conveniently do with crossbeam). To
alleviate this, I've implemented a more custom solution with a mutexed VecDeque
and some Condvars.

Differential Revision: https://phabricator.services.mozilla.com/D96520
2020-11-11 20:23:22 +00:00
Jeff Muizelaar 32c8aeeb94 Bug 1676555 - Use PRECACHE_OUTPUT_* in more places. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D96670
2020-11-11 14:10:07 +00:00
smolnar 50215d649d Backed out 1 changesets (bug 1676332) for causing reftest failures. CLOSED TREE
Backed out changeset e767b7053baa (bug 1676332)
2020-11-11 10:27:34 +02:00
Matt Woodrow cf7e7e302d Bug 1676332 - Use D3D11 staging textures within RenderCompositorD3D11SWGL for faster uploads. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96665
2020-11-11 03:54:36 +00:00
sotaro eff81341d5 Bug 1676550 - Add more overrides to RenderCompositorD3D11SWGL r=mattwoodrow
Some override functions do not have override.

Differential Revision: https://phabricator.services.mozilla.com/D96661
2020-11-11 02:02:24 +00:00
Hiroyuki Ikezoe 7087f97a39 Bug 1674694 - Change APZEventResult::mHandledByRootApzc to Maybe<APZHandledResult>. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96331
2020-11-11 00:33:20 +00:00
Matt Woodrow ccd859ffae Bug 1674866 - Add gfx feature for WR software. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D96502
2020-11-10 23:36:43 +00:00
Brad Werth a68bdd9d7c Bug 1676255 Part 1: Make NativeFontResourceMacReporter::CollectReports match the user-fonts report. r=jrmuizel
We don't cache the url, but we do report the "family=" preface, and we respect
the anonymizer flag in the same way that user-fonts are reported.

Differential Revision: https://phabricator.services.mozilla.com/D96643
2020-11-10 22:31:34 +00:00
Cameron McCormack 82fdd2ebea Bug 1676057 - Disable scrollbar buttons when non-native theme is in use on Linux. r=emilio,spohl
Whether scrollbar buttons are shown is currently determined by
LookAndFeel values, and these are exposed through system metric media
features.  LookAndFeel values are process-wide, but which theme is in
use is document-specific.  (It can be the platform's native theme or the
native basic theme, depending on Document::ShouldAvoidNativeTheme.)  So
if nsNativeBasicTheme on Linux needs to not support scrollbar buttons,
we can't do this by forcing the LookAndFeel values to be false.

So instead, we skip creating the native anonymous content for the
scrollbar buttons when the non-native theme is in use on Linux.  There's
no need to support dynamic changes, since whether the non-native theme
is in use for a given document never changes.

Differential Revision: https://phabricator.services.mozilla.com/D96345
2020-11-10 02:41:46 +00:00
Matt Woodrow 912cfd9639 Bug 1674029 - Only commit the dirty rects in RenderCompositorSWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96495
2020-11-10 06:07:06 +00:00
Matt Woodrow 59ca2a8ce8 Bug 1674029 - Adjust compositor surface tile dirty rects by their transform if applicable. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D96494
2020-11-10 22:01:51 +00:00
Kris Maglione 7ae9faa46f Bug 1651774: Update mozilla/use-services rule for native Services implementation. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D93858
2020-11-06 18:58:33 +00:00
Jeff Muizelaar cdc37b8d23 Bug 1676406. Reduce the number of varyings in brush_blend. r=kvark
On 10.0 level hardware we only have 14 vecs of varyings allowed.
Reusing v_color_offset for v_flood_color gets us under the limit.

Differential Revision: https://phabricator.services.mozilla.com/D96607
2020-11-10 20:04:53 +00:00
Sylvestre Ledru 396275b3c3 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
# ignore-this-changeset

Depends on D96608

Differential Revision: https://phabricator.services.mozilla.com/D96609
2020-11-10 19:10:16 +00:00
Botond Ballo d1a4975129 Bug 1676293 - Remove StackScrollerFlingAnimation. r=mstange
This was an old alternative fling implementation that could be opted
into with the pref apz.android.chrome_fling_physics.enabled=fase.
The pref is also removed.

Differential Revision: https://phabricator.services.mozilla.com/D96508
2020-11-10 06:01:51 +00:00
Kartikaya Gupta 4fce064277 Bug 1629710 - Add a hit-testing test with a very deep stack of results. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96467
2020-11-10 15:35:49 +00:00
Jeff Muizelaar fe07fef3bd Bug 1620075. Add a feature flag to allow ES3 on 10.0 devices.
We set the feature flag when creating the EGL display. This lets us run
WebRender on devices that only support D3D 10.0

Differential Revision: https://phabricator.services.mozilla.com/D96452
2020-11-10 02:24:53 +00:00
Jeff Muizelaar 030b73a0a5 Bug 1620075. Use GetPlatformDisplay instead of GetPlatformDisplayEXT. r=jgilbert
GetPlatformDisplay takes a list of EGLAttrib instead of EGLInt. This is needed
if we want to pass EGL_FEATURE_OVERRIDES_ENABLED_ANGLE.

Differential Revision: https://phabricator.services.mozilla.com/D96451
2020-11-10 02:23:09 +00:00
Lee Salzman efb7041524 Bug 1676305 - cache allocated memory inside SWGL VBOs to speed up allocation. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D96496
2020-11-10 01:28:24 +00:00
Narcis Beleuzu d13debb6cd Bug 1620075 - Fix lint failure on a CLOSED TREE. a=lint-fix 2020-11-10 03:07:59 +02:00
Karl Tomlinson deaaa17783 Bug 1675908 restore cache for GetFontScaleDPI() r=stransky
This was removed in https://hg.mozilla.org/mozilla-central/rev/d85aaf27109c
but that led to a regression in
perf_reftest_singletons scrollbar-styles-1.html.

Differential Revision: https://phabricator.services.mozilla.com/D96306
2020-11-09 12:18:59 +00:00
Jeff Gilbert e537ef1f4e Bug 1620075 - [angle/firefox-84] Allow ANGLE to run ES3 on D3D feature level 10.0 hardware. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D96486
2020-11-10 00:42:59 +00:00
Jeff Gilbert 7bf57356fa Bug 1620075 - Update update-angle.py to emit black-compatible moz.builds. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D96485
2020-11-10 00:42:35 +00:00
Matt Woodrow a289a86c53 Bug 1675665 - Don't draw surfaces if we're not currently presenting a frame. r=lsalzman
WR can run an update which outputs the compositor surfaces, but never calls Begin/EndFrame.

Differential Revision: https://phabricator.services.mozilla.com/D96380
2020-11-09 22:05:46 +00:00
Matt Woodrow 02b6bea865 Bug 1674154 - Don't create RenderExternalTextureHost when using SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96337
2020-11-09 21:35:50 +00:00
Lee Salzman 8b83c00434 Bug 1675955 - optimize WR's cs_clip_rectangle shader. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D96319
2020-11-09 22:18:09 +00:00
Brad Werth d1844db20a Bug 1675854 Part 2: Use AutoRelease in ScaledFontMac::GetFontDescriptor. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D96456
2020-11-09 20:38:11 +00:00
Ting-Yu Lin b371960b3f Bug 1675852 Part 1 - Mark more methods 'constexpr' in BaseCoord and nsSize. r=emilio
This is a preparation of the next part.

Technically, we only need the nsSize's two-argument constructor and
BaseCoord's operator* to be 'constexpr', but for the sake of
completeness, I also make all other BaseCoord's methods 'constexpr'.

Differential Revision: https://phabricator.services.mozilla.com/D96257
2020-11-06 22:22:02 +00:00
Markus Stange cb3b5afd46 Bug 1675887 - Respect the time value that's passed to Choreographer.FrameCallback.doFrame. r=kats
This makes the vsync times more consistent.
On a Pixel 2 running Android 11, the callback was called between 1ms and 6ms
after the vsync timestamp in my tests. Having the vsync timestamp slightly in
the past is what the rest of our vsync infrastructure expects.

Differential Revision: https://phabricator.services.mozilla.com/D96279
2020-11-09 18:32:13 +00:00
Jeff Muizelaar 72068a66b2 Bug 1675906 - Add more crashes when we don't find a Factory. r=jfkthame
Unlikely, but we might as well keep narrowing this down.

Differential Revision: https://phabricator.services.mozilla.com/D96303
2020-11-09 11:57:30 +00:00
Andrew Osmond 08bc6ad13e Bug 1655584 - Flush rendering for popup window configuration changes with GTK. r=sotaro
This backs out part of bug 1656211 which turned out to be insufficient.
The invalidate rendered frame transaction races with the initial frame
rendering of the popup. If it comes in too soon, we will only draw the
frame once, and the frame corruption remains. This patch makes us flush
the rendering pipeline to ensure we get two separate generate frame
events.

Differential Revision: https://phabricator.services.mozilla.com/D96157
2020-11-06 11:56:13 +00:00
Glenn Watson 30f8828d2b Bug 1675136 - Remove ForceRedraw message. r=sotaro
This message looks racy and should no longer be required (since
picture caching is always enabled and the composite descriptor
tracks the image generation and dirty rect of external images).

If this _does_ cause a regression, we should fix it by improving
the composite descriptor tracking rather than using a message.

Differential Revision: https://phabricator.services.mozilla.com/D95813
2020-11-08 19:26:23 +00:00
Jonathan Kew 44c5ff8518 Bug 1675714 - Null-check the OSPreferences instance before potential off-main-thread usage. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D96201
2020-11-07 17:28:51 +00:00
Kartikaya Gupta 6f74d74e79 Bug 1675378 - Add a utility to simplify writing fission hit-testing tests. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96034
2020-11-07 02:29:26 +00:00
Markus Stange 6b58fc6c1e Bug 1675888 - Reduce apz.velocity_relevance_time_ms from 150 to 100, to match Chrome. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96286
2020-11-07 06:41:55 +00:00
Dzmitry Malyshau f9116a751d Bug 1622846 - Serialize WebGPU descriptors via Serde for IPC r=jgilbert,webidl,smaug
This PR updates wgpu to the latest and changes the way we pass object descriptors to the GPU process.
Instead of trying to convert them between DOM-CPP-IPDL-FFI-Rust, we now do DOM-FFI-Rust
and serialize them by serde into ipc::ByteBuf objects.

Differential Revision: https://phabricator.services.mozilla.com/D94908
2020-11-07 02:43:09 +00:00
Kartikaya Gupta fc0f24b930 Bug 1675520 - Update APZ docs to include some WR integration details. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96196
2020-11-07 01:42:31 +00:00
Kartikaya Gupta 07207f1791 Bug 1675520 - Fix typo. r=botond
Don't take this as indication that I audited all the existing documentation!
I literally just spotted this typo out of the corner of my eye.

Depends on D96194

Differential Revision: https://phabricator.services.mozilla.com/D96195
2020-11-07 01:02:38 +00:00
Kartikaya Gupta 6615dde678 Bug 1675520 - Update some stale checkerboard documentation. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96194
2020-11-07 01:02:20 +00:00
Jeff Gilbert 962773730d Bug 1663152 - Ask for 3.2core+ if !REQUIRE_COMPAT_PROFILE on EGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D93041
2020-11-07 00:37:07 +00:00
Jamie Nicol 4ab16d8385 Bug 1661528 - Batch smaller texture updates together in to fewer upload calls. r=kvark
Mali-Gxx performance really struggles when we make a large number of
glTexSubImage calls, even if the total amount of memory being uploaded
isn't unreasonably large. To work around this, this change makes it so
that we batch many texture updates in to fewer upload calls.

We sort the updates by their target texture format, then use a
guillotine allocator to pack the updates efficiently. Using the
TextureUploader's newly added ability to manually stage texture data,
we arrange the updates' data as they have been packed, then upload the
large texture in a single call. Finally, we blit each update from its
location in the staging texture to its correct location in the texture
cache.

Differential Revision: https://phabricator.services.mozilla.com/D96025
2020-11-07 00:29:04 +00:00
Jamie Nicol fbb7979b7a Bug 1661528 - Use pool of fixed-size PBOs for uploading textures. r=kvark
Currently we upload texture data by first splitting the updates based
on their destination texture. Then we iterate through every update for
the texture and calculate the total required size, then allocate and
map a PBO large enough to contain the updates. Finally we fill the PBO
with the data and submit the uploads, before moving on to the next
texture. This results in a lot of allocating and mapping PBOs of
highly variable sizes, and also requires an extra iteration of the
updates to calculate the required size.

This change makes it so that we allocate fixed size PBOs. We fill the
PBOs with as many updates as they have room for, then start filling a
new one. Furthermore, we recycle the PBOs to avoid having to
reallocate them, and if possible we persistently map them too.

The TextureUploader struct can now be used to upload to more than one
texture, ensuring buffers are filled more efficiently. It is also now
possible to manually stage some data in the PBO to be uploaded, in
case the client requires more fine-grained control over the layout of
the data.

If a single upload is too large to fit within the fixed-size PBO, then
we allocate a single-use larger PBO for the upload. As before, on Mac
we unfortunately must use a separate PBO for each individual upload,
so we also allocate single-use custom-sized PBOs in that case.

Differential Revision: https://phabricator.services.mozilla.com/D96024
2020-11-07 00:26:38 +00:00
Jamie Nicol e17f6c30ce Bug 1661528 - Update gleam to 0.13.1. r=kvark
Provides glBufferStorage and glFlushMappedBufferRange, and fixes
glClientWaitSync's return type.

Differential Revision: https://phabricator.services.mozilla.com/D96023
2020-11-07 00:30:09 +00:00
Brad Werth 5d00ad647a Bug 1675854: Make ScaledFontMac::GetFontDescriptor release the psname reference before returning. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D96260
2020-11-06 21:36:08 +00:00
Csoregi Natalia 1a3ae2644d Backed out changeset bdd3d7eb5927 (bug 1622846) for linux bustage on gfx/wgpu/wgpu-types/src/lib.rs. CLOSED TREE 2020-11-07 00:48:50 +02:00
Dzmitry Malyshau 505438ed91 Bug 1622846 - Serialize WebGPU descriptors via Serde for IPC r=jgilbert,webidl,smaug
This PR updates wgpu to the latest and changes the way we pass object descriptors to the GPU process.
Instead of trying to convert them between DOM-CPP-IPDL-FFI-Rust, we now do DOM-FFI-Rust
and serialize them by serde into ipc::ByteBuf objects.

Differential Revision: https://phabricator.services.mozilla.com/D94908
2020-11-06 18:59:27 +00:00
Brad Werth d95911267d Bug 1674868 Part 3: Make NativeFontResourceMacReporter report each native font by name. r=jrmuizel
If there is no font name stored, this reports "Unknown(#)" with the index of
the font in the map.

Depends on D96122

Differential Revision: https://phabricator.services.mozilla.com/D96123
2020-11-06 18:53:07 +00:00
Brad Werth f0623db64c Bug 1674868 Part 2: Make NativeFontResourceMac store native font names alongside raw font data. r=jrmuizel
This moves from unordered_set to unordered_map to accommodate storing the font
name alongside the font data.

Differential Revision: https://phabricator.services.mozilla.com/D96122
2020-11-06 18:52:58 +00:00