Commit Graph

542 Commits

Author SHA1 Message Date
Coroiu Cristina
0c344192ae Backed out 7 changesets (bug 1551735) for build bustage at src/gfx/layers/wr/WebRenderCompositionRecorder.h on a CLOSED TREE
Backed out changeset 98e75ac2cf4f (bug 1551735)
Backed out changeset 152e3a6e5c10 (bug 1551735)
Backed out changeset 9deb5350e244 (bug 1551735)
Backed out changeset 6154bdfe6fad (bug 1551735)
Backed out changeset 4a0936bda490 (bug 1551735)
Backed out changeset a7868d694fe1 (bug 1551735)
Backed out changeset 06c8e5f7768d (bug 1551735)
2019-05-31 00:05:00 +03:00
Barret Rennie
1bd07ea3f6 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:23 +00:00
Barret Rennie
c40786fc58 Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:09 +00:00
Barret Rennie
b5f01eed03 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-30 20:17:52 +00:00
Connor Brewster
e68c4f61a8 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 19:28:10 +00:00
Noemi Erli
02b7a9faeb Backed out 7 changesets (bug 1551735) for build bustages in RenderThread.cpp CLOSED TREE
Backed out changeset aa165d8c181d (bug 1551735)
Backed out changeset e7b857609786 (bug 1551735)
Backed out changeset f2a2396a0d4a (bug 1551735)
Backed out changeset 5891d00fca85 (bug 1551735)
Backed out changeset 2e6ca6d6c527 (bug 1551735)
Backed out changeset 3b2078f90715 (bug 1551735)
Backed out changeset a516d20303e6 (bug 1551735)
2019-05-30 23:10:21 +03:00
Barret Rennie
49e2a2721c Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-29 21:52:57 +00:00
Barret Rennie
b161b2b08f Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 21:52:44 +00:00
Barret Rennie
4ca216e100 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-29 21:52:25 +00:00
Noemi Erli
1927c42ef1 Backed out changeset cb8c60790fd9 (bug 1536240) for causing build bustages CLOSED TREE 2019-05-30 21:55:29 +03:00
Connor Brewster
6dd4341bb0 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 16:18:42 +00:00
Connor Brewster
bb54c17ce3 Bug 1555476 - Implement flood filter in WebRender r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33109

--HG--
extra : moz-landing-system : lando
2019-05-30 03:11:53 +00:00
Dzmitry Malyshau
b431e7fe94 Bug 1554502 - Configurable lookback count r=gw
We've had a constant of 10 hard-coded there since early days.
Turning it into a configurable number allows us to easier tune it and
debug related issues.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 01:29:43 +00:00
Dzmitry Malyshau
d5d646901c Bug 1532174 - WR remove the world transformations from SpatialNode r=gw
This is the last big step towards consistent flattening of transformations.
It includes removing the old "project_to_2d" method from the utils.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 03:35:24 +00:00
Bastien Orivel
7294fc12b5 Bug 1554426 - Re-introduce Renderer::current_epoch. r=emilio
It was removed in 1441308 but is used by servo

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

--HG--
extra : moz-landing-system : lando
2019-05-25 23:02:40 +00:00
Bastien Orivel
998c4ce860 Bug 1554401 - Part 1: Update dwrote to 0.9. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D32567

--HG--
extra : moz-landing-system : lando
2019-05-25 17:08:40 +00:00
Lee Salzman
b1e52e6aaf Bug 1553910 - pass DWrite subpixel order into Skia and WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32545

--HG--
extra : moz-landing-system : lando
2019-05-25 16:20:59 +00:00
Glenn Watson
8d73dca1e7 Bug 1553701 - Remove the clip chain stack during the prepare_prims pass in WR. r=kvark,nical
During the visibility pass, the main clip chain instance for each
primitive is created. In the prim prepare pass, a clip chain instance
is generated for each segment (of primitives that are segmented).

This previously required maintaining the active clip chain stack
during both passes. However, this is not ideal for a number of
reasons: the code is somewhat complicated / error prone and the
segment clip chain building step does more work than required.

This patch changes the segment clip chain building code to set up
the active clip nodes based on the result of the initial clip
chain built for the overall primitive during the visibility pass.

This means that it's no longer necessary to maintain the active
clip chain stack during the prepare pass. This simplifies some
upcoming picture caching changes related to avoiding redundant
cache invalidations, which is the main motivation for the change.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 03:09:28 +00:00
Dzmitry Malyshau
bb778aa169 Bug 1551520 - Use WR relative transform instead of the world inverse r=gw
This is a follow-up to https://phabricator.services.mozilla.com/D30600

Previously, I changed changed the space mapper logic to use the world transformations.
This was seemingly needed because we requrested the relation between primitives and
their clip nodes, which could be in unrelated spatial sub-trees.
However, I believe the change was a mistake, since for clips we should not even try
to get the relative mapping, and clipping is done in world space for these cases.
This change reverts that logic back. ~~Fingers crossed for the try to not show any
asserts firing up inside get_relative_transform.~~ Try is green 🎉

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

--HG--
extra : moz-landing-system : lando
2019-05-24 00:22:17 +00:00
Dzmitry Malyshau
a176290c0a Bug 1532174 - WR cache world transform on coordinate systems r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32195

--HG--
extra : moz-landing-system : lando
2019-05-22 19:58:39 +00:00
Jamie Nicol
94cf690698 Bug 1531142 - Avoid excessive glyph rasterization when pinch zooming. r=gw,kats
When pinch zooming webrender would re-rasterize glyphs for each tiny
difference in zoom level. This takes time in itself, but also causes
the texture cache to grow incredibly large, to the point where
resizing it to make room for more glyphs takes far too much time.

This patch avoids this by rounding the size at which glyphs are
rasterized whilst pinch zooming. To do this we add a FrameMsg which
APZ uses to tell webrender whether a spatial node is being pinch
zoomed. Then during frame building if a spatial node is being pinch
zoomed we override the raster space of its corresponding picture.

The chosen raster space is the current zoom level rounded up to the
nearest power of two, but not exceeding 8x. This seems to be a good
balance between quality and performance, though at high zoom levels
the cache still does grow very large due to the size of the glyphs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 20:13:34 +00:00
Glenn Watson
0f8cee5dd5 Bug 1552984 - Refactor parts of the WR batching and flattening code, to support future picture caching improvements. r=kvark
This patch contains two isolated changes related to upcoming picture
caching improvements. Specifically:

 * Determine the blit reason for stacking contexts with clips
   earlier, during scene building. This simplifies the code and
   allows better detection of redundant stacking contexts.
 * Centralize the code for pushing batch instances into a small
   number of places. This will simplify the switch to adding
   a single primitive to multiple batch lists, in the case of
   dirty regions with different batchers.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 14:57:10 +00:00
Bastien Orivel
cf92185937 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 21:30:23 +00:00
shindli
caf77278c5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-17 19:38:09 +03:00
arthur.iakab
93aedcdbe3 Backed out 2 changesets (bug 1550903) for causing multiple build bustages CLOSED TREE
Backed out changeset d62be51ffad3 (bug 1550903)
Backed out changeset f48939dc27b6 (bug 1550903)

--HG--
rename : third_party/rust/rand-0.4.3/appveyor.yml => third_party/rust/rand/appveyor.yml
rename : third_party/rust/rand-0.4.3/benches/bench.rs => third_party/rust/rand/benches/bench.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/exponential.rs => third_party/rust/rand/benches/distributions/exponential.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/gamma.rs => third_party/rust/rand/benches/distributions/gamma.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/mod.rs => third_party/rust/rand/benches/distributions/mod.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/normal.rs => third_party/rust/rand/benches/distributions/normal.rs
rename : third_party/rust/rand-0.4.3/src/distributions/range.rs => third_party/rust/rand/src/distributions/range.rs
rename : third_party/rust/rand_jitter/src/lib.rs => third_party/rust/rand/src/jitter.rs
rename : third_party/rust/rand-0.4.3/src/os.rs => third_party/rust/rand/src/os.rs
rename : third_party/rust/rand-0.4.3/src/prng/chacha.rs => third_party/rust/rand/src/prng/chacha.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac.rs => third_party/rust/rand/src/prng/isaac.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac64.rs => third_party/rust/rand/src/prng/isaac64.rs
rename : third_party/rust/rand-0.4.3/src/prng/xorshift.rs => third_party/rust/rand/src/prng/xorshift.rs
rename : third_party/rust/rand-0.4.3/src/rand_impls.rs => third_party/rust/rand/src/rand_impls.rs
rename : third_party/rust/rand-0.4.3/src/read.rs => third_party/rust/rand/src/read.rs
rename : third_party/rust/rand-0.4.3/src/reseeding.rs => third_party/rust/rand/src/reseeding.rs
rename : third_party/rust/rand-0.4.3/src/seq.rs => third_party/rust/rand/src/seq.rs
rename : third_party/rust/rand-0.4.3/utils/ziggurat_tables.py => third_party/rust/rand/utils/ziggurat_tables.py
rename : third_party/rust/fuchsia-cprng/LICENSE => third_party/rust/sha1/LICENSE
2019-05-17 03:24:33 +03:00
Bastien Orivel
f75d160ef4 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 17:38:14 +00:00
Glenn Watson
7690d772ae Bug 1552084 - Remove lifetime requirements on DrawTarget and ReadTarget in WR. r=emilio
This makes DrawTarget and ReadTarget no longer require a borrow
on a texture. This was previously fine, but in the near future
WR will be rendering picture caching surfaces directly into
texture handles. To allow this, we need to remove the borrow check
requirement on DrawTarget for rustc.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 22:25:35 +00:00
Nicolas Silva
cc8b7cf247 Bug 1551187 - Rename DropShadowStack into DropShadows. r=kvark"
Differential Revision: https://phabricator.services.mozilla.com/D31248

--HG--
extra : source : fec43bfabf433e3df38114cc172c43d3d9e805d6
2019-05-15 15:21:53 +02:00
Nicolas Silva
f32fc5556b Bug 1551187 - Box the color matrix in Filter. r=kvark
ColorMatrix is rarely used but takes most space in the Filter enum.
This removes 44 bytes from the enum and all structs that embed it.

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

--HG--
extra : source : 07bf88839e1c35e678d11790e149dfda7f00cf30
extra : intermediate-source : bf2c0752c25f339a1179377dbb312249426609de
2019-05-13 14:55:57 +02:00
Nicolas Silva
69467ad736 Bug 1551187 - Rename render task tree into render task graph. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30897

--HG--
extra : source : fd6cd1ec027cbba9318ff95707442720bfab4869
extra : intermediate-source : 4a7bd2c049d36a507fc0ecbfc5507c2738db050e
2019-05-15 15:11:42 +02:00
Nicolas Silva
1605b8d73b Bug 1551187 - Remove the single-shadow picture composite code. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30896

--HG--
extra : source : 65211647408f5d152868e25dff853ad6692d35a8
extra : intermediate-source : a14155473c5d593ebdfbce7ad5ca3521392ea6ba
2019-05-15 15:57:34 +02:00
Jamie Nicol
318728e2ed Bug 1550582 - Ensure the overlap is filled correctly when opposite border edges overlap. r=gw
To fix bug 1496540 it was made so that webrender clips border corner
segments so that they do not overlap with their opposing
edges. However, cases where opposing _edges_ both overlap with
eachother (rather than just a corner overlapping with an edge), the
corners are clipped too far and a gap is left in the middle.

Additionally, no clipping was added to the edge segments. So rather
than there be a gap there is an area that is painted twice, which is
apparent if the colour is semi-transparent.

This fixes these issues by identifying when opposing edges overlap and
calculating the midpoint, then clipping the edges and corners to that
midpoint instead.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 10:43:25 +00:00
Barret Rennie
1a5e406183 Bug 1551353 - Correctly map PBOs for readback on GLES r=kvark
The implementation of `Device::map_pbo_for_readback` on GLES (e.g., Windows
with ANGLE) was using the incorrect enumeration value when attempting to map
the buffer into memory.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 22:54:19 +00:00
Glenn Watson
5108fcd99f Bug 1551131 - Refactor WR batching code in preparation for different batches per dirty region / render task. r=nical
* Store render task address per-instance rather than per-primitive, to allow adding a single primitive to multiple batches / render tasks.
* Store render task id inside alpha batch builder, since multiple batch builders will be passed in future.
* Add primitive visibility mask, storing a bit mask of which dirty regions a visible primitive intersects.
* Store RenderTaskAddress as a u16 in CPU and shader types.
* Add picture caching debug flag to wrench.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 07:17:24 +00:00
Cosmin Sabou
530b9c7e9c Backed out 2 changesets (bug 1550903) for webrender bustages. a=backout
Backed out changeset fe8d48740511 (bug 1550903)
Backed out changeset cc187a665ccf (bug 1550903)

--HG--
rename : third_party/rust/rand-0.4.3/appveyor.yml => third_party/rust/rand/appveyor.yml
rename : third_party/rust/rand-0.4.3/benches/bench.rs => third_party/rust/rand/benches/bench.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/exponential.rs => third_party/rust/rand/benches/distributions/exponential.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/gamma.rs => third_party/rust/rand/benches/distributions/gamma.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/mod.rs => third_party/rust/rand/benches/distributions/mod.rs
rename : third_party/rust/rand-0.4.3/benches/distributions/normal.rs => third_party/rust/rand/benches/distributions/normal.rs
rename : third_party/rust/rand-0.4.3/src/distributions/range.rs => third_party/rust/rand/src/distributions/range.rs
rename : third_party/rust/rand_jitter/src/lib.rs => third_party/rust/rand/src/jitter.rs
rename : third_party/rust/rand-0.4.3/src/os.rs => third_party/rust/rand/src/os.rs
rename : third_party/rust/rand-0.4.3/src/prng/chacha.rs => third_party/rust/rand/src/prng/chacha.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac.rs => third_party/rust/rand/src/prng/isaac.rs
rename : third_party/rust/rand-0.4.3/src/prng/isaac64.rs => third_party/rust/rand/src/prng/isaac64.rs
rename : third_party/rust/rand-0.4.3/src/prng/xorshift.rs => third_party/rust/rand/src/prng/xorshift.rs
rename : third_party/rust/rand-0.4.3/src/rand_impls.rs => third_party/rust/rand/src/rand_impls.rs
rename : third_party/rust/rand-0.4.3/src/read.rs => third_party/rust/rand/src/read.rs
rename : third_party/rust/rand-0.4.3/src/reseeding.rs => third_party/rust/rand/src/reseeding.rs
rename : third_party/rust/rand-0.4.3/src/seq.rs => third_party/rust/rand/src/seq.rs
rename : third_party/rust/rand-0.4.3/utils/ziggurat_tables.py => third_party/rust/rand/utils/ziggurat_tables.py
rename : third_party/rust/fuchsia-cprng/LICENSE => third_party/rust/sha1/LICENSE
2019-05-14 08:16:26 +03:00
Bastien Orivel
4816d6ec16 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

--HG--
extra : moz-landing-system : lando
2019-05-12 12:38:56 +00:00
Nicolas Silva
ea0c5eda0a Bug 1536021 - Sanitize filters in place. r=kvark
--HG--
extra : source : d68b728d584c38053387c4df0096a9744389469f
extra : intermediate-source : 4e52aa850e3607ffe872a8da66874eaddefea046
2019-05-10 01:23:54 +02:00
Nicolas Silva
c7a54e68a1 Bug 1536021 - Shadow stack implementation. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30620

--HG--
extra : source : e830b256419b53556e27aa2586f2ed8f715aa99e
extra : intermediate-source : c223987f3de744979a0b08b336b46ac9f199e9bd
2019-05-12 12:27:44 +02:00
Daniel Varga
84647fc525 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-11 00:53:46 +03:00
Andrew Osmond
11a7bb40e7 Bug 1550725 - Cull primitives with an empty clip. r=kvark
When the clip chain generates the local clip rect for a primitive, it
can be empty. This violated the assumption that the visible rect will
never be empty, and so when we snap, it produces NaNs, which in turn,
violates other assumptions when converting between spaces, and hence the
crash.

Now we cull the primitive from the visible list if the local clip rect
is empty, or if the visible rect is empty.

Differential Revision: https://phabricator.services.mozilla.com/D30659
2019-05-10 16:31:13 -04:00
Dzmitry Malyshau
7f9b0ee390 Bug 1532174 - Repace WR RelativeTransform with CoordinateSpaceMapping, improve flattening semantics. r=gw
This change makes get_relative_transform() to no longer rely on any flattening done before in the pipeline.
This makes it correct is some of the cases we failed previously (see ini files removed).
It now does flattening on every flat coordinate system it passes through, and it's used for SpaceMapper.
The old RelativeTransform is now replaced with CoordinateSpaceMapping, which reduces the zoo of our types :)

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

--HG--
extra : moz-landing-system : lando
2019-05-10 02:22:51 +00:00
Glenn Watson
4d09f84fb5 Bug 1524427 - Fix panic when clip mask is supplied with non-existent image key. r=kvark
In some cases, Gecko supplies a display item with an image clip
mask where the image itself does not exist in the resource cache.

In these cases, WR would skip requesting the image, but would
still try to fetch the image info during batching, causing a panic.

This patch skips adding clip items to the batching pass if the
image mask does not exist.

It also adds support to wrench for a crash test when the image
mask is invalid.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 21:23:58 +00:00
Glenn Watson
cbb89e0d8a Bug 1549921 - Refactor batch building code in preparation for multiple alpha batchers per picture. r=kvark
This patch is scaffolding only - there shouldn't be any functional
changes as a result of these changes.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 20:32:39 +00:00
Csoregi Natalia
0b4a204c24 Merge mozilla-central to autoland. CLOSED TREE 2019-05-08 06:39:09 +03:00
Csoregi Natalia
197210b8c1 Merge inbound to mozilla-central. a=merge 2019-05-08 06:37:15 +03:00
Dzmitry Malyshau
0ab96c1983 Bug 1532174 - Refactor WR fast transform, use when returning relative transforms r=gw
Based on https://phabricator.services.mozilla.com/D30229

Instead of converting from the scale-offset to the transform right away in
`get_relative_transform`, we only do it if there is a jump between coordinate spaces.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 02:32:15 +00:00
Nicolas Silva
987eae6cae Bug 1543974 - Add render task scheduling tests. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D30021

--HG--
extra : source : 41300ab303ce3fe31a5065cd899949aa4fc97f95
2019-05-07 17:25:27 +02:00
Glenn Watson
effaccc4f6 Bug 1549271 - Create render task graph earlier during frame building. r=nical
This moves creation of the render task graph to be slightly
earlier during frame building. Instead of creeating the render
tasks during prepare_prims, they are created during the
take_context call for pictures, before recursing into primitives.

This means that in future we can have a surface that targets
multiple render tasks (e.g. for multiple dirty regions), which
may create a different batch set for each region.

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

--HG--
extra : moz-landing-system : lando
2019-05-07 20:49:56 +00:00
Lee Salzman
0037d62d7b Bug 1414961 - enable WR dual-source blending by default. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D30107

--HG--
extra : moz-landing-system : lando
2019-05-07 02:30:16 +00:00
Alexis Beingessner
63afa58e9a Bug 1525402 - Mark all gfx/wr crates as Rust 2018. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D29569

--HG--
extra : moz-landing-system : lando
2019-05-07 01:39:22 +00:00