Commit Graph

41609 Commits

Author SHA1 Message Date
Jon Bauman
619acc91bb Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-17 17:41:26 +00:00
Jeff Muizelaar
73dd817459 Bug 1731262. Install profiler hooks earlier. r=aosmond
There could be a race between installing the profiler hooks
and the SwCompositor threads starting up. If we install them
earlier that should help.

Differential Revision: https://phabricator.services.mozilla.com/D126000
2021-09-17 17:33:33 +00:00
Robert Mader
d5e7b8e606 Bug 1714483 - Force-disable Nvidia FXAA, r=aosmond
While not enabled by default, it is openly exposed in the driver
settings and thus apparently not uncommon. Currently it causes
significant glitches for Firefox HW-WR, but also other text focused
apps (GTK 4).
While this should get fixed in the driver eventually, use the
workaround recommended by Nvidia to force-disable it for now.

Differential Revision: https://phabricator.services.mozilla.com/D125981
2021-09-17 16:44:10 +00:00
Andrew Osmond
66fd73b08c Bug 1729051 - Simplify imgFrame to only use shared surfaces for raster images. r=jrmuizel
In practice we already only use SourceSurfaceSharedData as our
rasterized image backing. This means we no longer need to lock the data
to keep it in memory (when we used volatile memory), nor to try to
optimize the surface for the DrawTarget.

Differential Revision: https://phabricator.services.mozilla.com/D124476
2021-09-17 15:50:04 +00:00
Nicolas Silva
d0020d4ed2 Bug 1730701 - Read the blob tile size pref when starting up. r=gfx-reviewers,sotaro
Without this change it is only applied when the pref change on the existing windows (new windows get a default value).

Differential Revision: https://phabricator.services.mozilla.com/D125547
2021-09-17 12:33:02 +00:00
Cristian Tuns
52e981d4d0 Backed out changeset 84d7adc6d3ef (bug 1730772) for causing Bug 1731207 for text rendering issue a=backout DONTBUILD. 2021-09-17 05:23:00 -04:00
Jeff Gilbert
ad26ba8eea Bug 1717151 - Move EGL_EXT_device_query from device exts to client exts. r=gfx-reviewers,lsalzman
This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Differential Revision: https://phabricator.services.mozilla.com/D125748
2021-09-16 18:24:32 +00:00
Jeff Gilbert
5d9ba6c221 Bug 1717151 - Vendor angle/chromium/4515 with fixes. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D125747
2021-09-16 18:24:29 +00:00
Jeff Gilbert
6dcd4b1e5e Bug 1717151 - Prep ANGLE for vendoring. r=gfx-reviewers,kvark
Differential Revision: https://phabricator.services.mozilla.com/D125746
2021-09-16 18:24:28 +00:00
Bas Schouten
7ff5008d03 Bug 1730772: Do not use GDI classic rendering on transparent DrawTargets (mainly Canvas). r=jfkthame,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D125745
2021-09-16 17:37:05 +00:00
Nicolas Silva
8b189f8ce2 Bug 1730707 - Skip the Staging CPU buffer during uploads in some cases. r=gfx-reviewers,lsalzman
On windows we first group images into 512x512 staging CPU buffers which are uploaded via glTexSubImage2D (UpdateSubResource). When something is almost as large as the staging CPU buffer, we are unlikely to be able to batch it with other items. In this situation we are better off skipping the CPU buffer and uploading off of the image data directly.

Differential Revision: https://phabricator.services.mozilla.com/D125564
2021-09-16 12:47:15 +00:00
Sandor Molnar
d8d7539593 Backed out 3 changesets (bug 1717151) for causing webgl failures in vector-matrix-constructor-scalarization. CLOSED TREE
Backed out changeset bd3e2c874f3d (bug 1717151)
Backed out changeset 3154db5a81cf (bug 1717151)
Backed out changeset 05bd12e339df (bug 1717151)
2021-09-16 10:29:11 +03:00
Hiroyuki Ikezoe
ee274fe350 Bug 1725541 - Consider that the test runs inside an iframe whose size is smaller than the target element's size. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D125782
2021-09-16 04:38:26 +00:00
Botond Ballo
7c7547df7c Bug 1731002 - Remove mAsyncTransformAppliedToContent and its accessors. r=tnikkel
These were only used by AsyncCompositionManager.

Depends on D125784

Differential Revision: https://phabricator.services.mozilla.com/D125785
2021-09-16 02:38:32 +00:00
Botond Ballo
08e05ebcb1 Bug 1731002 - Remove GetCurrentAsyncLayoutViewport(). r=tnikkel
This was only used by AsyncCompositionManager.

Depends on D125783

Differential Revision: https://phabricator.services.mozilla.com/D125784
2021-09-16 02:38:32 +00:00
Botond Ballo
1702825e08 Bug 1731002 - Remove the aOutClipTransform parameter of ComputeTransformForScrollThumb(). r=tnikkel
This parameter was only used by AsyncCompositionManager.

Differential Revision: https://phabricator.services.mozilla.com/D125783
2021-09-16 02:38:31 +00:00
Butkovits Atila
f2a5d438bb Backed out changeset d629f462a605 (bug 1729539) for causing Wd failures. CLOSED TREE 2021-09-16 02:50:35 +03:00
Jeff Gilbert
d6aa54df00 Bug 1717151 - Move EGL_EXT_device_query from device exts to client exts. r=gfx-reviewers,lsalzman
This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Differential Revision: https://phabricator.services.mozilla.com/D125748
2021-09-15 22:20:32 +00:00
Jeff Gilbert
af256a9ea0 Bug 1717151 - Vendor angle/chromium/4515 with fixes. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D125747
2021-09-15 22:20:27 +00:00
Jeff Gilbert
45697f9c6c Bug 1717151 - Prep ANGLE for vendoring. r=gfx-reviewers,kvark
Differential Revision: https://phabricator.services.mozilla.com/D125746
2021-09-15 22:20:27 +00:00
Jon Bauman
6d6715ba10 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-15 19:57:15 +00:00
Emilio Cobos Álvarez
0fc915272e Bug 1729894 - Now that WR is everyhwere, enable backdrop-filter on early-beta / nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D125054
2021-09-15 11:33:29 +00:00
Marian-Vasile Laza
699488300d Backed out changeset bd23fb0c95cc (bug 1729539) for causing web platform failures. 2021-09-15 08:41:00 +03:00
Matt Woodrow
c19e47f6c4 Bug 1729841 - Remove TextureDIB. r=jgilbert,gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D125023
2021-09-15 04:09:43 +00:00
Jon Bauman
f5e56d8781 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-14 23:14:41 +00:00
Cristian Tuns
3a65ad3358 Backed out changeset db3338456ae1 (bug 1729539) for causing multiple failures. CLOSED TREE 2021-09-14 15:02:43 -04:00
Dzmitry Malyshau
45b533e45e Bug 1725854 - Check for the WebGPU pref before initializing the GPU process IPC side r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D125130
2021-09-14 17:48:03 +00:00
Jon Bauman
cf0312ede2 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-14 16:32:37 +00:00
Bob Owen
bda2b82dc9 Bug 1730598: Flush and DetachAllSnapshots in TextureClient::EndDraw. r=lsalzman
This is required to make sure dependents are updated.

Differential Revision: https://phabricator.services.mozilla.com/D125529
2021-09-14 16:11:41 +00:00
Jed Davis
86d7fa40d2 Bug 1725573 - Add color profile remoting for GTK. r=aosmond,perftest-reviewers,AlexandruIonescu
Previously, content processes would try to contact the X server
directly during startup to read color calibration information; with
`dom.ipc.avoid-gtk` this doesn't work because the process is in headless
mode.  This patch extends the color profile IPC facility added in bug
1540776 for Windows sandboxing (win32k lockdown) to GTK under X11.
(Currently there's no support for color management under Wayland, so
there's nothing for this patch to fix in that case.)

Differential Revision: https://phabricator.services.mozilla.com/D124507
2021-09-14 16:01:08 +00:00
Timothy Nikkel
e0efc502a5 Bug 1729606. Remove unused LayerClip, Layer::Get/SetScrolledClip, Layer::*AncestorMaskLayer* and related code. r=botond
Depends on D125473

Differential Revision: https://phabricator.services.mozilla.com/D125476
2021-09-14 00:05:49 +00:00
Timothy Nikkel
e913e150ed Bug 1729606. Remove unused ScrollMetadata::mScrollClip. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D125473
2021-09-14 00:05:48 +00:00
Marian-Vasile Laza
fd405f793b Backed out changeset 80c0c730e1aa (bug 1729894) for causing mochitest failures on browser_styleeditor_autocomplete.js. CLOSED TREE 2021-09-13 23:00:00 +03:00
Lee Salzman
c334dbe58b Bug 1730575 - Add file information to add_native_font panic. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D125449
2021-09-13 19:28:49 +00:00
Lee Salzman
eeda1f5838 Bug 1730559 - Report texture allocation failures inside SWGL. r=jrmuizel
This sets the GL error status to GL_OUT_OF_MEMORY when a texture or buffer
re-allocation fails. It is then possible to check the GL error status via
glGetError after to look for the failure.

Differential Revision: https://phabricator.services.mozilla.com/D125441
2021-09-13 19:27:55 +00:00
Emilio Cobos Álvarez
92dab3e4de Bug 1729894 - Now that WR is everyhwere, enable backdrop-filter on early-beta / nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D125054
2021-09-13 18:22:42 +00:00
Robert Mader
52802a49bc Bug 1670545 - Disable mesa_glthread on X11/EGL, r=aosmond
The combination currently triggers crashes - not on Wayland though.
Put the code into non-shared code to not clutter `GLContextProviderEGL`.

Differential Revision: https://phabricator.services.mozilla.com/D125403
2021-09-13 14:55:05 +00:00
Matt Woodrow
7292fcce3e Bug 1542929 - Remove mReferenceFrame from nsDisplayItem. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124009
2021-09-13 05:01:35 +00:00
Matt Woodrow
fcd01e0c90 Bug 1728050 - Move opacity flattening to be part of WR DL serialization. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124005
2021-09-13 05:01:33 +00:00
criss
9640d7f5f3 Backed out 10 changesets (bug 1714138, bug 1542929, bug 1728232, bug 1729236, bug 1728258, bug 1728251, bug 1728050) for causing bug 1424348 a=backout
Backed out changeset c5b71e6ce0e5 (bug 1729236)
Backed out changeset c6bcc4ed3d2e (bug 1729236)
Backed out changeset 7e292895282a (bug 1729236)
Backed out changeset d9ddd915e0c2 (bug 1714138)
Backed out changeset 82b98d2f0dcf (bug 1728258)
Backed out changeset 9a84a36b9dc4 (bug 1542929)
Backed out changeset 96be978630ff (bug 1728251)
Backed out changeset d7a8bf19d849 (bug 1728251)
Backed out changeset cce0c53b439f (bug 1728232)
Backed out changeset 3afd6aee7849 (bug 1728050)
2021-09-12 12:00:30 +03:00
Dzmitry Malyshau
313f426df3 Bug 1729751 - Update wgpu and ron 3rd parties r=jimb
Brings a few important fixes:
  - better WGSL support
  - Solaris build (1729751)
  - crash in "_MTLCommandEncoder dealloc" (1729648)

Differential Revision: https://phabricator.services.mozilla.com/D125103
2021-09-10 18:24:02 +00:00
Dzmitry Malyshau
56f4d4bdc1 Bug 1730014 - Avoid ASCII intermediate for WGSL shader code r=jgilbert,webidl,emilio
we were doing UTF16 -> ASCII null term -> UTF8, and we were losing information on the way.
Now we go UTF16 -> UTF8 -> UTF8 null term
Also, we no longer accept SPIR-V

Differential Revision: https://phabricator.services.mozilla.com/D125123
2021-09-10 17:19:41 +00:00
Bob Owen
74b9880c08 Bug 1709603: Use a separate permanent canvas back buffer when texture has synchronization. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D125201
2021-09-10 16:37:05 +00:00
Matt Woodrow
64ed962752 Bug 1542929 - Remove mReferenceFrame from nsDisplayItem. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124009
2021-09-10 03:43:34 +00:00
Matt Woodrow
fbef6fe2ee Bug 1728050 - Move opacity flattening to be part of WR DL serialization. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D124005
2021-09-10 03:43:32 +00:00
Tetsuharu Ohzeki
10e5da36a7 Bug 1729820 - Remove unused Compositor::DrawDiagnostics(). r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D125137
2021-09-10 02:17:49 +00:00
Glenn Watson
05eccaa9e7 Bug 1729814 - Split spatial tree in to scene and frame building specific structs r=gfx-reviewers,kvark
The way the spatial tree is referenced and used during scene building
and frame building are very different.

During scene building, the spatial tree is mostly a write-only
struct being used to define spatial nodes. There are a small number
of queries related to snapping, scroll root finding etc.

During frame building, the spatial tree is mostly a read-only
struct used to query relative transforms, coordinate systems etc.

This patch splits them into two separate structs for these different
purposes. Upcoming patches will start to retain each of these structs
across display lists, and this makes it easier to incementally
implement this.

Differential Revision: https://phabricator.services.mozilla.com/D125001
2021-09-10 01:49:48 +00:00
Tetsuharu Ohzeki
71e238968a Bug 1729960 - Remove mozilla::layers::Diagnostics. r=gfx-reviewers,mattwoodrow
This also remove `FPSCounter`, `TimedMetric`, and these prefs:

- layers.acceleration.draw-fps.print-histogram
- layers.acceleration.draw-fps.write-to-file

Differential Revision: https://phabricator.services.mozilla.com/D125110
2021-09-09 23:05:23 +00:00
Glenn Watson
0ea2e3ab33 Bug 1729241 - Pt 3 - Make spatial node indices an opaque type r=gfx-reviewers,kvark
Since spatial node indices will become opaque handles in future,
remove the last part of code outside `spatial_tree` that relies
on the index. In this case, switch the hit-testing code to use
the spatial node indices as a hash key. This is unlikely to have
any noticeable performance impact since hit-tests are relatively
rare, and generally only access a small number of spatial nodes.

Differential Revision: https://phabricator.services.mozilla.com/D124706
2021-09-09 22:04:17 +00:00
Glenn Watson
54261f3c11 Bug 1729241 - Pt 2 - Refactor spatial tree accessors and update r=gfx-reviewers,kvark
Previously, the GPU transform palette always stored the local ->
world transform for each spatial node with O(1) access time.

This won't be feasible in future when spatial nodes are retained
and stored with opaque handles.

Although this was previously a small optimization, it's no longer
important. With picture caching and raster roots, querying the
local -> world transform should be relatively rare (and even rarer
once all surfaces establish raster roots).

We still retain the optimization that querying an identity transform
(where the from == to spatial node) avoids a hash lookup and always
resolves to the first transform in the palette, since this is quite
common.

Differential Revision: https://phabricator.services.mozilla.com/D124595
2021-09-09 22:04:17 +00:00