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

40077 Коммитов

Автор SHA1 Сообщение Дата
Bob Owen 71ab76aea6 Bug 1696967: Only snapshot before unlocking canvas texture when caching a data surface. r=jrmuizel
Doing this every frame causes issues for older GPUs with the extra bitmap
creation, copy and destruction. Instead the TextureRecorded now only takes a
snapshot when it is going to cache a data surface to improve getting data back
at the start of a frame.

Differential Revision: https://phabricator.services.mozilla.com/D108500
2021-03-16 14:17:50 +00:00
Nicolas Silva 2812a3f520 Bug 1687977 - Part 6 - Split gradient_shared.glsl. r=gw
The parts stay in gradient_shared.glsl are specific to the gradient brushes, dont build without outside of the brsuh infrastructure and will be removed along with the brush gradients. The parts that go into gradient.glsl will be shared between the different gradient render task shaders.

Depends on D108464

Differential Revision: https://phabricator.services.mozilla.com/D108465
2021-03-16 12:43:11 +00:00
Nicolas Silva 879dea8d76 Bug 1687977 - Part 5 - More Gradient/FastLienarGradient renaming. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D108464
2021-03-16 12:43:11 +00:00
stransky 84c0db65db Bug 1661572 [Linux] Check mSurface before use at DMABUFTextureData/DMABUFTextureHostOGL, r=sotaro
It's possible that DMABufSurface::CreateDMABufSurface() fails, for instance when we're running out of file descriptors. In such case mSurface is null
and we need to check it before we use it.

Also implement DMABUFTextureHostOGL::IsValid() to claim mSurface state.

Depends on D107976

Differential Revision: https://phabricator.services.mozilla.com/D107977
2021-03-16 07:57:40 +00:00
Lee Salzman 8891047137 Bug 1698067 - Only collapse framebuffer clears when stride is packed. r=sotaro
There is a bug where if the stride of the default framebuffer is not tightly
packed, such as when we are mapping a smaller dirty region of a larger output
buffer, we can erroneously clear a region of the larger output buffer that
should not be overwritten. This limits the optimization to only happen when
the stride is tightly packed.

Differential Revision: https://phabricator.services.mozilla.com/D108534
2021-03-16 04:38:19 +00:00
Dorel Luca 86bf95d546 Backed out changeset f3aeb3726cee (bug 1698067) for Webrender failures 2021-03-16 05:50:52 +02:00
Lee Salzman 3263d7e825 Bug 1698067 - Force color buffer to resolve before committing. r=sotaro
This cleans up two issues related to delayed clearing of the default framebuffer.

Firstly, we might accidentally not have resolved the color buffer by the time we
go to actually commit it, so that any delayed clears of the default framebuffer
might get missed. We need to force the color buffer to resolve before we commit
to guarantee there are no delayed clears left.

Secondly, there is a bug where if the stride of the default framebuffer is not
tightly packed, such as when we are mapping a smaller dirty region of a larger
output buffer, we can erroneously clear a region of the larger output buffer
that should not be overwritten. This limits the optimization to only happen
when the stride is tightly packed.

Differential Revision: https://phabricator.services.mozilla.com/D108534
2021-03-16 02:42:00 +00:00
Kartikaya Gupta e24871a566 Bug 1698441 - Remove synthesizeNativeWheelAndWaitForWheelEvent. r=tnikkel
Depends on D108442

Differential Revision: https://phabricator.services.mozilla.com/D108443
2021-03-16 00:02:22 +00:00
Kartikaya Gupta 13f63c84fa Bug 1698441 - Remove call to synthesizeNativeWheelAndWaitForWheelEvent. r=tnikkel
This test is not actually run in CI (disabled via mochitest.ini), so
this has zero effect. Even if it did run, the call to
synthesizeNativeWheelAndWaitForWheelEvent is not passing in a callback
function; it runs the following rAF line immediately. So calling the
function that "waits for the wheel event" is pointless, we can just
call the version that synthesizes the native wheel input and it is
functionally identical.

Depends on D108441

Differential Revision: https://phabricator.services.mozilla.com/D108442
2021-03-16 00:02:22 +00:00
Kartikaya Gupta 4df00b4369 Bug 1698439 - Flatten async function in browser_test_background_tab_scroll.js to remove flushApzRepaints call. r=tnikkel
Depends on D108440

Differential Revision: https://phabricator.services.mozilla.com/D108441
2021-03-16 00:02:21 +00:00
Kartikaya Gupta 3e21a185f0 Bug 1698439 - Remove unused callback-style function. r=tnikkel
Depends on D108439

Differential Revision: https://phabricator.services.mozilla.com/D108440
2021-03-16 00:02:21 +00:00
Kartikaya Gupta 7f6293bb4f Bug 1698439 - Replace calls to flushApzRepaints with promise equivalent. r=tnikkel
These tests are too annoying to restructure completely, so I'm just
doing a local inlining of the function here.

Depends on D108438

Differential Revision: https://phabricator.services.mozilla.com/D108439
2021-03-16 00:02:20 +00:00
Kartikaya Gupta 752487cb0c Bug 1698439 - Rearrange helper_override_root.html to remove flushApzRepaints call. r=tnikkel
This restructures the test from a callback-style test into an async/await-style
test that is functionally equivalent.

Depends on D108437

Differential Revision: https://phabricator.services.mozilla.com/D108438
2021-03-16 00:02:20 +00:00
Kartikaya Gupta 48c76d19ce Bug 1698439 - Rearrange helper_iframe_pan.html to remove flushApzRepaints call. r=tnikkel
This restructures the test from a callback-style test into an async/await-style
test that is functionally equivalent.

Depends on D108436

Differential Revision: https://phabricator.services.mozilla.com/D108437
2021-03-16 00:02:20 +00:00
Kartikaya Gupta 17044c6af3 Bug 1698439 - Rearrange helper_div_pan.html to remove flushApzRepaints call. r=tnikkel
This restructures the test from a callback-style test into an async/await-style
test that is functionally equivalent.

Depends on D108435

Differential Revision: https://phabricator.services.mozilla.com/D108436
2021-03-16 00:02:19 +00:00
Kartikaya Gupta 341c8fa58f Bug 1698439 - Replace nested callbacks with await calls. r=tnikkel
Depends on D108434

Differential Revision: https://phabricator.services.mozilla.com/D108435
2021-03-16 00:02:19 +00:00
Kartikaya Gupta 3d60f2b16d Bug 1698437 - Fully convert tests to async-style so they run to completion. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D108434
2021-03-16 00:02:18 +00:00
Lee Salzman 9c3c3c6539 Bug 1696312 - Reset SwCompositor job cache on completion. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D108524
2021-03-15 23:51:35 +00:00
Sawyer Bergeron 2ecfa53c5f Bug 1690430 - Clamp scroll offset during ApplyAsyncTestAttributes. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D103850
2021-03-15 21:29:15 +00:00
Jeff Muizelaar d6ec3e53b6 Bug 1697502. Override -Oz with -O2 when building SWGL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D108501
2021-03-15 20:13:24 +00:00
Jeff Muizelaar 720be19554 Bug 1698363 - Use trait objects instead of home grown polymorphism. r=aosmond
This lets each ModularTransform contain only the data that needs
instead of all of the possible data and will allow for removing
some of the Option wrappers.

Differential Revision: https://phabricator.services.mozilla.com/D108357
2021-03-15 18:44:17 +00:00
Jeff Muizelaar 83e8eeb430 Bug 1698363 - Use a Vec instead of a list to store ModularTransforms. r=aosmond
This makes things a little simpler at the cost of the Vec<> allocation.
However, it lets us switch to using trait objects because we don't
need a common next_transform field.

Differential Revision: https://phabricator.services.mozilla.com/D108356
2021-03-15 18:44:17 +00:00
Jeff Muizelaar 4408cb9135 Bug 1698325 - Remove dead field. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D108341
2021-03-15 17:58:12 +00:00
Andrew Osmond b59ae453a7 Bug 1691556 - Drop stale async resource updates after a namespace change. r=jrmuizel
When the ID namespace changes for a WebRenderBridgeChild, all bindings
from that namespace are now invalid. We already drop any outstanding
async animation holds on surfaces for recycling, but we still would try
to send out async resource updates that were already queued before the
namespace was changed. This patch forces us to drop those now defunct
transactions.

Differential Revision: https://phabricator.services.mozilla.com/D108481
2021-03-15 17:20:23 +00:00
Jeff Muizelaar c2592d4467 Bug 1698324 - Store an array of curves instead of explicit rgb ones. r=aosmond
This will make supporting CMYK easier.

Differential Revision: https://phabricator.services.mozilla.com/D108340
2021-03-15 17:05:26 +00:00
Sylvestre Ledru 81b14e2ac7 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
Updated with clang-format version 11.0.1 (taskcluster-B6bdwSKDRF-luRQWXBuzpA)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D108334
2021-03-15 08:45:29 +00:00
Jeff Muizelaar 637bff54ac Bug 1697887 - Remove TransfromPrecache test. r=aosmond
This test is duplicated in the Rust code and
removing it removes the last usage of internal qcms
functions.

Differential Revision: https://phabricator.services.mozilla.com/D108078
2021-03-14 19:45:47 +00:00
Jeff Muizelaar 812f96aeba Bug 1697818 - Drop handrolled NEON SIMD wrappers. r=aosmond
We require Rust 1.50 now which is new enough to not need these
wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D108337
2021-03-14 19:44:57 +00:00
Botond Ballo 5f78d6f8ef Bug 1696846 - Make sure APZ knows about the wheel listener in helper_zoom_with_touchpad.html before sending it events. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D108306
2021-03-13 03:48:10 +00:00
Emilio Cobos Álvarez 5983d3d583 Bug 1697963 - Properly override WebRenderUserData::GetGeometry for fallback. r=aosmond
I think this is what's supposed to happen, otherwise this can cause
invalidation issues because UpdateDrawResult etc for fallback images
becomes a no-op...

Differential Revision: https://phabricator.services.mozilla.com/D108197
2021-03-12 18:39:05 +00:00
Simon Giesecke 91fdeec18c Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 16:14:58 +00:00
Andrew Osmond 1c682d57a9 Bug 1697195 - Force enable Software WebRender if Fission and experiment are enabled. r=jrmuizel
Fission without WebRender is an unsupported configuration and enrolls
users based on their compositor. However because of our own rollout of
WebRender, a user might start in early beta with WebRender and lose it
in late beta, while they remain enrolled in the Fission experiment.
Also, a user could lose WebRender because of crashes or device reset,
and we may fall back to Basic.

This patch forces Software WebRender as available (but does not override
Hardware WebRender) if Fission is enabled for users enrolled in the
Fission experiment. It also prevents fallback to Basic layers when
disabling acceleration due to crashes and runtime errors, so the user
will be stuck with Software WebRender at a minimum. It also enables
Software WebRender for Windows popups with transparency.

Differential Revision: https://phabricator.services.mozilla.com/D107661
2021-03-12 15:52:40 +00:00
Alexandru Michis c691800cb0 Backed out changeset fd03162e726d (bug 1695162) for causing bustages in Document.cpp
CLOSED TREE
2021-03-12 17:10:02 +02:00
Simon Giesecke 2fb6095f16 Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 14:54:08 +00:00
sotaro d185ad884c Bug 1697981 - Do not allocate CompositorWindow for Software WebRender r=nical
Since Bug 1688096 fix, WebRender and Software WebRender could be used at the same time.

Differential Revision: https://phabricator.services.mozilla.com/D108141
2021-03-12 12:52:16 +00:00
Jamie Nicol 07f8f9ce16 Bug 1695912 - Ensure shaders use 16 or fewer varying vectors even if driver does not pack them. r=jrmuizel
On some Adreno 3xx devices we have observed that the driver does not
pack varyings in to vectors as efficiently as the spec mandates. This
results in some of our shaders using a greater number of varying
vectors than GL_MAX_VARYING_VECTORS (which 16 on this device), leading
to shader compilation errors at run time.

Work around this by manually packing our varyings in to fewer
vectors. Additionally, add a test to ensure that we never use more
than 16 vectors even if the driver were to perform no additional
packing.

Differential Revision: https://phabricator.services.mozilla.com/D107929
2021-03-12 11:10:47 +00:00
Timothy Nikkel 957d767576 Bug 1696802. Add test. r=botond,mstange
Creating an event with type NSEventTypeSmartMagnify does not work with either NSEvent mouseEventWithType or NSEvent otherEventWithType (they both hit an assert in the appkit code). So the best we can do is call the same function.

Differential Revision: https://phabricator.services.mozilla.com/D107792
2021-03-12 02:10:43 +00:00
Timothy Nikkel 7d1fc30871 Bug 1696802. Add code to support double tap to zoom on mac. r=botond,mstange
We already have a pref for double tap to zoom with is already enabled by default so it's kind of awkward to add another pref.

Differential Revision: https://phabricator.services.mozilla.com/D107389
2021-03-12 02:10:36 +00:00
nsmoker cde464b48d Bug 1614850 - Fixed a crash when enabling layers.progressive_paint on desktop and sandboxed platforms. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D107943
2021-03-12 00:32:01 +00:00
Lee Salzman ea0c93ed95 Bug 1697567 - Request Y flip in RenderCompositorOGLSWGL::MaybeReadback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D107890
2021-03-11 21:30:34 +00:00
Kagami Sascha Rosylight 46f609593d Bug 1697253 - Hide VisualViewport interface behind the existing pref r=edgar
Bug 1357785 accidentally omitted the flag on the interface itself. This patch makes thing consistent to prevent potential confusion in feature detection.

Differential Revision: https://phabricator.services.mozilla.com/D107742
2021-03-11 20:51:51 +00:00
Lee Salzman 9c3cb69ebc Bug 1695782 - Verify that YUV texture step is non-zero. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D107778
2021-03-11 20:48:05 +00:00
Andrew Osmond 48b3a42c46 Bug 1697582 - Ship Software WebRender to Windows release subset. r=jrmuizel
Windows users on Basic / without D3D11 compositing, with the GPU
process, and with small screens may get Software WebRender on the
late beta and release channel.

Differential Revision: https://phabricator.services.mozilla.com/D107920
2021-03-11 20:09:21 +00:00
Emilio Cobos Álvarez 2804b6c0e2 Bug 1697787 - Only call qcms_enable_iccv4 after parsing the device profile. r=jrmuizel
This is what was happening before bug 1697787, and it's technically a
bug.

Differential Revision: https://phabricator.services.mozilla.com/D108076
2021-03-11 19:21:29 +00:00
Jeff Muizelaar 51f07145b3 Bug 1697858 - Use an additional src profile when fuzzing. r=aosmond
Only using sRGB will limit the gamut of XYZ that we explore
which seems to prevent us from finding bug 1697787. Also using the
identity XYZD50 profile should hopefully fix that.

Differential Revision: https://phabricator.services.mozilla.com/D108060
2021-03-11 18:45:05 +00:00
Emilio Cobos Álvarez 49a866304d Bug 1697842 - Don't specify a rayon minor version in Cargo.toml. r=jrmuizel
This will allow us to not change these files if we need to change the
rayon version to fix stability issues like bug 1694671.

Differential Revision: https://phabricator.services.mozilla.com/D108042
2021-03-11 18:23:01 +00:00
Noemi Erli 491c8096b5 Backed out changeset 2171d982acdf (bug 1695912) for causinf wrench failures CLOSED TREE 2021-03-11 22:17:34 +02:00
Jamie Nicol ba18d9627d Bug 1695912 - Ensure shaders use 16 or fewer varying vectors even if driver does not pack them. r=jrmuizel
On some Adreno 3xx devices we have observed that the driver does not
pack varyings in to vectors as efficiently as the spec mandates. This
results in some of our shaders using a greater number of varying
vectors than GL_MAX_VARYING_VECTORS (which 16 on this device), leading
to shader compilation errors at run time.

Work around this by manually packing our varyings in to fewer
vectors. Additionally, add a test to ensure that we never use more
than 16 vectors even if the driver were to perform no additional
packing.

Differential Revision: https://phabricator.services.mozilla.com/D107929
2021-03-11 15:07:40 +00:00
Jan Alexander Steffens (heftig) 4920407bb3 Bug 1696845 - Use dlsym for gdk_*_display_get_type. r=stransky
Using `dlsym` for `gdk_wayland_display_get_type` is a cleaner solution
to bug 1696319, allowing running with a GTK that lacks the Wayland
backend.

Also adds a symmetric implementation for `gdk_x11_display_get_type`,
which should help running without X11.

Differential Revision: https://phabricator.services.mozilla.com/D107406
2021-03-11 14:32:53 +00:00
Glenn Watson c5357efe52 Bug 1697346 - Remove snapping of inflated surface rects. r=aosmond,gfx-reviewers
When an offscreen surface establishes a raster root, this code
was causing incorrect snapping / rounded (even on non-inflated
surfaces), resulting in test failures in some cases.

In theory, this should not be necessary, since scroll offsets are
snapped, and primitives are already snapped during scene building.
Additionally, the picture surface allocation code expects surfaces
with fractional offsets and handles this case (by rounding out the
allocation size, and creating a UV set that samples from the subpixel
offsets of the surface).

In practice, there may be content that relies on this which isn't
tested by CI, so let's land this as a separate patch and see if it
causes any real-world content regressions, before landing the
changes that rely on this.

Differential Revision: https://phabricator.services.mozilla.com/D107768
2021-03-11 02:30:34 +00:00