Commit Graph

899 Commits

Author SHA1 Message Date
Dzmitry Malyshau
4bfcb3fba0 Bug 1579318 - Switch mozangle dependency of Wrench to 0.2 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44934

--HG--
extra : moz-landing-system : lando
2019-09-06 16:55:52 +00:00
Cosmin Sabou
90087b3c49 Backed out changeset 1c068477fae2 (bug 1579318) for causing qr tidy bustages. CLOSED TREE
--HG--
extra : rebase_source : eec7dedcf5f1c886e9cc98c1d98fc7d2f3e29183
2019-09-06 18:21:25 +03:00
Dzmitry Malyshau
5d78d59ef4 Bug 1579318 - Switch mozangle dependency of Wrench to 0.2 r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44934

--HG--
extra : moz-landing-system : lando
2019-09-06 03:19:05 +00:00
Glenn Watson
a33501d4ab Bug 1578986 - Refactor tile comparisons to enable dirty rect checking. r=nical
Previously, primitive sub-dependencies (such as transforms, opacity
bindings etc) were invalidated by comparing the dependency array
only. This means that it's not possible to correlate an area of
a tile that is affected by those sub-dependencies.

Now, comparisons on sub-dependencies are handled as part of the
dependency check for each primitive. This means we have the
affected rectangle of the tile available, which will allow
dirty regions within a tile to be built correctly.

This patch is only preparation work - the actual dirty rect
calculation will be done as a follow up patch.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 20:44:41 +00:00
Glenn Watson
d6bac95db7 Bug 1578641 - Improve how tile clipping works in WR picture caching. r=kvark
Previously, picture caching code would use the viewport of the
scroll root to find a clipping rect for picture cache tiles. This
viewport rect was also used to eliminate fixed position clip rects
on primitives that would otherwise cause unwanted invalidations
due to them moving relative to the scroll root when scrolls occur.

Now, the picture caching code uses a similar technique to Gecko
to find shared clips on primitives in a picture cache. These clips
are filtered out from being applied on a per-primitive basis, and
instead applied once during compositing the tiles into the parent
picture.

This is a potential performance improvement, since less per-item
work is required when building clip chains. More importantly, it
means the picture caching code correctly handles cases where the
scroll root contains fixed position elements (or other scroll
roots). This is a requirement before we can enable picture caching
on multiple slices.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 20:30:12 +00:00
Glenn Watson
0b27e4437e Bug 1578340 - Intern local position + spatial node in WR clips. r=nical
Previously, clip nodes interned the local clip information, but
stored the spatial node and the local position as part of the
instance.

This was required since the local position of clips would change
when a new display was sent after scrolling. However, since we
now handle this via external scroll offsets, the local position
is stable, and we can intern both the position and spatial node.

This greatly simplifies some in-progress work for picture caching,
where we want to be able to quickly identify clip chain nodes that
are shared between elements of a display list. With this change,
comparing the item uid of the interned clip node is enough to
guarantee equality of the shared clips.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 15:15:00 +00:00
Nicolas Silva
5c0955df2d Bug 1577766 - Move render target code into its own file. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44225

--HG--
extra : moz-landing-system : lando
2019-09-02 11:46:39 +00:00
Nicolas Silva
f730ca72ec Bug 1577766 - Move Frame into frame_builder.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44224

--HG--
extra : moz-landing-system : lando
2019-09-02 11:47:44 +00:00
Nicolas Silva
c129c7918f Bug 1577766 - Move CompositeOps into display_list_flattener.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44171

--HG--
extra : moz-landing-system : lando
2019-09-02 11:48:15 +00:00
Nicolas Silva
87c3918219 Bug 1577766 - Rename tiling.rs into render_task_graph.rs and move some code around. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44165

--HG--
rename : gfx/wr/webrender/src/tiling.rs => gfx/wr/webrender/src/render_task_graph.rs
extra : moz-landing-system : lando
2019-09-02 11:48:15 +00:00
Nicolas Silva
2e3f0733db Bug 1577766 - Rename Renderer::draw_tile_frame into draw_frame. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D44164

--HG--
extra : moz-landing-system : lando
2019-09-02 11:44:20 +00:00
Nicolas Silva
55060079d9 Bug 1562869 - Check for NaNs in project_rect. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D44114

--HG--
extra : moz-landing-system : lando
2019-08-30 11:27:40 +00:00
Mike Hommey
6f74a5cc9b Bug 1576034 - Fix bare-trait-objects warnings in direct-composition. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43204

--HG--
extra : moz-landing-system : lando
2019-08-26 12:00:56 +00:00
Bastien Orivel
88e5c4b00e Bug 1576361 - Update ipc-channel to 0.12 in webrender. r=emilio
While not used in firefox, this is required to update ipc-channel in
servo

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

--HG--
extra : moz-landing-system : lando
2019-08-24 12:22:26 +00:00
Timothy Nikkel
9126f41ac8 Bug 1575119. In brush_blend.glsl shader don't unpremultiply the alpha, only the colors. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D42970

--HG--
extra : moz-landing-system : lando
2019-08-23 00:09:30 +00:00
Glenn Watson
0239393a23 Bug 1574838 - Allow generating dirty regions from picture caching dependency lists. r=kvark
Previously, additional dependencies (such as opacity bindings and
transforms) were stored in a simple hash set, which meant they
could not be correlated with primitive bounding rects (and thus
could not be used to derive dirty rects of a tile).

Now, by scanning the primitive list which contains the bounding
rect, we can also find additional dependencies for that primitive.
This will be used in future to create exact dirty rects (for
debugging / regression testing) and allow us to generate a
dependency descriptor for a split or merged tile from an existing
descriptor.

This patch also fixes a case where opacity bindings could result
in unnecessary invalidations, by retaining the opacity bindings
state across display lists.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:16:53 +00:00
Simon Sapin
c9af673766 Bug 1568540 - Upgrade to ws 0.9 in WebRender r=emilio
[import_pr] From https://github.com/servo/webrender/pull/3720

MozReview-Commit-ID: AsI4hT0cFGJ

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

--HG--
extra : moz-landing-system : lando
2019-08-17 16:26:25 +00:00
Connor Brewster
75aedaa2f5 Bug 1573719 - Implement composite SVG filter primitive in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42057

--HG--
extra : moz-landing-system : lando
2019-08-16 16:17:01 +00:00
Connor Brewster
97f0a1af4b Bug 1561447 - Include picture shadow in local rect when building clip chain r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42244

--HG--
extra : moz-landing-system : lando
2019-08-16 16:15:53 +00:00
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
Connor Brewster
44d6e0ec22 Bug 1569101 - Add red zone padding to built display list during deserialization r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D39464

--HG--
extra : rebase_source : 40e6b4c96be31c27c0379bf5e458a7b71a3901d6
2019-07-29 00:33:11 +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
shindli
2311ab23b6 Backed out changeset bdb7f8baac7e (bug 1569101) for causing wrench bustages in /builds/worker/workspace/build/tooltool.tt 2019-07-29 04:53:11 +03:00
Connor Brewster
f74585e5e5 Bug 1569101 - Add red zone padding to built display list during deserialization r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D39464

--HG--
extra : moz-landing-system : lando
2019-07-29 00:33:11 +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
Alexis Beingessner
e64ad7178d Bug 1568395 - Add more useful error messages to webrender_api. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D39236

--HG--
extra : moz-landing-system : lando
2019-07-24 22:55:51 +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
Dzmitry Malyshau
54f5b4cbf0 Bug 1567173 - WR Rawtest comparisons r=gw
Differential Revision: https://phabricator.services.mozilla.com/D38499

--HG--
extra : moz-landing-system : lando
2019-07-18 20:30:00 +00:00
Mihai Alexandru Michis
eb5c88a05d Merge mozilla-central to mozilla-inbound. a=merge 2019-07-18 18:46:47 +03:00
Kartikaya Gupta
a42a893678 Bug 1523321 - Followup to fix typo. r=me 2019-07-18 11:28:01 -04:00
Nicolas Silva
1f245ea240 Bug 1565569 - Remove the old pathfinder integration. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D37862

--HG--
extra : rebase_source : 93849386dacff73f73481e652e7e5a00f9d019fa
extra : source : 12d70adf7d1c28d0a4f7328c4b4659d4f33db107
2019-07-18 15:07:31 +02:00
Mihai Alexandru Michis
6975564f1a Backed out changeset a2fdbfed0d71 (bug 1566712) for causing Bug 1567089 2019-07-18 15:04:25 +03:00
Glenn Watson
0bb61d0846 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-17 21:09:01 +00:00
Lee Salzman
ee4cc890cb Bug 1560520 - limit the size of WebRender's glyph cache. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D37982

--HG--
extra : moz-landing-system : lando
2019-07-17 17:52:44 +00:00
Sebastian Hengst
8333f6cdcc Backed out changeset b2f7f31d6781 (bug 1560520) for wrench bustage. CLOSED TREE
--HG--
extra : amend_source : 03592799955175a7930d8f4ab40ac27768395923
2019-07-17 19:42:25 +02:00
Lee Salzman
3ff0a02c54 Bug 1560520 - limit the size of WebRender's glyph cache. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D37982

--HG--
extra : moz-landing-system : lando
2019-07-17 17:09:06 +00:00
Coroiu Cristina
ee2f303e53 Backed out changeset ca1ff794e472 (bug 1560520) for build bustage and wrench on a CLOSED TREE 2019-07-17 19:58:09 +03:00
Lee Salzman
22066b4763 Bug 1560520 - limit the size of WebRender's glyph cache. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D37982

--HG--
extra : moz-landing-system : lando
2019-07-17 15:44:38 +00:00
A
93b676940c Bug 1566481 - Added version widget r=nical
[import_pr] From https://github.com/servo/webrender/pull/3707

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

--HG--
extra : moz-landing-system : lando
2019-07-17 14:08:51 +00:00
Nicolas Silva
bd39067d69 Bug 1566206 - Avoid overflow when limitting the number of rasterized blobs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D38292

--HG--
extra : moz-landing-system : lando
2019-07-17 14:35:01 +00:00
sotaro
fb8a03fa7c Bug 1564646 - Don't trigger composites on out-of-viewport external image updates r=gw
Differential Revision: https://phabricator.services.mozilla.com/D37512

--HG--
extra : moz-landing-system : lando
2019-07-17 04:12:00 +00:00
Jamie Nicol
7bd2ec1585 Bug 1564185 - Rasterize glyphs as large as possible to avoid blurriness at high zoom levels. r=lsalzman
When rendering text in webrender we rasterize glyphs either in local
space at a chosen raster scale, or in device space taking in to
account to text's transform.

We are not able to rasterize glyphs larger than a certain size,
however. So if the device-space font size exceeds this limit, then
currently we force the glyph to be rasterized in local space, at the
untransformed font size. This must then be scaled by the shader when
rendering text, and at high zoom levels this will result in blurry
text.

This change makes it so that rather than rasterizing at the
untransformed font size we rasterize at the font size limit. This will
mean the glyphs are rasterized at a larger size and will therefore
require less scaling, meaning they will appear less blurry.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 14:09:30 +00:00
Kartikaya Gupta
2d73759624 Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 15:38:39 +00:00
Kartikaya Gupta
656a70fb90 Bug 1523321 - Add the wrupdater code to sync m-c's copy of WR to github. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33547

--HG--
extra : moz-landing-system : lando
2019-07-16 15:36:57 +00:00
Narcis Beleuzu
ab956a715f Backed out 2 changesets (bug 1523321) for webrender bustages. CLOSED TREE
Backed out changeset d86e7c8f1e14 (bug 1523321)
Backed out changeset 18414da977c3 (bug 1523321)
2019-07-16 18:23:45 +03:00
Kartikaya Gupta
b3bebb6eca Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 14:09:47 +00:00
Kartikaya Gupta
3a1a9aedd8 Bug 1523321 - Add the wrupdater code to sync m-c's copy of WR to github. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33547

--HG--
extra : moz-landing-system : lando
2019-07-16 14:06:50 +00:00
Brindusan Cristian
3de8b088e1 Backed out 2 changesets (bug 1523321) for breaking Gecko Decision Task. CLOSED TREE
Backed out changeset c032bed595dc (bug 1523321)
Backed out changeset 0a4f53b896b1 (bug 1523321)
2019-07-16 17:00:24 +03:00
Kartikaya Gupta
c6cc78e85f Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 13:49:54 +00:00
Kartikaya Gupta
4be1661f49 Bug 1523321 - Add the wrupdater code to sync m-c's copy of WR to github. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33547

--HG--
extra : moz-landing-system : lando
2019-07-15 21:31:46 +00:00
Emilio Cobos Álvarez
6e0169a2cf Bug 1566150 - Simplify the border may_need_repetition code. r=nical
Just spotted this while going through the regressing patch in bug 1565910.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 22:41:39 +00:00
Nicolas Silva
1e2404a275 Bug 1565910 - Preserve batch features when merging batches. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D38080

--HG--
extra : moz-landing-system : lando
2019-07-15 21:46:22 +00:00
sotaro
6112475e13 Bug 1565463 - Add ImageBorder image key to Tile r=gw
Differential Revision: https://phabricator.services.mozilla.com/D37834

--HG--
extra : moz-landing-system : lando
2019-07-14 21:54:54 +00:00
Jeff Muizelaar
81aac9064d Bug 1563770. Always include a visible rect with blob images. r=nical
I suspect we may change things more in the future as we blob's size
just be the visible rect but this is an incremental step in the right
direction.

It also includes some changes to make sure that we always update our
tiles appropriately.

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

--HG--
extra : moz-landing-system : lando
2019-07-13 19:07:05 +00:00
Jeff Muizelaar
65dccbec8c Bug 1565620. Preserve initial batching debug state across debug state changes. r=kvark
This lets us run wrench with -no-batch and turn on the profiler.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 18:04:45 +00:00