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

9093 Коммитов

Автор SHA1 Сообщение Дата
Robert Mader ea68cb4546 Bug 1732443 - Remove remaining XRender leftovers,r=emilio,stransky
The few cases where we still use Xlib most likely benefit little
from Xrender. Lets drop the support for it.

Differential Revision: https://phabricator.services.mozilla.com/D126970
2021-09-30 14:14:13 +00:00
Chris Martin a00e96e1d3 Bug 1718414 - Stop canvas from initializing D3D in locked-down content process when GPU process fails r=sotaro,bobowen
Before Win32k Lockdown, Canvas would ensure that it would get the fastest possible implementation by initializing
devices in content process before allocating persistent buffers for its backing.

However, with Win32k Lockdown it's no longer possible, as initializing Direct3D and Direct2D make Win32k calls that
crash the locked-down content process.

This issue is generally solved by Remote Canvas; however, Remote Canvas is disabled if the GPU process is disabled.
If that happens, the current behavior is to attempt to initialize hardware acceleration again, causing a crash when
Win32k Lockdown is in effect.

This patch changes the behavior so that the devices will not initialize if they are in a locked-down content process,
even if Remote Canvas is disabled. The effect is that Canvas will fall back to using Skia for everything.

Differential Revision: https://phabricator.services.mozilla.com/D126761
2021-09-29 15:00:19 +00:00
stransky ac3b9d1e54 Bug 1729656 [Wayland] Don't use gfxPlatform to configure DMABuf, r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D126821
2021-09-28 20:16:17 +00:00
Mike Hommey f97bfb08a7 Bug 1732208 - Silence the unused-but-set-variable warning in gfx. r=gfx-reviewers,nical
gfx/2d/SourceSurfaceD2D1.cpp(201,20): error: variable 'options' set but not used [-Werror,-Wunused-but-set-variable]
  D2D1_MAP_OPTIONS options;
                   ^
gfx/thebes/gfxDWriteFontList.h(269,13): error: variable 'hr' set but not used [-Werror,-Wunused-but-set-variable]
    HRESULT hr = S_OK;
            ^
gfx/thebes/gfxGDIFontList.cpp(1020,12): error: variable 'cmapLoaded' set but not used [-Werror,-Wunused-but-set-variable]
      bool cmapLoaded = false;
           ^
gfx/thebes/gfxMacPlatformFontList.mm:1771:10: error: variable 'isStandardFace' set but not used [-Werror,-Wunused-but-set-variable]
    bool isStandardFace = false;
         ^
gfx/thebes/gfxPlatformFontList.cpp(1064,18): error: variable 'rejectedFallbackVisibility' set but not used [-Werror,-Wunused-but-set-variable]
  FontVisibility rejectedFallbackVisibility = FontVisibility::Unknown;
                 ^
gfx/vr/service/OculusSession.cpp(1329,12): error: variable 'bNewController' set but not used [-Werror,-Wunused-but-set-variable]
      bool bNewController = false;
           ^

Differential Revision: https://phabricator.services.mozilla.com/D126454
2021-09-28 00:02:45 +00:00
Tetsuharu Ohzeki 9fe3e79bd8 Bug 1732328 - Remove dead gfx.layerscope.*** pref. r=gfx-reviewers,jrmuizel
There is no actual user of `gfx.layerscope.enabled` that toggle
LayerScope now. We can remove them.

Differential Revision: https://phabricator.services.mozilla.com/D126511
2021-09-25 16:22:24 +00:00
Chris Peterson 67f51f29e2 Bug 1732481 - Fix non-unified build errors in gfx. r=gfx-reviewers,jrmuizel
Building with ac_add_options --disable-unified-build on macOS hits the following warnings-as-errors:

gfx/2d/FilterNodeSoftware.cpp:1022:10 [-Wunreachable-code-return] 'return' will never be executed
gfx/2d/DrawTargetCairo.cpp:1957:20 [-Wunused-function] unused function 'GfxMatrixToPixmanTransform'
gfx/thebes/gfxHarfBuzzShaper.cpp:1008:23: warning: unused variable 'sDageshForms' [-Wunused-const-variable]
gfx/thebes/gfxMacPlatformFontList.mm:818:31 [-Wunused-const-variable] unused variable 'kLangFontsDirs'
gfx/tests/gtest/TestSwizzle.cpp:221:21 [-Wunreachable-code] code will never be executed
gfx/tests/gtest/TestTreeTraversal.cpp:16:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_DEPTH'
gfx/tests/gtest/TestTreeTraversal.cpp:17:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_CHILD_COUNT'
gfx/tests/gtest/TestTreeTraversal.cpp:18:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_TREE_LEAF_COUNT'
gfx/tests/gtest/TestTreeTraversal.cpp:19:11 [-Wunused-const-variable] unused variable 'PERFORMANCE_REGION_XWRAP'
gfx/vr/VRDisplayPresentation.cpp:151:3 [-Wunreachable-code-loop-increment] loop will run at most once (loop increment never executed)
gfx/ycbcr/scale_yuv_argb.cpp:61:21 [-Wunused-function] unused function 'Abs'

Differential Revision: https://phabricator.services.mozilla.com/D126592
2021-09-24 19:14:46 +00:00
Emilio Cobos Álvarez e37caecb95 Bug 1730456 - InitPlatformFontList should reframe. r=jfkthame
I don't know why it didn't broadcast the reflow request to child
processes... Perhaps it doesn't have to?

Differential Revision: https://phabricator.services.mozilla.com/D126128
2021-09-23 16:35:32 +00:00
Nicolas Silva 0752cfb5cb Bug 1731610 - Add new prefs in WebRender with less boilerplate. r=gfx-reviewers,jrmuizel
Right now adding a dynamic pref for webrender involves plumbing in gfxPlatform, gfxVars, CompositBridgeParent, WebRenderBridgeParent, WebRenderAPI, the bindings, and then messaging the pref change to the right thread in WebRender.

That's quite a bit time consuming for something we tend to do for multiple things.

We already have a pretty good system for boolean debug prefs where the pref only needs to be listed in gfxPlatform and in the DebugPref enum of webrender_api/lib.rs, which has led us to use it for non-debug purposes.

This patch adds a system similar to the DebugFlags with values passed in a bitfield to be able to use gfxVars. In WebRender the parameters are key-value pairs which flow through the pipeline so that any component can react to them. A followup will add integer parameters.

The patch also moves a few prefs to this system and adds a pref to use PBO uploads.

Differential Revision: https://phabricator.services.mozilla.com/D126100
2021-09-23 15:17:46 +00:00
Jonathan Kew 1cf6b1131c Bug 1715537 - Log a warning to the web console when a font request is blocked due to font-visibility restrictions. r=emilio
Depends on D124196

Differential Revision: https://phabricator.services.mozilla.com/D124345
2021-09-23 13:36:18 +00:00
Jonathan Kew 3da669f852 Bug 1719544 - part 2 - Convert gfxHarfBuzzShaper normalization callbacks from direct ICU access to mozilla::intl::String APIs. r=platform-i18n-reviewers,dminor
Depends on D126259

Differential Revision: https://phabricator.services.mozilla.com/D126260
2021-09-22 21:27:54 +00:00
criss 6685fa570d Backed out 2 changesets (bug 1719544) for causing bustages on gtest.h:1445:11. CLOSED TREE
Backed out changeset 4ab330369412 (bug 1719544)
Backed out changeset b5d8d32d8326 (bug 1719544)
2021-09-22 23:33:48 +03:00
Jonathan Kew 71ac7ba474 Bug 1719544 - part 2 - Convert gfxHarfBuzzShaper normalization callbacks from direct ICU access to mozilla::intl::String APIs. r=platform-i18n-reviewers,dminor
Depends on D126259

Differential Revision: https://phabricator.services.mozilla.com/D126260
2021-09-22 18:48:53 +00:00
Bas Schouten 469ae76354 Bug 1730772: Do not use GDI classic rendering when rendering Canvas. r=jfkthame,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D125982
2021-09-19 21:10:35 +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
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
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
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
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
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
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
Ryan VanderMeulen f2c97ff01c Bug 1726416 - Revert the changes made by bug 1716029 which are no longer needed. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D124822
2021-09-09 14:48:32 +00:00
Tetsuharu Ohzeki e53074ff5f Bug 1729826 - Remove unused gfxPlatform::BufferRotationEnabled(). r=gfx-reviewers,mattwoodrow
This also remove layers.bufferrotation.enabled pref.

Differential Revision: https://phabricator.services.mozilla.com/D125022
2021-09-09 05:00:21 +00:00
Tetsuharu Ohzeki 34efa74406 Bug 1729816 - part 1: Remove unused gfxPlatform::GetLayerDiagnosticTypes() and related prefs. r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D125003
2021-09-09 02:02:10 +00:00
Nicolas Silva 0afcd4879b Bug 1729441 - Add a pref to set the blob tile size. r=gfx-reviewers,bradwerth
The prefs name is gfx.webrender.blob-tile-size and can be changed at runtime.

It changes the behavior of a wrench reftest that was ensuring that we don't crash with unreasonable tile sizes. The new behavior (sanitizing the tile size) means we can render the image while we would previously skip it.

Differential Revision: https://phabricator.services.mozilla.com/D124789
2021-09-08 12:41:51 +00:00
Jonathan Kew bfa1d70def Bug 1715501 - patch 2 - Pass the presContext to platform font lookup methods so they can query it for font visibility. r=emilio
This does not in itself change user-visible behavior, but is a foundation for bug
1715507 where we will make the behavior per-context instead of global. This is basically
just plumbing, passing a pointer to the presContext that's asking for fonts to be
resolved all the way down to the gfx code that handles the font list and looks up
fonts.

For the immediate goal of making font visibility work per-context, it would be
sufficient to pass the desired visibility level in to the font-selection methods.
However, passing the actual presContext down (and not just its visibility level)
will enable us to report back via the dev console when a font is blocked (see bug
1715537), so the approach here provides the basis for that upcoming enhancement.

Depends on D124194

Differential Revision: https://phabricator.services.mozilla.com/D124195
2021-09-08 12:18:17 +00:00
Jonathan Kew 99dbfb0c56 Bug 1715501 - patch 1 - Track codepoints with no available fonts and replacement-char family separately for each font-visibility level. r=emilio
This does not change existing behavior, but will be required once font visibility
is no longer simply a global setting. The data cached in these members depends on
the font visibility level, so currently we just flush it if the visibility pref is
modified. But in future we may be using multiple levels at the same time (in
separate contexts), so we want to maintain separate per-level caches here.

Differential Revision: https://phabricator.services.mozilla.com/D124194
2021-09-08 12:18:17 +00:00
Cristian Tuns 9e1718d5a5 Backed out 4 changesets (bug 1715537, bug 1715507, bug 1715501) for causing mochitest failures on test_bug418986-2.html. CLOSED TREE
Backed out changeset fff777ea5637 (bug 1715537)
Backed out changeset 240308eb514d (bug 1715507)
Backed out changeset e3f8526e0e2a (bug 1715501)
Backed out changeset cfdd1c5d8d3f (bug 1715501)
2021-09-08 07:48:51 -04:00
Jonathan Kew 34bb52269d Bug 1715537 - Log a warning to the web console when a font request is blocked due to font-visibility restrictions. r=emilio
Depends on D124196

Differential Revision: https://phabricator.services.mozilla.com/D124345
2021-09-08 09:35:18 +00:00
Jonathan Kew 20585f15c0 Bug 1715501 - patch 2 - Pass the presContext to platform font lookup methods so they can query it for font visibility. r=emilio
This does not in itself change user-visible behavior, but is a foundation for bug
1715507 where we will make the behavior per-context instead of global. This is basically
just plumbing, passing a pointer to the presContext that's asking for fonts to be
resolved all the way down to the gfx code that handles the font list and looks up
fonts.

For the immediate goal of making font visibility work per-context, it would be
sufficient to pass the desired visibility level in to the font-selection methods.
However, passing the actual presContext down (and not just its visibility level)
will enable us to report back via the dev console when a font is blocked (see bug
1715537), so the approach here provides the basis for that upcoming enhancement.

Depends on D124194

Differential Revision: https://phabricator.services.mozilla.com/D124195
2021-09-08 09:35:17 +00:00
Jonathan Kew ffc9bc9fe0 Bug 1715501 - patch 1 - Track codepoints with no available fonts and replacement-char family separately for each font-visibility level. r=emilio
This does not change existing behavior, but will be required once font visibility
is no longer simply a global setting. The data cached in these members depends on
the font visibility level, so currently we just flush it if the visibility pref is
modified. But in future we may be using multiple levels at the same time (in
separate contexts), so we want to maintain separate per-level caches here.

Differential Revision: https://phabricator.services.mozilla.com/D124194
2021-09-08 09:35:16 +00:00
Tetsuharu Ohzeki cc4be149b9 Bug 1729570 - part 3: Remove unused gfxPlatform::GetAcceleratedCompositorBackends(). r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124862
2021-09-08 00:32:09 +00:00
Tetsuharu Ohzeki 52196aec67 Bug 1729570 - part 2: Remove unused gfxPlatform::GetCompositorBackends(). r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124861
2021-09-08 00:32:09 +00:00
Tetsuharu Ohzeki da3f8a5ccf Bug 1729579 - Remove gfxPlatformGtk::UseImageOffscreenSurfaces(). r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D124865
2021-09-08 00:20:44 +00:00
Jeff Muizelaar 4d2306308f Bug 1728991 - Drop some unused gfxASurface includes. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D124456
2021-09-03 16:00:34 +00:00
Jeff Muizelaar dd567d92b7 Bug 1728414 - Remove unused ScreenReferenceSurface() function. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D124113
2021-09-02 14:02:42 +00:00
Nicolas Silva 7d160f6bbc Bug 1728350 - Remove remaining texture-from-pixmap usage. r=gfx-reviewers,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D124093
2021-09-01 17:07:46 +00:00
Andrew Osmond 2e216306b0 Bug 1728466 - Remove unused allowlisting members in gfxPlatform. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124135
2021-09-01 01:15:03 +00:00
Emilio Cobos Álvarez 9f1a306d13 Bug 1728086 - Fix system-ui support on Linux distros where Gnome settings aren't mapped to fontconfig. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D124049
2021-09-01 00:21:57 +00:00
Csoregi Natalia dea5ee66a8 Backed out changeset df6b2d7ac580 (bug 1728086) for failures on system-ui-ar.html. CLOSED TREE 2021-08-31 17:55:00 +03:00
Jonathan Kew c7fdc790cc Bug 1725297 - Remove expiring font telemetry probes. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D124051
2021-08-31 13:48:51 +00:00
Emilio Cobos Álvarez 66d9cbefd5 Bug 1728086 - Fix system-ui support on Linux distros where Gnome settings aren't mapped to fontconfig. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D124049
2021-08-31 11:53:48 +00:00
Andrew Osmond b3def22e3d Bug 1728240 - Remove DrawTargetWrapAndRecord and gfx.2d.recording pref. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124000
2021-08-31 02:03:58 +00:00
Andrew Osmond 82c2f97a8e Bug 1728205 - Remove DrawTargetDual. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123978
2021-08-30 22:55:32 +00:00
Andrew Osmond a16c93e608 Bug 1728202 - Remove DrawTargetTiled. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123977
2021-08-30 20:27:42 +00:00
Andrew Osmond ac49f09199 Bug 1728113 - Remove DrawTargetCapture and related code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123953
2021-08-30 16:35:50 +00:00
Andrew Osmond 8dfbdef80e Bug 1728107 - Remove gfxXlibNativeRenderer and gfxGdkNativeRenderer. r=jrmuizel
This code is no longer used by anything.

Differential Revision: https://phabricator.services.mozilla.com/D123944
2021-08-30 13:19:45 +00:00
Emilio Cobos Álvarez cfca657d9c Bug 1722487 - Avoid some work for font list updates. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D123363
2021-08-26 23:17:54 +00:00
Andrew Osmond 70703f7b42 Bug 1727807 - Remove unused gfxASurface::CreateSimilarSurface. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123789
2021-08-26 19:00:10 +00:00
Bob Owen 0ba10eefad Bug 1726744: Don't force GDI classic when cleartype rendering mode pref is set. r=jfkthame
This also sets the cairo dwrite params in the parent where they might still be
needed for printing.

Differential Revision: https://phabricator.services.mozilla.com/D123731
2021-08-26 11:55:17 +00:00