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

39692 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert 85ed84ba5f Bug 1692355 - [angle] Don't assert for non-sampleable non-ms sources in blitRenderbufferRect if we can CopySubResource. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D104940
2021-02-12 09:22:51 +00:00
Lee Salzman 15e2d003ce Bug 1678119 - Simplify SWGL image fast-paths since complex blending is no longer required. r=jrmuizel
Now that most of the complicated alpha-pass features such as clip-masking and anti-aliasing
are handled in SWGL during the blend stage, most of the fast-paths are identical and only call
swgl_commitTextureLinear in a tight loop. We can do a lot better here by just moving that loop
into SWGL, not only making it faster but removing all the redundant boiler-plate code out of
the shaders.

Differential Revision: https://phabricator.services.mozilla.com/D104536
2021-02-12 02:43:56 +00:00
Lee Salzman ae6d305bf9 Bug 1678119 - Update reftest fuzz for SWGL anti-aliasing. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104494
2021-02-12 02:43:55 +00:00
Lee Salzman bd41ed1f9c Bug 1678119 - Use swgl_antiAlias() in WR brush shaders. r=jrmuizel
This cleans up the WR brush shaders to not have to use its own
implementation of init_transform_fs() for anti-aliasing when SWGL
is available. To enable this, most of the details of AAing have
been moved into brush.glsl to simplify the control knobs and
allow easier modifications.

With swgl_antiAlias() used, the drawSpan fast-paths no longer have to
care about whether ot not AA is enabled, so we can more easily stay
on these fast-paths without worry.

Differential Revision: https://phabricator.services.mozilla.com/D104493
2021-02-12 02:43:55 +00:00
Lee Salzman d91d4d18d4 Bug 1678119 - Implement native anti-aliasing in SWGL. r=jrmuizel
The main goal of this patch is to move all the complexity of optionally
handling anti-aliasing out of the GLSL drawSpan fast-paths and into SWGL
itself into specific blend-mode handling of anti-aliasing. Mainly this
adds a swgl_antiAlias() extension to be called from the GLSL vertex shader,
after which no further involvement is necessary from the shader to work.
This also enables SWGL to better track those areas of a span that don't
need any anti-aliasing applied, and so can potentially be faster.

Some massaging of blend_pixels() was necessary to get it to inline properly
with all the extra cases added. This is mainly a consequence of the DO_AA
macro that lives inside BLEND_CASE, which is used to handle the dispatching
of new AA_BLEND_KEY and AA_MASK_BLEND_KEY cases. The parameters for these
AA modes are mostly handled in SWGL via the aa_span() function, which computes
the area of the span where non-opaque AA weights are necessary and where it can
skip over the opaque interior.

There are some incidental drive-by cleanups that were necessary of bvecs and
pack_pixels.

Differential Revision: https://phabricator.services.mozilla.com/D104492
2021-02-12 02:43:54 +00:00
Butkovits Atila 9852a9e53e Backed out 4 changesets (bug 1678119) for causing build bustage on brush_blend.h. CLOSED TREE
Backed out changeset c93691df2440 (bug 1678119)
Backed out changeset 163ea6e7bcc2 (bug 1678119)
Backed out changeset 16b232a35692 (bug 1678119)
Backed out changeset b9dce9d33351 (bug 1678119)
2021-02-12 03:32:07 +02:00
Matt Woodrow 2b2b87d224 Bug 1676409 - Attempt to resolve CrossProcessPaint objects for printing immediately, in case we didn't queue any dependencies. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D104782
2021-02-12 00:40:41 +00:00
Matt Woodrow b9928bb97d Bug 1682329 - Null check BrowserParent since it can have gone away mid-screenshot. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D104781
2021-02-12 00:40:40 +00:00
Lee Salzman 9c94c67c13 Bug 1678119 - Simplify SWGL image fast-paths since complex blending is no longer required. r=jrmuizel
Now that most of the complicated alpha-pass features such as clip-masking and anti-aliasing
are handled in SWGL during the blend stage, most of the fast-paths are identical and only call
swgl_commitTextureLinear in a tight loop. We can do a lot better here by just moving that loop
into SWGL, not only making it faster but removing all the redundant boiler-plate code out of
the shaders.

Differential Revision: https://phabricator.services.mozilla.com/D104536
2021-02-12 00:19:03 +00:00
Lee Salzman 9024a10fb5 Bug 1678119 - Update reftest fuzz for SWGL anti-aliasing. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104494
2021-02-12 00:19:02 +00:00
Lee Salzman d54c0bf3cb Bug 1678119 - Use swgl_antiAlias() in WR brush shaders. r=jrmuizel
This cleans up the WR brush shaders to not have to use its own
implementation of init_transform_fs() for anti-aliasing when SWGL
is available. To enable this, most of the details of AAing have
been moved into brush.glsl to simplify the control knobs and
allow easier modifications.

With swgl_antiAlias() used, the drawSpan fast-paths no longer have to
care about whether ot not AA is enabled, so we can more easily stay
on these fast-paths without worry.

Differential Revision: https://phabricator.services.mozilla.com/D104493
2021-02-12 00:19:02 +00:00
Lee Salzman 2044de5687 Bug 1678119 - Implement native anti-aliasing in SWGL. r=jrmuizel
The main goal of this patch is to move all the complexity of optionally
handling anti-aliasing out of the GLSL drawSpan fast-paths and into SWGL
itself into specific blend-mode handling of anti-aliasing. Mainly this
adds a swgl_antiAlias() extension to be called from the GLSL vertex shader,
after which no further involvement is necessary from the shader to work.
This also enables SWGL to better track those areas of a span that don't
need any anti-aliasing applied, and so can potentially be faster.

Some massaging of blend_pixels() was necessary to get it to inline properly
with all the extra cases added. This is mainly a consequence of the DO_AA
macro that lives inside BLEND_CASE, which is used to handle the dispatching
of new AA_BLEND_KEY and AA_MASK_BLEND_KEY cases. The parameters for these
AA modes are mostly handled in SWGL via the aa_span() function, which computes
the area of the span where non-opaque AA weights are necessary and where it can
skip over the opaque interior.

There are some incidental drive-by cleanups that were necessary of bvecs and
pack_pixels.

Differential Revision: https://phabricator.services.mozilla.com/D104492
2021-02-12 00:19:02 +00:00
Andrew Osmond b12f12554f Bug 1686946 - Ship Software WebRender to OSX early beta/nightly users without (full) WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D101933
2021-02-11 17:53:40 +00:00
Jamie Nicol 2bc946d133 Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-11 13:47:59 +00:00
Brindusan Cristian 8859fc3907 Backed out changeset e602ff8fea83 (bug 1689064) for assertion failures in gfxFeature.cpp. CLOSED TREE 2021-02-11 13:28:24 +02:00
Jamie Nicol e97cf43b8c Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-11 10:54:15 +00:00
Glenn Watson e257367647 Bug 1692095 - Change DirectComposition virtual surface format to DXGI_FORMAT_R8G8B8A8_UNORM r=jrmuizel
In order to hit the fast path in ANGLE for readback from the
DirectComposition surface tiles, we need to ensure it uses
the same format as intermediate surfaces we are reading back to.

DirectComposition docs claim that both RGBA8 and BGRA8 formats
are supported for surfaces, and doesn't mention any performance
concerns.

I did some basic testing on an NVIDIA GTX 1050 and an Intel
HD530 and didn't notice any performance difference in Gecko
or in DWM.

This patch lands just the format change, so we can easily detect
any correctness or performance issues from the format change.

Differential Revision: https://phabricator.services.mozilla.com/D104771
2021-02-11 05:11:10 +00:00
Noemi Erli 06eb4d31ad Backed out changeset 5338c029ee7c (bug 1689064) for causing GTest failures CLOSED TREE 2021-02-11 02:02:45 +02:00
Jamie Nicol 6bd22ad430 Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-10 23:09:19 +00:00
Lee Salzman 5a8118aba6 Bug 1691859 - Emulate mix-blend-mode without KHR_blend_equation_advanced in WR when possible. r=gw
We don't actually need to use brush_mix_blend or KHR_blend_equation_advanced for multiply, screen,
and exclusion modes. Screen and exclusion can be done with simple blending, and multiply can be
done with dual-source blending. Since multiply is the most common mix-blend mode, and dual-source
blending is also common on the desktop with our ANGLE driver, this should be a significant boost
for mix-blend-mode performance for us across.

Differential Revision: https://phabricator.services.mozilla.com/D104614
2021-02-10 19:27:09 +00:00
Bogdan Tara 33fb6dff31 Backed out changeset b149d1f43e95 (bug 1691964) for wd failures on minimize.py CLOSED TREE 2021-02-10 20:11:58 +02:00
Mihai Alexandru Michis 74e3e203a8 Backed out changeset 1bf5a1f1db9a (bug 1686946) for causing bc failures in browser_policy_hardware_acceleration.js
CLOSED TREE
2021-02-10 19:46:27 +02:00
Andrew Osmond 3ceb6196c4 Bug 1691964 - Avoid accelerated compositing for headless tests with software WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104694
2021-02-10 15:11:58 +00:00
Andrew Osmond d5e27e6220 Bug 1686946 - Ship Software WebRender to OSX early beta/nightly users without (full) WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D101933
2021-02-10 14:12:09 +00:00
Jamie Nicol d636995f23 Bug 1680087 - Disable webrender partial present on Mali-T6xx and T7xx. r=aosmond
Due to rendering issues reported on a Mali-T628 and Mali-T760, disable
partial present on all Mali-T6xx and T7xx devices. We know that not
all T6xx and T7xx devices are affected, so this is being cautious. The
driver version is probably more important than the GPU model. We
should make the block more precise once more is known about the bug.

Differential Revision: https://phabricator.services.mozilla.com/D104678
2021-02-10 13:10:38 +00:00
Timothy Nikkel de41983d0d Bug 1691355. Check in a few places for a zero margin display port and set a full one. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D104361
2021-02-10 06:33:05 +00:00
Andrew Osmond 8d282929da Bug 1682180 - Allow Software WebRender for software mesa users on Linux nightly/early beta. r=jrmuizel
This lifts the restriction to non-mesa and hardware mesa users to work
around CI issues that should be fixed now.

Differential Revision: https://phabricator.services.mozilla.com/D99612
2021-02-10 03:13:15 +00:00
Matt Woodrow f9e8884de8 Bug 1541472 - Remove Advanced Layers, since it's disabled everywhere now. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104592
2021-02-10 02:04:41 +00:00
Emilio Cobos Álvarez 1d3c069803 Bug 1690778 - Derive accent color from theme highlight color in GTK. r=mstange
This makes form controls match the rest of the GTK theme like selection
colors, etc.

An alternative to this would be to just use non-native colors on GTK for
all content, but that seems somewhat unfortunate and we do the right
thing for scrollbars so...

I've tried on a variety of themes and this looks nice so far.

Differential Revision: https://phabricator.services.mozilla.com/D104496
2021-02-10 00:47:38 +00:00
Jim Blandy bdd9ffc731 Bug 1691120: Remove webrender::render_api::ApiMsg::WakeUp. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D104253
2021-02-09 22:32:40 +00:00
Jeff Muizelaar 691f75ddb4 Bug 1690235. Fix creating variation CTFonts. r=lsalzman
This is an alternate approach to aadbc6deca05.

CTFontCreateWithGraphicsFont seems to give "LastResort" when used on a
system CGFont with variation applied on 10.12-10.14. We can avoid that
by using CTFontCreateWithGraphicsFont with a variation descriptor.

I'm only applying this approach to cairo for now to mimimize the risk
of this breaking something or causing the crashes that we were seeing
before.

See https://github.com/servo/core-foundation-rs/pull/439 for
a standalone test case.

Differential Revision: https://phabricator.services.mozilla.com/D104581
2021-02-09 22:27:33 +00:00
Jonathan Kew 4c2a389e9a Bug 1690877 - Only activate additional fonts in the parent process on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D104559
2021-02-09 21:28:35 +00:00
Markus Stange 0bdf21e675 Bug 1662281 - Don't warn when GL symbol lookup fails. We look up symbols for many extensions, for which symbol lookup is expected to fail. r=sotaro
We can bring this back if we have a way to only print the warning for essential symbols, bug 1322949.

Differential Revision: https://phabricator.services.mozilla.com/D104462
2021-02-09 21:17:20 +00:00
Markus Stange 4b48af6bb7 Bug 1690653 - Don't create a CATransaction if nothing changed. r=mattwoodrow
This avoids some overhead from committing the transaction.

Differential Revision: https://phabricator.services.mozilla.com/D104085
2021-02-09 21:17:19 +00:00
Markus Stange 718867e499 Bug 1691170 - Replace deprecated kCTFontDefaultOrientation with its replacement kCTFontOrientationDefault. r=jrmuizel
Depends on D104301

Differential Revision: https://phabricator.services.mozilla.com/D104302
2021-02-09 21:17:19 +00:00
Simon Giesecke 8df74b1582 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in gfx. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D104216
2021-02-09 18:19:40 +00:00
Simon Giesecke 010633d2d1 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in gfx/thebes. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D104215
2021-02-09 18:19:39 +00:00
Alexis Beingessner 1380021cac Bug 1683973 - make VrService::mShutdownRequested atomic. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104109
2021-02-09 17:51:22 +00:00
Nika Layzell 86a03e6701 Bug 1689147 - Part 5: Change comparable to an extended attribute, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103370
2021-02-09 16:50:23 +00:00
Nika Layzell 661b4db5f0 Bug 1689147 - Part 4: Switch nested and prio to extended attributes, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103369
2021-02-09 16:50:22 +00:00
Nika Layzell 63fd915bfb Bug 1689147 - Part 1: Add extended attribute syntax to IPDL, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103366
2021-02-09 16:50:21 +00:00
Nicolas Silva cdbd331434 Bug 1691421 - Shrink the staging texture pool automatically. r=jnicol
If we have more than 8 unused/reusable staging textures and buffers for more than 120 consecutive frames, start deallocation them, spreading the deallocation over multiple frames.
The vast majority of frames require less than 4 staging textures and buffers (most don't require any), but some SVG animations can put a lot of pressure on uploads, requiring 30+ staging textures per frame. This patch avoids staying at this kind of peak memory usage for too long.

Differential Revision: https://phabricator.services.mozilla.com/D104510
2021-02-09 15:40:52 +00:00
Nicolas Silva 3a26d89afb Bug 1691421 - Improve the way stalls are avoided in the staging texture pool. r=jnicol
Instead of using a triple buffering scheme, tag each texture with a frame index and only reuse a texture that hasn't been used for more than two frames.

Differential Revision: https://phabricator.services.mozilla.com/D104421
2021-02-09 15:40:51 +00:00
Nicolas Silva df797398ca Bug 1691421 - Report staging texture memory. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104420
2021-02-09 15:40:51 +00:00
sotaro 2dc1d9cd2b Bug 1691640 - Add nullptr check to MapTexture() r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104498
2021-02-09 10:26:19 +00:00
Matt Woodrow eaf110a595 Bug 1678656 - Don't rely on mPlanes to compute RenderTextureHost size, since it's only initialized when used with SWGL. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104141
2021-02-09 04:38:24 +00:00
Hiroyuki Ikezoe 616bcf95fb Bug 1682743 - Skip the test for popup window position in iframe transformed by an ancestor in the parent document. r=tnikkel
The issue will be handled in bug 1691346.

Depends on D104369

Differential Revision: https://phabricator.services.mozilla.com/D104370
2021-02-09 02:41:15 +00:00
Hiroyuki Ikezoe d67ea4e0f9 Bug 1682743 - A new test for popup window position in OOP iframe scaled by the desktop zoom. r=tnikkel
Depends on D104368

Differential Revision: https://phabricator.services.mozilla.com/D104369
2021-02-09 02:41:14 +00:00
Hiroyuki Ikezoe 4099b5396e Bug 1682743 - A new test for popup window position in OOP iframe transformed by an ancestor element in the parent document. r=tnikkel
Depends on D104367

Differential Revision: https://phabricator.services.mozilla.com/D104368
2021-02-09 02:41:14 +00:00
Hiroyuki Ikezoe 89a701e125 Bug 1682743 - Add helper_browser_test_utils.js to use some popup related functions for other browser tests. r=tnikkel
Depends on D104366

Differential Revision: https://phabricator.services.mozilla.com/D104367
2021-02-09 02:41:13 +00:00