Commit Graph

630 Commits

Author SHA1 Message Date
Nicolas Silva
13d8e22216 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
Andrew Osmond
0c0404fff3 Bug 1715902 - Refuse WebRender on Linux if backed by software driver. r=jrmuizel
Reject software rasterizers on Linux (except Software WebRender) when
trying to create full WebRender, unless WebRender was force enabled.

Differential Revision: https://phabricator.services.mozilla.com/D117534
2021-06-11 13:15:17 +00:00
Alexandru Michis
f7cb9774dd 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
0815c99fe1 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
Marian-Vasile Laza
1a9535fe75 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
292501e4bf 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
dfc9df51f1 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
Csoregi Natalia
7ed99ffc26 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
f5d56e52c1 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
Butkovits Atila
4743378987 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
fec70994ee 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
Butkovits Atila
4678b0836d 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
91ac17f69b 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
Glenn Watson
7462e5f6c2 Bug 1712871 - Move max_update_rects into CompositorCapabilities r=lsalzman,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D115954
2021-05-26 20:09:58 +00:00
Glenn Watson
9362296e04 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
Glenn Watson
f3e85b41fd Bug 1709983 - Pt 2 - Use DefinedRoundedRectClip for backdrop-filter r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D114564
2021-05-10 20:10:12 +00:00
Glenn Watson
eef65bc106 Bug 1709983 - Pt 1 - Remove PushClearRectWithComplexRegion. r=gfx-reviewers,nical
The clear region prim don't support complex clip regions (the
complex clip region was being ignored). This has been shipping
like this for many months now, so it seems it's not required.

Differential Revision: https://phabricator.services.mozilla.com/D114563
2021-05-10 20:10:12 +00:00
Andi-Bogdan Postelnicu
fc12bef7c8 Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,valentin,sylvestre
Updated with clang-format version 11.0.1 (taskcluster-GI8pmG3eQ_OSXfjFfr2yFw)

Differential Revision: https://phabricator.services.mozilla.com/D114618
2021-05-10 07:15:06 +00:00
Glenn Watson
7afe63e93d Bug 1709757 - Pt 3 - Remove WR internal code and APIs for debugger feature r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D114452
2021-05-07 01:57:01 +00:00
Nicolas Silva
095b699247 Bug 1706396 - Sanity check the GL context version. r=aosmond
Depends on D112990

Differential Revision: https://phabricator.services.mozilla.com/D112991
2021-04-22 08:03:21 +00:00
Brad Werth
e29fcbe551 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
Dorel Luca
70eafc6b6c 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
314c4b350d 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
Alexandru Michis
78634e2404 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
3a154acd8c 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
Alexandru Michis
b51d6b50b1 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
9a4d9e0a9e 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
Butkovits Atila
96e930cf26 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
83ed114ded 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
sotaro
89dcf9f496 Bug 1702953 - Stop RenderBackend's task from WebRenderAPI::DestroyRenderer() r=gfx-reviewers,kvark
WebRenderAPI::DestroyRenderer() destroys RendererOGL and WebRender's Renderer instance. After RendererOGL is destroyed, RenderBackend could not sent message to WebRender's Renderer via RenderBackend::result_tx.

Message sending by RenderBackend::result_tx needs to be stopped after destroying WebRender's Renderer instance.

After wr_api_stop_render_backend() call, RemoveRenderer have to be called via wr_api_send_external_event(). It actually destroys the renderer. Its message arrives when WR backend is in RenderBackendStatus::StopRenderBackend state. At the time, WR backend is stopped sending message to renderer.

Differential Revision: https://phabricator.services.mozilla.com/D110795
2021-04-09 00:23:39 +00:00
sotaro
ebea25864d Bug 1700848 - Destroy RenderCompositor by root WebRenderBridgeParent's ClearResources() r=nical
Root WebRenderBridgeParent's  ClearResources() call is expected to destroy RenderCompositor. It is necessary to avoid conflict between RenderCompositors and to avoid use after free.

Differential Revision: https://phabricator.services.mozilla.com/D109693
2021-03-25 21:53:40 +00:00
Andrew Osmond
1d19fa73aa Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-24 19:39:59 +00:00
Jim Blandy
3091e53384 Bug 1694547: Let chrome JavaScript control WebRender capture sequence parameters. r=jrmuizel
This patch is plumbing to get a path and a flags word through from the content
process to the graphics process, to pass to `wr_api_start_capture_sequence`.

Differential Revision: https://phabricator.services.mozilla.com/D106229
2021-02-24 18:52:08 +00:00
Cosmin Sabou
9ef271b5ba Backed out 2 changesets (bug 1688096) for win webrender sw_compositor related crashes. CLOSED TREE
Backed out changeset aa0d1698aff8 (bug 1688096)
Backed out changeset 3ad2f4d0c317 (bug 1688096)
2021-02-18 19:52:29 +02:00
Andrew Osmond
cd218bcf63 Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-18 15:37:46 +00:00
smolnar
f7ba61e1f9 Backed out 2 changesets (bug 1688096) for linux debug build bustage in KnowsCompositor. CLOSED TREE
Backed out changeset 6cdfa0af2278 (bug 1688096)
Backed out changeset 6471b0910f45 (bug 1688096)
2021-02-18 14:34:49 +02:00
Andrew Osmond
b76cb0a8b0 Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-18 11:50:05 +00:00
Lee Salzman
0f677b43ef Bug 1679215 - add support for StartCompositing hook to RenderCompositor. r=mattwoodrow
We need to be able to delay instantiation of the drawing region until after we have the
dirty rects from start_compositing. This was currently not routed to RenderCompositor,
which is required to do this. Further, SwCompositor needs to always keep track of the
RenderCompositor that it is associated with regardless of whether or not it is a native
compositor so that this hook can be properly engaged.

Differential Revision: https://phabricator.services.mozilla.com/D100974
2021-01-10 23:26:23 +00:00
Jim Blandy
7a86d7a4c6 Bug 1681610: Use thicker borders when faking rounded rectangles. r=gw
`DisplayListBuilder::PushRoundedRect`, used for unordered list bullets and the
like, draws rounded rectangles as ordinary rectangles with rounded borders that
have a radius of half the rectangle. Unfortunately, this leads to tiny white
dots at the center of the bullet under some magnifications. I haven't diagnosed
why - perhaps there's something somewhere that snaps borders outward.

Increasing the thickness of the borders to (an impossible) 60% of the width of
the rectangle makes the problem go away. If this kludge doesn't work, we could
add a rectangle covering the center.

Differential Revision: https://phabricator.services.mozilla.com/D100753
2021-01-09 19:55:03 +00:00
sotaro
61a8344236 Bug 1683988 - Do not pass unnecessary objects for software WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D100375
2021-01-04 09:29:38 +00:00
sotaro
86cb488f64 Bug 1683248 - Stop to pass WebRenderShaders to software WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D100080
2020-12-18 22:38:56 +00:00
Nicolas Silva
c9cb4fcd5b Bug 1624264 - Use different texture cache sizes for popup windows. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D99771
2020-12-18 09:27:19 +00:00
Markus Stange
46ea354af1 Bug 1677929 - Add a way to specify an ID for a generated frame, and propagate the ID to the APZSampler. r=gw,kats
This ID allows the compositor to track per-frame information from frame
generation, through APZ sampling, to the NotifyDidRender notification.

Differential Revision: https://phabricator.services.mozilla.com/D97535
2020-12-09 03:35:50 +00:00
Matt Woodrow
b4541e6213 Bug 1674878 - Expose more detailed WR backend information to TextureFactoryIdentifier. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95588
2020-11-03 18:24:43 +00:00
Nicolas Silva
7bb3623086 Bug 1671289 - Improve WebRender's integrated profiler. r=gw
In a (large-ish) nutshell:

 - Consolidate all counters under a single type.
 - Counters are all arranged in an array and referred to via index.
 - All counters can be displayed as average+max (float/int), graph, and change indicator.
 - Specify what to show and in what form via a pref.
 - All counters and visualizations support not having values every frame.
 - GPU time queries visualization is easier to read relative to the frame budget:
  - If the maximum value is under 16ms, the right side of the graph is fixed at 16ms.
  - If the maximum value is above 16ms, draw a vertical bar at 16ms.
 - Added a few new profile counters:
  - Total frame CPU time (from API send to the end of GPU command submission).
  - Visibility, Prepare, Batching and Glyph resolve times.

The main change is how profile counters are represented. Instead of having different types for different visualizations, every counter is represented the same way, tracking average/max values over half a ms and optionally recording a graph over a number of frames. Counters are stored in a vector and referred to via index (See constants at the top of profiler.rs).
The main motivation for this storage is to facilitate adding counters without having to think too much about where to store them and how to pass them to the renderer.

The profiler's UI is defined by a string with with a single syntax:
 - Comma separated list of tokens (leading and trailing spaces ignored), which can be:
  - A counter name:
   - If prefixed with a '#' character, the counter is shown as a graph.
   - If prefixed with a '*' character, the counter is shown as a change indicator
   - By default (counter name without prefix), the counter is shown as average and max over half a second.
  - A preset name:
   - A preset is a builtin UI string in the same syntax that can be nested in the main UI string.
   - Presets are defined towards the top of profiler.rs and can also refer to other presets.
  - An empty token adds a  bit of vertical space.
  - A '|' token begins a new column.
  - A '_' token begins a new row.

Differential Revision: https://phabricator.services.mozilla.com/D93603
2020-10-20 08:54:04 +00:00
Narcis Beleuzu
a80c3a6da1 Backed out 1 changesets (bug 1671289) for wrench bustages on profiler.rs . CLOSED TREE
Backed out changeset db80ac24d32f (bug 1671289)
2020-10-19 23:58:05 +03:00
Nicolas Silva
af00138764 Bug 1671289 - Improve WebRender's integrated profiler. r=gw
In a (large-ish) nutshell:

 - Consolidate all counters under a single type.
 - Counters are all arranged in an array and referred to via index.
 - All counters can be displayed as average+max (float/int), graph, and change indicator.
 - Specify what to show and in what form via a pref.
 - All counters and visualizations support not having values every frame.
 - GPU time queries visualization is easier to read relative to the frame budget:
  - If the maximum value is under 16ms, the right side of the graph is fixed at 16ms.
  - If the maximum value is above 16ms, draw a vertical bar at 16ms.
 - Added a few new profile counters:
  - Total frame CPU time (from API send to the end of GPU command submission).
  - Visibility, Prepare, Batching and Glyph resolve times.

The main change is how profile counters are represented. Instead of having different types for different visualizations, every counter is represented the same way, tracking average/max values over half a ms and optionally recording a graph over a number of frames. Counters are stored in a vector and referred to via index (See constants at the top of profiler.rs).
The main motivation for this storage is to facilitate adding counters without having to think too much about where to store them and how to pass them to the renderer.

The profiler's UI is defined by a string with with a single syntax:
 - Comma separated list of tokens (leading and trailing spaces ignored), which can be:
  - A counter name:
   - If prefixed with a '#' character, the counter is shown as a graph.
   - If prefixed with a '*' character, the counter is shown as a change indicator
   - By default (counter name without prefix), the counter is shown as average and max over half a second.
  - A preset name:
   - A preset is a builtin UI string in the same syntax that can be nested in the main UI string.
   - Presets are defined towards the top of profiler.rs and can also refer to other presets.
  - An empty token adds a  bit of vertical space.
  - A '|' token begins a new column.
  - A '_' token begins a new row.

Differential Revision: https://phabricator.services.mozilla.com/D93603
2020-10-19 20:07:54 +00:00
Glenn Watson
26e01df30b Bug 1670842 - Pt 1 - Remove option to disable picture caching. r=jnicol
This patch removes the public API and high level logic for
disabling picture caching for debugging and pinch-zoom in
some cases.

Follow up patches will remove and simplify the internal parts
of WR that remain to handle the disabled picture caching
code path.

Differential Revision: https://phabricator.services.mozilla.com/D93446
2020-10-14 06:06:45 +00:00
Matt Woodrow
d517b70ca2 Bug 1666055 - Disable buffer textures as external compositor surfaces on MacOS. r=lsalzman
When using the native RenderCompositor+SWGL on MacOS, we don't support passing buffer textures directly to the compositor.

Differential Revision: https://phabricator.services.mozilla.com/D93179
2020-10-14 07:56:47 +00:00
Kartikaya Gupta
74e228954d Bug 1666802 - Remove unused serializers. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D93145
2020-10-11 23:22:51 +00:00