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

567 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe ce2aacf99b Bug 1744842 - Use LayoutVector2D to set scroll offset (the off main-thread part). r=gw,botond
This includes some other changes;

1) Rename relevant functions
  scroll_node_with_id -> set_scroll_offset
  scroll_node -> set_scroll_offset
  set_scroll_origin -> set_scroll_offset
2) Drop ScrollClamping argument
  In Gecko we didn't use ScrollClamping::ToContentBounds at all
3) The order of arguments of scroll_node_with_id

Differential Revision: https://phabricator.services.mozilla.com/D133145
2021-12-09 04:39:10 +00:00
Glenn Watson 53092b50ed Bug 1743152 - Handle duplicate iframe references in display lists r=gfx-reviewers,nical
In certain situations (such as a print preview dialog, with fission
enabled, where an iframe spans a page), the display list contains
a reference to the same iframe multiple times.

Handle this in WR by namespacing the spatial id (via a stack as
iframes are traversed) and uid (by iframe pipeline instance id).

This is more of a band-aid fix than a proper fix - we need to
rethink how we handle spatial mapping properly with iframe
instances.

Differential Revision: https://phabricator.services.mozilla.com/D132661
2021-12-05 20:22:35 +00:00
sotaro 5477d7dc1d Bug 1742440 - Add debug capability to check window visibility state by overlay r=gfx-reviewers,nical
It is helpful if window visibility state could be checked by debug overlay.
For now, it works only on Windows with compositor.

Differential Revision: https://phabricator.services.mozilla.com/D131807
2021-11-25 11:33:46 +00:00
Glenn Watson 2ae844f547 Bug 1741114 - Remove tileview debugger r=gfx-reviewers,jrmuizel
Unfortunately this is not currently maintained (it's been broken
since the addition of sub_slice compositor surface support).

It's also complicating efforts underway to refactor the way that
picture cache dependencies are handled as part of the visibility
pass refactoring work.

For these reasons, let's remove this functionality. If we find
someone with time to maintain it in future, it's likely that we
could restore most of the viewer code, and update the picture
cache code in WR to output the appropriate information.

Differential Revision: https://phabricator.services.mozilla.com/D131105
2021-11-15 20:07:40 +00:00
Nicolas Silva 51efadfa3e Bug 1737648 - Don't batch uploads for items larger than a certain size. r=gfx-reviewers,bradwerth
The default size on most platforms is 256*256 which corresponds to the default blob tile size. I didn't check on android so I set it to 512*512 above which we never batch the upload so that the behavior is unchanged, but I suspect that a smaller threshold like 256*256 would also work better there.

On Windows with heavy blob image workloads, not batching gives a 20%-30% improvement to the time spent in update_texture_cache.

Differential Revision: https://phabricator.services.mozilla.com/D129516
2021-11-03 16:42:42 +00:00
Glenn Watson fbba30b287 Bug 1734740 - Retain spatial tree across display lists r=gfx-reviewers,nical
With this change, the spatial tree is no longer rebuilt
every time a new display arrives and a scene is built.

Instead, scene building maintains a hash map of spatial
node keys <-> indices, allowing any spatial node that
has been recently seen in a display list to be retained.

Scene building then checks if the node is equivalent or
has been modified since the last display list, and sends
these delta changes as part of the scene swap to the
frame building code. The frame building code applies
the deltas to each updated spatial node.

The primary benefits of this are:
 - Spatial node indices are now stable across display lists,
   allowing future interning of primitives and clips to
   include the spatial node. This can be used for various
   optimizations, including interning during DL building,
   caching transform state, reducing size of PrimitiveInstance

 - Frame building now knows exactly which spatial nodes are
   new, removed, updated or unchanged. We can make this of
   this to cache a lot of the (mostly) redundant calculations
   that are done during both scene and frame building.

Differential Revision: https://phabricator.services.mozilla.com/D127902
2021-10-13 20:39:41 +00:00
Narcis Beleuzu d87e50b393 Backed out changeset 5cc276dd61cc (bug 1734740) for bc failures on browser_bug1563629.js CLOSED TREE 2021-10-12 01:06:23 +03:00
Glenn Watson d08327c72e Bug 1734740 - Retain spatial tree across display lists r=gfx-reviewers,nical
With this change, the spatial tree is no longer rebuilt
every time a new display arrives and a scene is built.

Instead, scene building maintains a hash map of spatial
node keys <-> indices, allowing any spatial node that
has been recently seen in a display list to be retained.

Scene building then checks if the node is equivalent or
has been modified since the last display list, and sends
these delta changes as part of the scene swap to the
frame building code. The frame building code applies
the deltas to each updated spatial node.

The primary benefits of this are:
 - Spatial node indices are now stable across display lists,
   allowing future interning of primitives and clips to
   include the spatial node. This can be used for various
   optimizations, including interning during DL building,
   caching transform state, reducing size of PrimitiveInstance

 - Frame building now knows exactly which spatial nodes are
   new, removed, updated or unchanged. We can make this of
   this to cache a lot of the (mostly) redundant calculations
   that are done during both scene and frame building.

Differential Revision: https://phabricator.services.mozilla.com/D127902
2021-10-11 20:32:40 +00:00
Glenn Watson a9ef6ad97d Bug 1734282 - Remove some unused scroll frame APIs and code r=gfx-reviewers,jrmuizel
ScrollSensitivity is not used by Gecko. Also remove some remnants
of the old code to combine scroll frames when display lists swap.

Differential Revision: https://phabricator.services.mozilla.com/D127609
2021-10-06 06:43:03 +00:00
Glenn Watson 41785a2204 Bug 1734280 - Remove pipeline_id from hit-test API r=gfx-reviewers,jrmuizel
The ability to restrict hit-tests by pipeline_id isn't used by
Gecko or wrench. Remove it to simplify landing some of the upcoming
spatial tree work.

Differential Revision: https://phabricator.services.mozilla.com/D127608
2021-10-06 03:59:16 +00:00
Nicolas Silva cb6ac0df62 Bug 1690619 - Keep track of where the request to rendering something comes from. r=gfx-reviewers,mstange
This patch adds plumbing to keep track of why we request frames to be rendered.
This information is then displayed in gecko profile markers on the renderer thread as well as in profiler HUD counters (See "Render reasons" in profiler.rs).

Differential Revision: https://phabricator.services.mozilla.com/D127274
2021-10-05 12:54:39 +00:00
Glenn Watson 7538eca3ed Bug 1733290 - Add scaffolding for retained spatial tree r=gfx-reviewers,nical
This patch makes the SceneSpatialTree be retained by the scene
Document structure, and the SpatialTree be retained by the
RenderBackend structure.

This is exactly the same structure as the interning system uses:
 - The SceneSpatialTree is mutated as a new scene is built
 - A set of "deltas" is calculated and stored in SpatialTreeUpdates
 - The SpatialTreeUpdates are stored in a BuiltTransaction
 - The SpatialTreeUpdates are applied to the SpatialTree on scene swap

For now, the "deltas" are simply a complete list of spatial nodes,
which retains existing behavior. In future, this will contain actual
deltas, based on the unique spatial node keys that now exist.

Also update the capture/replay functionality to (de)serialize both
the retained scene and frame versions of the spatial tree.

Differential Revision: https://phabricator.services.mozilla.com/D127021
2021-10-05 01:25:27 +00:00
Glenn Watson 9a6b42ccc0 Bug 1733021 - Remove unused get_scroll_node_state API r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D126860
2021-09-30 00:15:22 +00:00
Glenn Watson 3ffe828827 Bug 1732828 - Move more local -> reference frame coord mapping into DL building r=gfx-reviewers,lsalzman
We need to do this mapping in order to allow primitive interning during
the DL building stage. In future, we might remove this altogether and
have Gecko supply reference-frame-relative coordinates.

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

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

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

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

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

Differential Revision: https://phabricator.services.mozilla.com/D126100
2021-09-23 15:17:46 +00:00
Glenn Watson 38bfd81595 Bug 1728774 - Fix display item cache with retained DL builder. r=miko,gfx-reviewers
Fix a bug where the display item cache was not being reused from
frame to frame with retained display list builders.

At the same time, make the capacity recycling on the display list
serialization arrays a bit more realistic.

Differential Revision: https://phabricator.services.mozilla.com/D124412
2021-09-03 02:09:57 +00:00
Boris Chiou 665aaf6ed6 Bug 1676789 - Sample APZ animations before sampling OMTA animations for webrender. r=hiro
In order to support scroll-linked animations, we need the scrolling
information for sampling omt animations, so we would like to do APZ animations
first.

Now we clear the dynamic properties before sampling APZ and OMTA, so we
can make sure the pending properties are empty before appending new
ones. Therefore, let's just replace set_properties with add_properties
because OMTA sampler shouldn't override the current pending properties which
may be added by APZ sampler.

Differential Revision: https://phabricator.services.mozilla.com/D122308
2021-09-01 06:50:20 +00:00
Alexandru Michis 5a88076ff5 Backed out 3 changesets (bug 1676789) for causing webrender bustages.
Backed out changeset 93c46fbfe1cc (bug 1676789)
Backed out changeset a5b2e568f5cb (bug 1676789)
Backed out changeset ec14bf08defc (bug 1676789)
2021-09-01 07:51:37 +03:00
Boris Chiou 48f6308b1d Bug 1676789 - Sample APZ animations before sampling OMTA animations for webrender. r=hiro
In order to support scroll-linked animations, we need the scrolling
information for sampling omt animations, so we would like to do APZ animations
first.

Now we clear the dynamic properties before sampling APZ and OMTA, so we
can make sure the pending properties are empty before appending new
ones. Therefore, let's just replace set_properties with add_properties
because OMTA sampler shouldn't override the current pending properties which
may be added by APZ sampler.

Differential Revision: https://phabricator.services.mozilla.com/D122308
2021-09-01 04:26:53 +00:00
Glenn Watson 8aaf20e99c Bug 1727458 - Change display list builder APIs to retain/reuse them r=gfx-reviewers,kvark
This will allow storing state in a display list builder struct
between different display list builds. In time, this will be used
to reduce the size of the serialized display list data, by only
sending delta changes to WR. The extra information made available
by sending deltas will then allow WR to more efficiently cache and
reuse information across different scene/frame builds.

Differential Revision: https://phabricator.services.mozilla.com/D123579
2021-08-30 23:10:10 +00:00
Glenn Watson bc95f6481b Bug 1726708 - Add stable key for spatial nodes r=gfx-reviewers,kvark
Add an interface (and update Gecko to provide) a stable unique
identifier for each spatial node that is consistent across
display lists.

Although this patch doesn't _do_ anything useful with this yet,
we'll use this in future to allow interning, persisting and caching
a lot more information related to primitives and clips.

For now, it just asserts that the calling code never supplies a
duplicate unique identifier - which will be useful to have running
in nightly for a couple of weeks before starting to make use of
these identifiers.

Differential Revision: https://phabricator.services.mozilla.com/D123177
2021-08-30 00:33:22 +00:00
Glenn Watson db30aac4f1 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-30 00:33:22 +00:00
Alexandru Michis 6b25d96a7d Backed out changeset 1d332a5ff4f9 (bug 1724846) for causing Bug 1727715.
CLOSED TREE
2021-08-26 22:51:05 +03:00
Alexandru Michis dc7a2fbe2f Backed out changeset 9c2d20304eee (bug 1726708) for causing conflicts while backing out Bug 1724846 2021-08-26 22:50:37 +03:00
sotaro e18539817c Bug 1727459 - Add more logs around widget size in WebRenderLayerManager::Initialize() r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123585
2021-08-26 03:59:08 +00:00
Glenn Watson 7401f9f93e Bug 1726708 - Add stable key for spatial nodes r=gfx-reviewers,kvark
Add an interface (and update Gecko to provide) a stable unique
identifier for each spatial node that is consistent across
display lists.

Although this patch doesn't _do_ anything useful with this yet,
we'll use this in future to allow interning, persisting and caching
a lot more information related to primitives and clips.

For now, it just asserts that the calling code never supplies a
duplicate unique identifier - which will be useful to have running
in nightly for a couple of weeks before starting to make use of
these identifiers.

Differential Revision: https://phabricator.services.mozilla.com/D123177
2021-08-25 21:52:13 +00:00
Glenn Watson 3999ffe70d Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-24 02:18:51 +00:00
Iulian Moraru 87787e85e2 Backed out changeset d93e8a61d529 (bug 1724846) for causing reftest failures on downscale-moz-icon-1.html. CLOSED TREE 2021-08-23 07:11:37 +03:00
Glenn Watson fa6eeae54b Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-22 20:54:07 +00:00
Narcis Beleuzu de6255c9b1 Backed out 2 changesets (bug 1723665, bug 1724846) as per gw`s request
Backed out changeset 5f2aff372a24 (bug 1724846)
Backed out changeset 0cc8e08b6937 (bug 1723665)
2021-08-18 03:17:33 +03:00
Glenn Watson 2ae662cff6 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-15 20:44:03 +00:00
Glenn Watson c4ae6a4095 Bug 1723665 - Move coordinate mapping and snapping from scene building to display list building r=aosmond,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121591
2021-08-12 23:44:55 +00:00
Butkovits Atila 538569c63f Backed out changeset 97813b0b7f35 (bug 1723665) as requested by dev. CLOSED TREE 2021-08-10 23:04:10 +03:00
Glenn Watson 75728e5f1e Bug 1723665 - Move coordinate mapping and snapping from scene building to display list building r=aosmond,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D121591
2021-08-10 01:18:52 +00:00
Glenn Watson af10111513 Bug 1724344 - Split DL cache data into separate payload vec r=gfx-reviewers,kvark
Move the extra_data to be a specific cache_data separate vec in
the display list payload.

This shouldn't change any functionality, but serves as a proof
of concept for future changes which will introduce several other
separated payload vectors.

Differential Revision: https://phabricator.services.mozilla.com/D121937
2021-08-09 21:15:20 +00:00
Glenn Watson 1cfeaeb584 Bug 1722838 - Add DisplayListPayload struct r=jrmuizel,gfx-reviewers,nical
Although this currently only contains the existing data u8 vec of
serialized bytes, it will allow us to expand this structure in
future to contain other byte arrays.

This will be used for storing other payload information, such as
interned primitive types or data updates.

Differential Revision: https://phabricator.services.mozilla.com/D121160
2021-07-29 20:23:30 +00:00
Glenn Watson a34d3f438e Bug 1720624 - Remove WrSpaceAndClip type r=nical
This was used when defining scroll layers and also backdrop-filter.

Removing it from the scroll layer API allows removal of the implicit
clip rect that a scroll node previously created (Gecko doesn't use
this). To maintain compatibility with wrench tests, add a flag that
allows a test to specify a clip rect should be created for the scroll
layer (we should remove this from wrench in future and port the tests
to create explicit clip rects as required).

The usage of backdrop-filter was the only remaining place this type
was used, so it's now ported to use the clip-chain API.

This simplifies the scroll layer API and removes an extra clip rect
from each scroll layer instance, as a small performance improvement.

Differential Revision: https://phabricator.services.mozilla.com/D119938
2021-07-18 22:32:27 +00:00
Jeff Gilbert afdbf9538b Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-25 19:16:22 +00:00
Iulian Moraru 1a8cb02555 Backed out changeset 10a229d128c0 (bug 1459526) for causing reftest failures on short.mp4.lastframe.html. CLOSED TREE 2021-06-25 06:34:36 +03:00
Jeff Gilbert 5c14187731 Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-24 23:43:31 +00:00
Glenn Watson 7f78f859a7 Bug 1716933 - Remove DefineClip API from WR public API r=gfx-reviewers,jrmuizel
This will allow simplifying some of the internal clip handling
during scene building.

Differential Revision: https://phabricator.services.mozilla.com/D118127
2021-06-20 22:26:54 +00:00
Alexandru Michis 3477ca89c8 Backed out changeset f7016db57a2e (bug 1459526) for causing reftest failures.
CLOSED TREE
2021-06-18 07:49:06 +03:00
Jeff Gilbert 920429087b Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-17 23:43:34 +00:00
Butkovits Atila 367d829107 Backed out changeset 318f32313091 (bug 1459526) for causing wrench bustages. CLOSED TREE 2021-06-17 04:45:11 +03:00
Jeff Gilbert 72024fcc23 Bug 1459526 - Handle full-range video in Webrender. r=gw,lsalzman
+ Begin to add video tests to ensure we ratchet towards correctness.
+ Test rec709 x (yuv420p, yuv420p10, gbrp) x (tv, pc) x codecs.
+ Just mark fuzziness for now. Better would be e.g. 16_127_233 'bad
  references'.

Differential Revision: https://phabricator.services.mozilla.com/D115298
2021-06-17 01:12:18 +00:00
Nicolas Silva 2be01aafa4 Bug 1711648 - Move LayoutRect to the Box2D representation. r=jrmuizel.
Differential Revision: https://phabricator.services.mozilla.com/D117293
2021-06-11 13:33:10 +00:00
Nicolas Silva 8c3cb30358 Bug 1711648 - Move RasterRect to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117292
2021-06-11 13:33:09 +00:00
Nicolas Silva 2fd526f0b1 Bug 1711648 - Move TileRange to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117291
2021-06-11 13:33:09 +00:00
Nicolas Silva 724b80d537 Bug 1711648 - Move PictureRect to the endpoint representation. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116825
2021-06-11 13:33:08 +00:00
Alexandru Michis b9be72a526 Backed out 6 changesets (bug 1711648) for causing crashes in FrameBuilder.
CLOSED TREE

Backed out changeset 0384828b36cc (bug 1711648)
Backed out changeset 15d8e0d681ef (bug 1711648)
Backed out changeset b27d8421ebc5 (bug 1711648)
Backed out changeset 12da58f4ac4f (bug 1711648)
Backed out changeset 1d4c0b685f0e (bug 1711648)
Backed out changeset 367235e897e3 (bug 1711648)
2021-06-10 18:28:27 +03:00
Nicolas Silva 69c80ddaa7 Bug 1711648 - Move LayoutRect to the Box2D representation. r=jrmuizel.
Differential Revision: https://phabricator.services.mozilla.com/D117293
2021-06-10 13:07:34 +00:00
Nicolas Silva 8ab34fbadf Bug 1711648 - Move RasterRect to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117292
2021-06-10 13:07:33 +00:00
Nicolas Silva 0acbbeea63 Bug 1711648 - Move TileRange to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117291
2021-06-10 13:07:33 +00:00
Nicolas Silva 9584d0be6a Bug 1711648 - Move PictureRect to the endpoint representation. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116825
2021-06-10 13:07:32 +00:00
Marian-Vasile Laza 5dc1a42e67 Backed out 6 changesets (bug 1711648) for causing build bustages.
CLOSED TREE

Backed out changeset a803c960b909 (bug 1711648)
Backed out changeset d07c38d536c5 (bug 1711648)
Backed out changeset 823b75fc8c3c (bug 1711648)
Backed out changeset 602a2bcc5e29 (bug 1711648)
Backed out changeset 99ce7c7e458d (bug 1711648)
Backed out changeset bdbc65799b8a (bug 1711648)
2021-06-10 12:25:48 +03:00
Nicolas Silva 6cdbec834a Bug 1711648 - Move LayoutRect to the Box2D representation. r=jrmuizel.
Differential Revision: https://phabricator.services.mozilla.com/D117293
2021-06-10 08:08:07 +00:00
Nicolas Silva 9e22c414c2 Bug 1711648 - Move RasterRect to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117292
2021-06-10 08:08:06 +00:00
Nicolas Silva 23ed6454cf Bug 1711648 - Move TileRange to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117291
2021-06-10 08:08:06 +00:00
Nicolas Silva 46f8718626 Bug 1711648 - Move PictureRect to the endpoint representation. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116825
2021-06-10 08:08:05 +00:00
Nicolas Silva 2c48dba193 Bug 1711648 - Move all world rects to the endpoint representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116733
2021-06-08 09:00:52 +00:00
Nicolas Silva fd03e01f61 Bug 1711648 - Move all device rects to the Box2D representations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116401
2021-06-02 12:47:03 +00:00
Nicolas Silva be0eb5fbfc Bug 1711648 - Update euclid to 0.22.6. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116266
2021-06-02 12:47:02 +00:00
Csoregi Natalia 511356a7c1 Backed out 3 changesets (bug 1713544, bug 1711648) for valgrind failures. CLOSED TREE
Backed out changeset 9449ea40b4fd (bug 1713544)
Backed out changeset 3d51bfaa0d8d (bug 1711648)
Backed out changeset c6c83dc97cbb (bug 1711648)
2021-06-02 10:43:16 +03:00
Nicolas Silva 2c30dfddef Bug 1711648 - Move all device rects to the Box2D representations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116401

Depends on D116266
2021-06-01 21:25:19 +00:00
Nicolas Silva 259f360733 Bug 1711648 - Update euclid to 0.22.6. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116266
2021-06-01 21:25:18 +00:00
Butkovits Atila 34ce52667e Backed out 2 changesets (bug 1711648) for causing wrench bustages. CLOSED TREE
Backed out changeset 7f1ae1fdd305 (bug 1711648)
Backed out changeset 71807d4e6302 (bug 1711648)
2021-06-02 01:28:29 +03:00
Nicolas Silva 7f7de00ea8 Bug 1711648 - Move all device rects to the Box2D representations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116401
2021-06-01 21:25:19 +00:00
Nicolas Silva 9ec5d6e05a Bug 1711648 - Update euclid to 0.22.6. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116266
2021-06-01 21:25:18 +00:00
Butkovits Atila 3af9a07178 Backed out 2 changesets (bug 1711648) for causing failures at grid-max-sizing-flex-002.html. CLOSED TREE
Backed out changeset 9cf4e612dbac (bug 1711648)
Backed out changeset 7d8bba559407 (bug 1711648)
2021-06-01 21:07:34 +03:00
Nicolas Silva 8aa37de340 Bug 1711648 - Move all device rects to the Box2D representations. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116401
2021-06-01 16:30:36 +00:00
Nicolas Silva 162e431533 Bug 1711648 - Update euclid to 0.22.6. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116266
2021-06-01 16:30:35 +00:00
Alexandru Michis 934da6fecd Backed out changeset 1758b632b964 (bug 1711648) for causing wrench bustages in reftests/transforms/prim-suite.yaml
CLOSED TREE
2021-05-31 14:15:32 +03:00
Nicolas Silva 9d3b368e00 Bug 1711648 - Update euclid to 0.22.5. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116266
2021-05-31 10:36:47 +00:00
Glenn Watson a9018e3edc Bug 1713233 - Remove global device pixel scale from composite state and occlusion culling. r=gfx-reviewers,bradwerth
Starting to simplify which parts of the composite state will require
true world coordinates compared to those that can operate in local
(pre-compositor-transform) coordinates.

Differential Revision: https://phabricator.services.mozilla.com/D116183
2021-05-30 20:18:57 +00:00
Glenn Watson 9a4fe4ceb7 Bug 1713223 - Remove device pixel scale from spatial tree and snapping logic r=gfx-reviewers,bradwerth
It was always one (previous commits removed the public API for changing
it). The use of global_device_pixel_scale from the remaining code will be
removed in follow up patches.

Differential Revision: https://phabricator.services.mozilla.com/D116175
2021-05-30 20:18:56 +00:00
Glenn Watson 5fde547e67 Bug 1712651 - Remove unused pinch-zoom APIs r=gfx-reviewers,bradwerth
Gecko implements these via an APZ transform node in the spatial tree.

Differential Revision: https://phabricator.services.mozilla.com/D115853
2021-05-25 21:32:25 +00:00
Brad Werth a85d6eebfb Bug 1706561 Part 1: Only push a SetPoints DisplayItem when points have been provided. r=gw
This reduces the size of the display list in the common case of an image mask
having no associated hit-test polygon.

Differential Revision: https://phabricator.services.mozilla.com/D113000
2021-05-20 17:26:21 +00:00
Nicolas Silva 141d788226 Bug 1708540 - Handle and test various NaN situations with gradients. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D114366
2021-05-05 21:28:34 +00:00
Nicolas Silva 67286e28c2 Bug 1696905 - CPU-side occlusion culling for picture cache tiles. r=gfx-reviewers,lsalzman,gw
This patch introduces a simple culling algorithm that splits compositor tiles into only their visible parts, removing the need for a depth buffer. This reduces the draw-call count as well well as the memory usage and bandwidth associated with the depth buffer.

Differential Revision: https://phabricator.services.mozilla.com/D113532
2021-05-04 12:54:52 +00:00
Miko Mynttinen f3891ac138 Bug 1676657 - Port paint phase weight histograms to WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D108043
2021-04-22 13:31:42 +00:00
Nicolas Silva 9bde5de742 Bug 1702228 - Check gradient parameters. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D112969
2021-04-22 10:34:55 +00:00
Alexandru Michis 1b2962d3ec Backed out changeset ca4d87f2ec7b (bug 1676657) for causing webrender bustages.
CLOSED TREE
2021-04-21 18:41:23 +03:00
Miko Mynttinen 8249149314 Bug 1676657 - Port paint phase weight histograms to WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D108043
2021-04-21 15:13:42 +00:00
Brad Werth 06dadaa7a6 Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw
This patch augments the pushing of an image mask to allow a polygon clip
region to be attached to it.

Differential Revision: https://phabricator.services.mozilla.com/D105397
2021-04-15 18:54:38 +00:00
Brad Werth 4b4228f562 Bug 1675375 Part 1: Define WebRender structures for polygons. r=gw
This patch defines a SetPoints DisplayItem for providing polygon mask points
associated with a ImageMaskClipDisplayItem. It also defines a WR enum for the
polygon fill rule. The method to provide these values to WR is mere scaffolding
until later patches in this series.

Differential Revision: https://phabricator.services.mozilla.com/D105396
2021-04-15 18:54:37 +00:00
Dorel Luca f41135212c Backed out 7 changesets (bug 1675375) for Mochitest failures in gfx/layers/apz/test/mochitest/test_group_hittest-2.html. CLOSED TREE
Backed out changeset 1a2cb51e0573 (bug 1675375)
Backed out changeset e1ec44a75cd0 (bug 1675375)
Backed out changeset a628a5fa5291 (bug 1675375)
Backed out changeset 5fbf7f44c382 (bug 1675375)
Backed out changeset 053073e36e53 (bug 1675375)
Backed out changeset ae13d5fc65ba (bug 1675375)
Backed out changeset 1a8ae9663eb0 (bug 1675375)
2021-04-14 21:38:20 +03:00
Brad Werth d2b048063e Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw
This patch augments the pushing of an image mask to allow a polygon clip
region to be attached to it.

Differential Revision: https://phabricator.services.mozilla.com/D105397
2021-04-14 17:17:15 +00:00
Brad Werth a4639d5ca0 Bug 1675375 Part 1: Define WebRender structures for polygons. r=gw
This patch defines a SetPoints DisplayItem for providing polygon mask points
associated with a ImageMaskClipDisplayItem. It also defines a WR enum for the
polygon fill rule. The method to provide these values to WR is mere scaffolding
until later patches in this series.

Differential Revision: https://phabricator.services.mozilla.com/D105396
2021-04-14 17:17:14 +00:00
Alexandru Michis c592078f73 Backed out 7 changesets (bug 1675375) for causing mochitest plain failures in test_group_hittest-2.html
CLOSED TREE

Backed out changeset e2e27cedd002 (bug 1675375)
Backed out changeset dba2861e4b53 (bug 1675375)
Backed out changeset 5dbfc7ce0a85 (bug 1675375)
Backed out changeset dd08dfba1dcd (bug 1675375)
Backed out changeset 5f8ae081f4ee (bug 1675375)
Backed out changeset 4d13e1221a79 (bug 1675375)
Backed out changeset 0e463f7857ea (bug 1675375)
2021-04-14 07:29:47 +03:00
Brad Werth fc138c46c1 Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw
This patch augments the pushing of an image mask to allow a polygon clip
region to be attached to it.

Differential Revision: https://phabricator.services.mozilla.com/D105397
2021-04-14 03:17:40 +00:00
Brad Werth 8d29aa900e Bug 1675375 Part 1: Define WebRender structures for polygons. r=gw
This patch defines a SetPoints DisplayItem for providing polygon mask points
associated with a ImageMaskClipDisplayItem. It also defines a WR enum for the
polygon fill rule. The method to provide these values to WR is mere scaffolding
until later patches in this series.

Differential Revision: https://phabricator.services.mozilla.com/D105396
2021-04-14 03:17:39 +00:00
Alexandru Michis 97e8263ebb Backed out 7 changesets (bug 1675375) for causing webrender lint tidy failures.
CLOSED TREE

Backed out changeset 153063d9a02a (bug 1675375)
Backed out changeset c8ef6d2e370b (bug 1675375)
Backed out changeset 7085c1fa22a7 (bug 1675375)
Backed out changeset 842bc646804b (bug 1675375)
Backed out changeset 13d98397d39a (bug 1675375)
Backed out changeset d29bc0506ced (bug 1675375)
Backed out changeset 5b83b96c3057 (bug 1675375)
2021-04-14 02:21:41 +03:00
Brad Werth 8e27bc2b02 Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw
This patch augments the pushing of an image mask to allow a polygon clip
region to be attached to it.

Differential Revision: https://phabricator.services.mozilla.com/D105397
2021-04-13 19:42:36 +00:00
Brad Werth 4f7272a107 Bug 1675375 Part 1: Define WebRender structures for polygons. r=gw
This patch defines a SetPoints DisplayItem for providing polygon mask points
associated with a ImageMaskClipDisplayItem. It also defines a WR enum for the
polygon fill rule. The method to provide these values to WR is mere scaffolding
until later patches in this series.

Differential Revision: https://phabricator.services.mozilla.com/D105396
2021-04-13 19:42:35 +00:00
Butkovits Atila 52896afc37 Backed out 7 changesets (bug 1675375) for causing build bustages. CLOSED TREE
Backed out changeset 4cf2b6a19950 (bug 1675375)
Backed out changeset 119c1be7430c (bug 1675375)
Backed out changeset d96860372ec5 (bug 1675375)
Backed out changeset 319a7979be09 (bug 1675375)
Backed out changeset 1cd395b58b92 (bug 1675375)
Backed out changeset c542d63b4dd8 (bug 1675375)
Backed out changeset 4d8b6d3a5f02 (bug 1675375)
2021-04-12 22:23:18 +03:00
Brad Werth db5bbb5890 WIP: Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw
This patch augments the pushing of an image mask to allow a polygon clip
region to be attached to it.

Differential Revision: https://phabricator.services.mozilla.com/D105397
2021-04-12 18:30:53 +00:00
Brad Werth 9546029492 WIP: Bug 1675375 Part 1: Define WebRender structures for polygons. r=gw
This patch defines a SetPoints DisplayItem for providing polygon mask points
associated with a ImageMaskClipDisplayItem. It also defines a WR enum for the
polygon fill rule. The method to provide these values to WR is mere scaffolding
until later patches in this series.

Differential Revision: https://phabricator.services.mozilla.com/D105396
2021-04-12 18:30:53 +00:00
Lee Salzman 7da7463df3 Bug 1704235 - Avoid CString conversions in WR CrashAnnotationGuard. r=aosmond
We seem to be hitting a surprising amount of allocator contention just allocating
and converting the CString inside CrashAnnotationGuard. This just modifies the
previous patch to cache that conversion so that we never have to do it dynamically.

Differential Revision: https://phabricator.services.mozilla.com/D111537
2021-04-12 15:28:33 +00:00
Jamie Nicol f3c79a231d Bug 1701633 - Annotate crash reports with name of currently bound shader during draw calls. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D110115
2021-03-30 08:36:58 +00:00
Miko Mynttinen c7c8925626 Bug 1700642 - Part 2: Add paint phase graph to WR profiler r=nical
Differential Revision: https://phabricator.services.mozilla.com/D109614
2021-03-26 17:37:22 +00:00