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

677 Коммитов

Автор SHA1 Сообщение Дата
Connor Brewster 7658b3e68d Bug 1573914 - Fix backdrop-filter jitter during animation due to snap offsets r=gw
Since the filtered-backdrop is 1:1 with the backdrop, we don't want any snap offsets to shift the contents

Differential Revision: https://phabricator.services.mozilla.com/D42042

--HG--
extra : moz-landing-system : lando
2019-08-15 00:09:40 +00:00
Connor Brewster 1a77c310c4 Bug 1573649 - Implement feOffset SVG filter primitive in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D41840

--HG--
extra : moz-landing-system : lando
2019-08-14 20:14:25 +00:00
Connor Brewster 6b1bbb5465 Bug 1573886 - Fix backdrop-filter blur errors due to incorrect scaling r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D42013

--HG--
extra : moz-landing-system : lando
2019-08-14 20:13:06 +00:00
arthur.iakab 3e0e0472e5 Backed out changeset 71b7ef6e0ed8 (bug 1573649) for causing wrench build bustages on svg-filter-offset-ref.yaml.
--HG--
extra : rebase_source : 30f299066d80f51169d6ef3faba107db3c01fb1f
2019-08-14 22:34:12 +03:00
Connor Brewster 32a649a30a Bug 1573649 - Implement feOffset SVG filter primitive in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D41840

--HG--
extra : moz-landing-system : lando
2019-08-14 14:37:05 +00:00
Connor Brewster b5f999f5ff Bug 1178765 - Part 5: Add optimization to render task depth assignment r=gw,nical
Fixes an issue when backdrop-filter is used many time on a page where we would
spend a large amount of time reevaluating render tasks when assigning task depths.

Differential Revision: https://phabricator.services.mozilla.com/D41252

--HG--
extra : moz-landing-system : lando
2019-08-13 22:03:16 +00:00
Connor Brewster dbce0f3810 Bug 1178765 - Part 2: Implement backdrop-filter in WebRender r=gw
Differential Revision: https://phabricator.services.mozilla.com/D39098

--HG--
extra : moz-landing-system : lando
2019-08-13 22:02:44 +00:00
Connor Brewster afa1fcbaed Bug 1178765 - Part 1: Add backdrop-filter WebRender display items r=gw
Differential Revision: https://phabricator.services.mozilla.com/D39097

--HG--
extra : moz-landing-system : lando
2019-08-13 22:02:37 +00:00
Glenn Watson d34d735320 Bug 1572646 - Detect and optimize picture cache tiles that are solid colors. r=kvark
With this patch, tiles that are covered only by the opaque backdrop
primitive are detected and noted as solid colors.

Solid color tiles save memory and performance, because:
 - No texture slice is allocated as a render target for them.
 - No need to rasterize this tile.
 - Drawing the tile is done with the faster rectangle shader.

This already saves performance and GPU memory on quite a few
real world sites (esp. when running at 4k). However, the main
benefit of this will be once we enable picture caching on
multiple content slices and the UI layer. When this occurs, it's
important to avoid allocating tile buffers for all the solid
rectangle tiles that the UI layer typically contains.

Differential Revision: https://phabricator.services.mozilla.com/D41342

--HG--
extra : moz-landing-system : lando
2019-08-12 21:59:58 +00:00
Bastien Orivel 4665febab6 Bug 1573039 - Part 1: Update image to 0.22. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41488

--HG--
extra : moz-landing-system : lando
2019-08-12 20:22:06 +00:00
Barret Rennie ad5f1aae78 Bug 1570442 - Flip upside down recorded frames right side up on non-ANGLE configurations r=kvark
Frames captured by the composition recorder on non-ANGLE configurations were
previously written upside down to disk. We now flip them right side up when
mapping them into memory.

Differential Revision: https://phabricator.services.mozilla.com/D40113

--HG--
extra : moz-landing-system : lando
2019-08-12 18:54:55 +00:00
Dzmitry Malyshau 0aa1247a1e Bug 1572843 - WR swizzling part-2 r=gw
This is a medium-size follow-up to D21965.

Refactors the use of swizzling by the texture cache. Adds a device
capability flag that is checked at run-time. Also makes the texture
cache to communicate with the texture uploader if there is a format
conversion needed, which fixes the case on platforms that don't
support swizzling.

Differential Revision: https://phabricator.services.mozilla.com/D41446

--HG--
extra : moz-landing-system : lando
2019-08-12 15:39:23 +00:00
Glenn Watson 1dff77fb01 Bug 1559979 - Restructure the WR picture caching code into Tile methods. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D40916

--HG--
extra : moz-landing-system : lando
2019-08-11 23:52:35 +00:00
Noemi Erli 574227704c Backed out 2 changesets (bug 1573039) for wrench bustages CLOSED TREE
Backed out changeset 97601fb2425d (bug 1573039)
Backed out changeset 2b68d7bddbb6 (bug 1573039)

--HG--
rename : third_party/rust/image/src/hdr/decoder.rs => third_party/rust/image/src/hdr/hdr_decoder.rs
rename : third_party/rust/image/src/hdr/encoder.rs => third_party/rust/image/src/hdr/hdr_encoder.rs
2019-08-12 00:47:12 +03:00
Bastien Orivel e8d58bb4c6 Bug 1573039 - Part 1: Update image to 0.22. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D41488

--HG--
extra : moz-landing-system : lando
2019-08-11 20:41:20 +00:00
Glenn Watson be3904b49e Bug 1572197 - Fix world clip region for preserve-3d items with picture caching. r=emilio
When adding planes to the plane splitter, we supply a world clip
rect to the polygon clipper. Generally this is used to help with
float accuracy issues, but it also clips polygons to the visible
region.

The previous code supplied the visible world rect, but this is
not always correct. When drawing picture cache tiles, we may
be rendering to a tile that is partially off-screen. In this case
we need to pass the combined world dirty rect, which is inflated
to include the off-screen tile parts that are being drawn. This
ensures that preserve-3d items are correctly clipped to the tile
boundaries rather than the currently visible screen rect.

Differential Revision: https://phabricator.services.mozilla.com/D41111

--HG--
extra : moz-landing-system : lando
2019-08-08 04:49:09 +00:00
Dzmitry Malyshau bfc2204e14 Bug 1572197 - Plane split dependency update
updates for https://github.com/servo/plane-split/pull/33

Differential Revision: https://phabricator.services.mozilla.com/D41390

--HG--
extra : moz-landing-system : lando
2019-08-09 14:41:49 +00:00
Nicolas Silva 01481c8d58 Bug 1570543 - Fix incorrect batch index after merging batches. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D41166

--HG--
extra : moz-landing-system : lando
2019-08-09 03:50:47 +00:00
Dzmitry Malyshau 36fe1b9594 Bug 1567577 - Make WR to have multiple array textures for the shared cache r=gw
have texture cache to manage potentially multiple array textures of each type.

Differential Revision: https://phabricator.services.mozilla.com/D39912

--HG--
extra : moz-landing-system : lando
2019-08-06 22:48:27 +00:00
sotaro 6abb9c3532 Bug 1570593 - Do not use ResourceCache::is_image_active() with multiple documents r=gw
Differential Revision: https://phabricator.services.mozilla.com/D40169

--HG--
extra : moz-landing-system : lando
2019-08-04 21:40:13 +00:00
Lee Salzman 4f06706e18 Bug 1569950 - only partially clear WR glyph caches if it is not necessary to fully clear. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D40361

--HG--
extra : moz-landing-system : lando
2019-08-02 15:11:47 +00:00
Dzmitry Malyshau 94761858ca Bug 1564118 - WR don't assume opaque on the lack of a clip task
those unwrap_or are mostly seen during the batching, where we should asssume that
the primitives are not clipped out and just unwrap() accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D39940

--HG--
extra : moz-landing-system : lando
2019-08-02 14:48:46 +00:00
Dzmitry Malyshau d109b775bd Bug 1570816 - Disallow nerest-sampled alpha textures in the shared cache in WR r=gw
Differential Revision: https://phabricator.services.mozilla.com/D40366

--HG--
extra : moz-landing-system : lando
2019-08-02 04:03:55 +00:00
Dzmitry Malyshau 13c8d55d12 Bug 1570401 - WR early out on transformed ClipOut clips r=gw
Refactors get_clip_result_complex to cover ClipOut cases for rectangles as well
as Clip for non-repeated images.

Differential Revision: https://phabricator.services.mozilla.com/D40094

--HG--
extra : moz-landing-system : lando
2019-08-01 02:07:21 +00:00
Dzmitry Malyshau 4d7909d785 Bug 1548339 - WR swizzle configuration of texture units r=gw
Allow the swizzle to be configurable with a texture binding. This is still experimental and needs to be tested well on all platforms.
Basic approach is the following:
  - WR device figures out how it can use BGRA and makes the texture cache format configurable at run-time. It tries to make the uploads to the shared texture cache pages to be done without any driver conversions, and without extra memory allocated.
  - it also reports the preferred input format for the images, which may be different from the texture cache format
  - if WR texture cache is asked to allocate a shared texture with a different (swizzled) format from the preferred, it associates the cache entry with a swizzle
  - the swizzle becomes a part of the `SourceTexture`, which affects batch splitting
  - when a texture reaches binding by GL device, it checks whether the current swizzle on this texture doesn't match the given one, and configures the texture sampling accordingly
  - we can't use blits with swizzling, so when that needs to happen we use `cs_copy` path, which is now mostly rewritten

The idea is that Gecko would ask WR for the preferred format and configure its image decoding to produce image data that doesn't require any swizzling.

The PR changes existing texture upload (and batching) paths. On Linux, if texture storage is available, we now use it and provide the data as RGBA, assuming no conversion by the driver. The swizzling kicks in when we sample this data in the shader. On Windows/Angle we use BGRA as an internal format for texture cache and expect Gecko to provide BGRA data, this should be unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D21965

--HG--
extra : moz-landing-system : lando
2019-07-26 14:55:50 +00:00
Timothy Nikkel e4f60aaea0 Bug 1565039. In PicturePrimitive::take_context do calculation in float in case the unclipped rect is too big for int. r=gw
The final clipped result should hopefully not overflow.

Differential Revision: https://phabricator.services.mozilla.com/D37813

--HG--
extra : moz-landing-system : lando
2019-07-30 09:06:31 +00:00
Dzmitry Malyshau 3692691268 Bug 1569717 - Fix WR vertex textures to have the width of 1024 r=gw
Differential Revision: https://phabricator.services.mozilla.com/D39785

--HG--
extra : moz-landing-system : lando
2019-07-29 23:07:37 +00:00
Barret Rennie 7629463ab1 Bug 1569443 - Free composition recorder structures when freeing Renderer r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D39752

--HG--
extra : rebase_source : b6e51714655a99fc80ea034c598e44667d1ae1fb
extra : source : e7cba26781e9e2bf66f84d9c9f4aa507be6d25bf
2019-07-29 21:25:04 +00:00
Cosmin Sabou 4fefee3bd7 Backed out changeset e7cba26781e9 (bug 1569443) for causing webrender bustages. CLOSED TREE 2019-07-30 01:04:49 +03:00
Barret Rennie bacd83c5c1 Bug 1569443 - Free composition recorder structures when freeing Renderer r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D39752

--HG--
extra : moz-landing-system : lando
2019-07-29 21:25:04 +00:00
Jean-Yves Avenard 1616a6d914 Bug 1543359 - P14. Fix "Wrench" test r=nical
Differential Revision: https://phabricator.services.mozilla.com/D39475

--HG--
extra : moz-landing-system : lando
2019-07-26 09:32:37 +00:00
Jean-Yves Avenard de19fb7f7e Bug 1543359 - P6. Add backend for color range information. r=mattwoodrow.
Add code for YCbCr buffer and IOSurface backend.

Differential Revision: https://phabricator.services.mozilla.com/D27213

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:31 +00:00
Narcis Beleuzu a4274bd868 Backed out changeset 4bf222be42c8 (bug 1543359) wrench bustages. CLOSED TREE 2019-07-26 11:51:00 +03:00
Jean-Yves Avenard c2672a7a6a Bug 1543359 - P14. Fix "Wrench" test on a CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D39475

--HG--
extra : moz-landing-system : lando
2019-07-26 06:55:11 +00:00
Narcis Beleuzu e84980d8b1 Backed out 15 changesets (bug 1543359) for wrench bustages on image.rs . CLOSED TREE
Backed out changeset 548006270186 (bug 1543359)
Backed out changeset c9585e9d9f3c (bug 1543359)
Backed out changeset 1c7ca95a2a9b (bug 1543359)
Backed out changeset d742d80b892f (bug 1543359)
Backed out changeset 210eee703fd9 (bug 1543359)
Backed out changeset 4eb933d55d88 (bug 1543359)
Backed out changeset fb9b71ed9f4b (bug 1543359)
Backed out changeset 98b968443458 (bug 1543359)
Backed out changeset a85bd4691bea (bug 1543359)
Backed out changeset b576317853e9 (bug 1543359)
Backed out changeset 095bca5c9b1a (bug 1543359)
Backed out changeset 48eb0ebf9f2e (bug 1543359)
Backed out changeset b22b0eb708b8 (bug 1543359)
Backed out changeset 52187d9320b1 (bug 1543359)
Backed out changeset fa6792c1c2e8 (bug 1543359)
2019-07-26 11:40:33 +03:00
Jean-Yves Avenard 88ca735e1d Bug 1543359 - P14. Fix "Wrench" test. a=wrench-fix CLOSED TREE 2019-07-26 10:24:47 +03:00
Jean-Yves Avenard 37515d5cc9 Bug 1543359 - P6. Add backend for color range information. r=mattwoodrow.
Add code for YCbCr buffer and IOSurface backend.

Differential Revision: https://phabricator.services.mozilla.com/D27213

--HG--
extra : moz-landing-system : lando
2019-07-26 06:13:37 +00:00
Cosmin Sabou ae7e8fbf55 Backed out 14 changesets (bug 1543359) for causing build bustages. CLOSED TREE
Backed out changeset 87c99ef85813 (bug 1543359)
Backed out changeset cd0afc5758ba (bug 1543359)
Backed out changeset 101ac87ff017 (bug 1543359)
Backed out changeset 348e748e3451 (bug 1543359)
Backed out changeset d9e937f5caf4 (bug 1543359)
Backed out changeset 2f4eb6501552 (bug 1543359)
Backed out changeset 0d316ef8c668 (bug 1543359)
Backed out changeset bf238b58c694 (bug 1543359)
Backed out changeset 496f206d03d6 (bug 1543359)
Backed out changeset 7c3a1f23baa8 (bug 1543359)
Backed out changeset 90fff717198b (bug 1543359)
Backed out changeset b2ce591ca398 (bug 1543359)
Backed out changeset a63968f077e3 (bug 1543359)
Backed out changeset ca660ab1e0c1 (bug 1543359)
2019-07-26 07:39:11 +03:00
Jean-Yves Avenard 63be56621d Bug 1543359 - P6. Add backend for color range information. r=mattwoodrow.
Add code for YCbCr buffer and IOSurface backend.

Differential Revision: https://phabricator.services.mozilla.com/D27213

--HG--
extra : moz-landing-system : lando
2019-07-22 08:24:30 +00:00
Jamie Nicol bdf491aa7e Bug 1565827 - Ensure glReadPixels for profiler screenshots happens asynchronously. r=kvark
The glReadPixels call for capturing profiler screenshots is very slow
on Adreno devices. Similarly to bug 1498732, this is because the
stride of the data being transferred is not a multiple of 256, so the
driver is taking the synchronous path instead of reading in to a PBO
asynchronously.

This solves this problem by increasing the width of the area we read
so that we hit the fast path. To do this we must ensure that the PBO
and the final scale-down texture are large enough to include the extra
pixels in each row. As the required size of the PBO or texture may now
change, for example after a screen rotation, we now handle deleting
and recreating them when necessary.

Differential Revision: https://phabricator.services.mozilla.com/D39189

--HG--
extra : moz-landing-system : lando
2019-07-25 15:44:36 +00:00
Lee Salzman 5169a21347 Bug 1553818 - use GDI ClearType contrast for GDI font gamma. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39101

--HG--
extra : moz-landing-system : lando
2019-07-24 18:51:28 +00:00
Nicolas Silva c6f3b2b7d7 Bug 1568158 - Show the maximum time over the averaging window in WebRender's builtin profiler. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D38986

--HG--
extra : moz-landing-system : lando
2019-07-23 23:14:52 +00:00
Dzmitry Malyshau 632e984f71 Bug 1548339 - Fix WR saved alpha task sampling r=gw
looks like a typo that got unnoticed? I wonder how our alpha saved tasks work today :)

Differential Revision: https://phabricator.services.mozilla.com/D39021

--HG--
extra : moz-landing-system : lando
2019-07-23 23:14:35 +00:00
Glenn Watson 0129dacbea Bug 1566901 - Make picture caching more robust to float issues. r=kvark,nical
This patch fixes a couple of picture caching issues that could
cause more invalidations than required. Specifically:

* Ensure the viewport rect is included in child surfaces, so
  that redundant clips are filtered out correctly.
* Use epsilon comparisons where appropriate for tile descriptor
  comparisons, to avoid invalidations due to float inaccuracies.

Differential Revision: https://phabricator.services.mozilla.com/D38455

--HG--
extra : moz-landing-system : lando
2019-07-22 20:35:37 +00:00
Glenn Watson be4cf10770 Bug 1567472 - Fix bug in preserve-3d batching code in WebRender. r=nical
The code to batch preserve-3d elements was incorrectly using the
bounds and visibility mask from the parent element. This could
result in batching bugs in some cases, which were showing up as
draw order issues.

Differential Revision: https://phabricator.services.mozilla.com/D38834

--HG--
extra : moz-landing-system : lando
2019-07-22 13:30:55 +00:00
Csoregi Natalia b11f89739a Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-07-19 12:50:23 +03:00
Lee Salzman e4e9e844a0 Bug 1565158 - allow forcing DWrite symmetric rendering mode. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D38569

--HG--
extra : moz-landing-system : lando
2019-07-19 03:56:50 +00:00
Glenn Watson 210d499332 Bug 1566712 - Fix quality issues with picture caching when the transform has a fractional offset. r=kvark
This patch reverts the previous attempted fix for snapping issues
with picture caching, and implements a better solution.

This fixes the main visual issue by ensuring that any fractional
offset in the root transform is accounted for by:

 * Offsetting the tile rects by this amount, so that the content
   origin is a whole device pixel.
 * Invalidating all tiles if the fractional part of the root
   transform changes. This is required since it can affect the
   snapping logic that WR applies. Fortunately, this occurs
   very rarely - Gecko typically has a constant fractional part
   for each page.

Differential Revision: https://phabricator.services.mozilla.com/D38267

--HG--
extra : moz-landing-system : lando
2019-07-19 04:29:21 +00:00
Nicolas Silva a58ba90d31 Bug 1567241 - Update to euclid 0.20. r=kvark, emilio.
Differential Revision: https://phabricator.services.mozilla.com/D38530

--HG--
extra : source : d65512e23a13164f540430ff0c85a1f2a147d8a0
2019-07-18 22:54:16 +02:00
Mihai Alexandru Michis eb5c88a05d Merge mozilla-central to mozilla-inbound. a=merge 2019-07-18 18:46:47 +03:00