searching for reviewer(gw)
0da3036d08906476d4c0155a6a48979f95d7eb44: Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw
Timothy Nikkel <tnikkel@gmail.com> - Mon, 03 Aug 2020 00:48:04 +0000 - rev 543047
Push 37662 by dluca@mozilla.com at Mon, 03 Aug 2020 03:30:15 +0000
Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw Pretty straight forward, mostly just plumbing stuff through. Differential Revision: https://phabricator.services.mozilla.com/D85666
fed45fbadc26ca8595d6ba86f4b7aba2f5ed6708: Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw
Timothy Nikkel <tnikkel@gmail.com> - Sun, 02 Aug 2020 21:33:50 +0000 - rev 543040
Push 37662 by dluca@mozilla.com at Mon, 03 Aug 2020 03:30:15 +0000
Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw Pretty straight forward, mostly just plumbing stuff through. Differential Revision: https://phabricator.services.mozilla.com/D85666
26ff1a25028d7c202d4ab56009b004d1425aaac3: Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw
Timothy Nikkel <tnikkel@gmail.com> - Sun, 02 Aug 2020 20:45:02 +0000 - rev 543038
Push 37662 by dluca@mozilla.com at Mon, 03 Aug 2020 03:30:15 +0000
Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw Pretty straight forward, mostly just plumbing stuff through. Differential Revision: https://phabricator.services.mozilla.com/D85666
86fac7f5d05fe1945b8917b6087b172d2a2e9cc9: Bug 1656395: Have wrench create a Tracy zone for each reftest. r=gw
Jim Blandy <jimb@mozilla.com> - Fri, 31 Jul 2020 01:12:15 +0000 - rev 542952
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1656395: Have wrench create a Tracy zone for each reftest. r=gw This adds a use of the tracy-rs `profile_scope!` macro to `ReftestHarness::run_reftest`. Depends on D85509 Differential Revision: https://phabricator.services.mozilla.com/D85510
8c5cac01426dd1f34c3f8de5cfa93180ef849129: Bug 1656395: Update to tracy-rs 0.1.2. r=gw
Jim Blandy <jimb@mozilla.com> - Fri, 31 Jul 2020 01:11:49 +0000 - rev 542951
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1656395: Update to tracy-rs 0.1.2. r=gw This version of `tracy-rs` adds the `text:` option to the `profile_scope!` macro. Differential Revision: https://phabricator.services.mozilla.com/D85509
3d9324ca6510ad601f203af9b4063e4bd2ec3676: Bug 1652750 - Unroll WR scene building recursion r=gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Fri, 31 Jul 2020 12:25:51 +0000 - rev 542891
Push 37657 by nerli@mozilla.com at Sat, 01 Aug 2020 09:48:10 +0000
Bug 1652750 - Unroll WR scene building recursion r=gw instead of using the stack for all the scene building containers, we are making the stack explicitly, and doing all the work inside the `build_all` function. This affects reference frames, iframes, and stacking contexts. Differential Revision: https://phabricator.services.mozilla.com/D85467
6211bc3a4985732255d5ffc8b08e98bc12851e6a: Bug 1484047 - Fix glitching of offset value. r=gw
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 30 Jul 2020 09:46:07 +0000 - rev 542587
Push 37652 by cbrindusan@mozilla.com at Thu, 30 Jul 2020 15:44:30 +0000
Bug 1484047 - Fix glitching of offset value. r=gw Based on the documentation of the `offset` field in a previous patch, it doesn't make sense to be adjusting this field when getting a new display list. The external_scroll_offset may change, but the user-visible offset should be preserved. This incorrect adjustment caused the `offset` field to hold an incorrect value in the interval between applying the new display list and re-sampling the async scroll delta from APZ. Although this would never appear to the user in a composited frame, hit-tests during this interval could end up returning the wrong result. Differential Revision: https://phabricator.services.mozilla.com/D85333
377c3c385e113fafb47bc94b4012650d2f698c7a: Bug 1484047 - Document some scroll-related things better. r=gw
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 30 Jul 2020 09:46:00 +0000 - rev 542585
Push 37652 by cbrindusan@mozilla.com at Thu, 30 Jul 2020 15:44:30 +0000
Bug 1484047 - Document some scroll-related things better. r=gw Differential Revision: https://phabricator.services.mozilla.com/D85331
50a2b61977d5ae48ef9c89b5bcffc07e81c7e836: Bug 1648405 - Vendor crossbeam dependency. r=gw
Nicolas Silva <nsilva@mozilla.com> - Tue, 28 Jul 2020 09:45:33 +0000 - rev 542312
Push 37646 by btara@mozilla.com at Tue, 28 Jul 2020 15:04:40 +0000
Bug 1648405 - Vendor crossbeam dependency. r=gw Differential Revision: https://phabricator.services.mozilla.com/D81041
c73ffc91ade2f081d985d2a946b66da60ee06ff7: Bug 1648405 - Use crossbeam channels instead of std::mpsc ones in webrender. r=gw
Nicolas Silva <nsilva@mozilla.com> - Tue, 28 Jul 2020 09:43:58 +0000 - rev 542311
Push 37646 by btara@mozilla.com at Tue, 28 Jul 2020 15:04:40 +0000
Bug 1648405 - Use crossbeam channels instead of std::mpsc ones in webrender. r=gw Differential Revision: https://phabricator.services.mozilla.com/D81040
8700c88133b43bd7cdd521960841bea3fa595d50: Bug 1655298 - Pass in MallocSizeOfOps to reporter. r=gw
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 27 Jul 2020 02:55:47 +0000 - rev 542154
Push 37641 by ncsoregi@mozilla.com at Mon, 27 Jul 2020 09:51:25 +0000
Bug 1655298 - Pass in MallocSizeOfOps to reporter. r=gw Just passing this along with the report is easier than trying to store these functions some place as we do in other places. These ops aren't used yet but will be in subsequent patches. There's a bit of ugly around the bindings because of a cbindgen limitation. Differential Revision: https://phabricator.services.mozilla.com/D84916
5e5b664a9b5ecba443472c38b1100bae3ab55c9e: Bug 1654901 - Make WR primitives invisible when failing to prepare for rendering r=gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Thu, 23 Jul 2020 23:29:54 +0000 - rev 541850
Push 37633 by ccoroiu@mozilla.com at Fri, 24 Jul 2020 09:32:06 +0000
Bug 1654901 - Make WR primitives invisible when failing to prepare for rendering r=gw the problem was that paths that determined visibility were not switching it off on the primitive instance. Now it's moved one level higher. Differential Revision: https://phabricator.services.mozilla.com/D84762
110c1bd73240a47c7c979c58b3420526a8ea5c7e: Bug 1654929. Drop old FBOs that we haven't used in a while. r=gw
Jeff Muizelaar <jmuizelaar@mozilla.com> - Fri, 24 Jul 2020 00:04:55 +0000 - rev 541844
Push 37633 by ccoroiu@mozilla.com at Fri, 24 Jul 2020 09:32:06 +0000
Bug 1654929. Drop old FBOs that we haven't used in a while. r=gw This keeps us from accumulating frame buffers without bound. Previously I was seeing as many 56 frame buffers in this list during a tab cycling stress test. Differential Revision: https://phabricator.services.mozilla.com/D84760
2c899cf4c756451146928db38db5f20c7a4e900a: Bug 1654279 - Avoid some allocations in ClipChainStack::push_surface. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 22 Jul 2020 20:17:09 +0000 - rev 541748
Push 37631 by btara@mozilla.com at Thu, 23 Jul 2020 16:21:22 +0000
Bug 1654279 - Avoid some allocations in ClipChainStack::push_surface. r=gw Differential Revision: https://phabricator.services.mozilla.com/D84498
4b66ae956966753221bee1c81cbb141cdbaead47: Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw,jrmuizel
Dzmitry Malyshau <dmalyshau@mozilla.com> - Thu, 23 Jul 2020 05:49:14 +0000 - rev 541726
Push 37631 by btara@mozilla.com at Thu, 23 Jul 2020 16:21:22 +0000
Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw,jrmuizel we only draw quads, and for quads we have a fixed vertex buffer with positions. If we get stop using instancing, we'll no longer have the luxury of 4 vertices there. Given that they are trivial to compute, it seems simpler to just do that in the shader today. So this PR is a required step on the way to instance-less rendering. It appears that we are hitting a driver bug with Intel on macOS, where scissored clears don't work properly if we render without per-vertex attributes. It doesn't make a ton of sense, but switching to quad clears appears to fix it for me. Added the corresponding entry to the wiki - https://github.com/servo/webrender/wiki/Driver-issues#bug-1652763---glitches-on-macos-intel-with-clears Differential Revision: https://phabricator.services.mozilla.com/D83391
7abdf136d36588da86c175f13831d79f8d1df01e: Bug 1642495 - Switch all WebRender HW-accelerated GPU cache updates to Scatter r=gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Tue, 16 Jun 2020 19:28:03 +0000 - rev 541656
Push 37629 by nbeleuzu@mozilla.com at Thu, 23 Jul 2020 03:20:25 +0000
Bug 1642495 - Switch all WebRender HW-accelerated GPU cache updates to Scatter r=gw scattered GPU updates use data transfers most efficiently, since they need a single slice of a buffer to do all the updates per frame, instead of uploading each small section of a row independently. Differential Revision: https://phabricator.services.mozilla.com/D78342
82c1c86544ddd620d06f053ab819d07f177b435e: Bug 1653569 - Avoid memory allocations in area_of_occluders. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 19 Jul 2020 22:06:54 +0000 - rev 541188
Push 37618 by nbeleuzu@mozilla.com at Mon, 20 Jul 2020 14:15:06 +0000
Bug 1653569 - Avoid memory allocations in area_of_occluders. r=gw Differential Revision: https://phabricator.services.mozilla.com/D83943
b045b030ffcb1dcac64eb87334b661658b1c9af3: Bug 1653374 - fix SwCompositor dependency tracking to account for transitive overlap dependencies. r=gw
Lee Salzman <lsalzman@mozilla.com> - Fri, 17 Jul 2020 02:50:26 +0000 - rev 540873
Push 37610 by malexandru@mozilla.com at Fri, 17 Jul 2020 09:39:07 +0000
Bug 1653374 - fix SwCompositor dependency tracking to account for transitive overlap dependencies. r=gw Differential Revision: https://phabricator.services.mozilla.com/D83878
98279b68955cdc9b5abfb574c93e0a9cf9374ac4: Bug 1653413 - update DCLayerTree surface rects at end of frame. r=gw
Lee Salzman <lsalzman@mozilla.com> - Fri, 17 Jul 2020 00:54:28 +0000 - rev 540869
Push 37610 by malexandru@mozilla.com at Fri, 17 Jul 2020 09:39:07 +0000
Bug 1653413 - update DCLayerTree surface rects at end of frame. r=gw Differential Revision: https://phabricator.services.mozilla.com/D83867
c19d6d6768688fb627256cf2b871052f6dd7e9e2: Bug 1647918 - Refactor the clip task assignment logic in WR r=gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Sun, 12 Jul 2020 20:33:01 +0000 - rev 540851
Push 37610 by malexandru@mozilla.com at Fri, 17 Jul 2020 09:39:07 +0000
Bug 1647918 - Refactor the clip task assignment logic in WR r=gw There were cases where the clip task generation considered a primitive to be invisible, while the rest of the code proceeded with an assumption that the clip task was created. Differential Revision: https://phabricator.services.mozilla.com/D82121
68618a10778e2759e89683168f73513dd951753d: Bug 1647918 - Don't unwrap space mapping in add_prim_to_batch for text in WR r=gw,jnicol
Dzmitry Malyshau <dmalyshau@mozilla.com> - Thu, 16 Jul 2020 13:31:27 +0000 - rev 540718
Push 37608 by apavel@mozilla.com at Thu, 16 Jul 2020 21:27:37 +0000
Bug 1647918 - Don't unwrap space mapping in add_prim_to_batch for text in WR r=gw,jnicol this is a crash I'm seeing on "testcase.html" attachment, which is different from the originally reported one. Differential Revision: https://phabricator.services.mozilla.com/D83689
c08d4fe356e52e3e61d18765f9256d143687efda: Bug 1609191 - Ensure shader sources are always unique to workaround adreno crash. r=gw
Jamie Nicol <jnicol@mozilla.com> - Wed, 15 Jul 2020 15:39:47 +0000 - rev 540554
Push 37604 by btara@mozilla.com at Wed, 15 Jul 2020 21:52:05 +0000
Bug 1609191 - Ensure shader sources are always unique to workaround adreno crash. r=gw On some Adreno 505 and 506 devices we are encountering driver crashes during glLinkProgram(). The only circumstance in which we have been able to reproduce locally is when the show-overdraw debug option is enabled. The reason appears to be that, due to shader optimisation, the debug overdraw variants of many shaders have identical source code. The crash seems to occur when linking a shader which has identical source code to a previously linked shader. This does not, however, explain the non-insignificant numbers of crashes in the wild because a) it's unlikely many users are enabling overdraw debugging, and b) some crash reports predate the commit which enabled shader optimisation. However, it is possible that for a different reason we are compiling multiple shaders with identical source code. To attempt to work around this crash this change adds a random comment to the end of each shader source string, on the affected devices. Differential Revision: https://phabricator.services.mozilla.com/D83571
697243e0434b814a992e1c9356f95517f4854b07: Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw,jrmuizel
Dzmitry Malyshau <dmalyshau@mozilla.com> - Wed, 15 Jul 2020 15:27:32 +0000 - rev 540553
Push 37604 by btara@mozilla.com at Wed, 15 Jul 2020 21:52:05 +0000
Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw,jrmuizel we only draw quads, and for quads we have a fixed vertex buffer with positions. If we get stop using instancing, we'll no longer have the luxury of 4 vertices there. Given that they are trivial to compute, it seems simpler to just do that in the shader today. So this PR is a required step on the way to instance-less rendering. It appears that we are hitting a driver bug with Intel on macOS, where scissored clears don't work properly if we render without per-vertex attributes. It doesn't make a ton of sense, but switching to quad clears appears to fix it for me. Added the corresponding entry to the wiki - https://github.com/servo/webrender/wiki/Driver-issues#bug-1652763---glitches-on-macos-intel-with-clears Differential Revision: https://phabricator.services.mozilla.com/D83391
bbe5ed51273b2a3a90c736b024f3e27cf01314aa: Bug 1609191 - Ensure shader sources are always unique to workaround adreno crash. r=gw
Jamie Nicol <jnicol@mozilla.com> - Wed, 15 Jul 2020 14:29:35 +0000 - rev 540527
Push 37604 by btara@mozilla.com at Wed, 15 Jul 2020 21:52:05 +0000
Bug 1609191 - Ensure shader sources are always unique to workaround adreno crash. r=gw On some Adreno 505 and 506 devices we are encountering driver crashes during glLinkProgram(). The only circumstance in which we have been able to reproduce locally is when the show-overdraw debug option is enabled. The reason appears to be that, due to shader optimisation, the debug overdraw variants of many shaders have identical source code. The crash seems to occur when linking a shader which has identical source code to a previously linked shader. This does not, however, explain the non-insignificant numbers of crashes in the wild because a) it's unlikely many users are enabling overdraw debugging, and b) some crash reports predate the commit which enabled shader optimisation. However, it is possible that for a different reason we are compiling multiple shaders with identical source code. To attempt to work around this crash this change adds a random comment to the end of each shader source string, on the affected devices. Differential Revision: https://phabricator.services.mozilla.com/D83571
fceb25f6286b91d972b6451599002f8f8846f3bc: Bug 1650984 - add invalidate_tile to WR Compositor interface. r=gw
Lee Salzman <lsalzman@mozilla.com> - Tue, 14 Jul 2020 20:49:01 +0000 - rev 540444
Push 37602 by dluca@mozilla.com at Wed, 15 Jul 2020 09:37:18 +0000
Bug 1650984 - add invalidate_tile to WR Compositor interface. r=gw This restructures the WR Compositor interface a bit to support compositing earlier in the frame. An invalidate_tile hook is added that gets called first to signal that some picture cache tiles will be modified later in the frame. The renderer then calls add_surface earlier before the picture cache tiles are updated, so that any tiles that aren't invalid can proceed to composite early before that. Finally, bind/unbind get called after so that it can work potentially work in parallel with any tiles that are already compositing early. Differential Revision: https://phabricator.services.mozilla.com/D82473
a23787eb4292aa25e06c907adfa1524c2dcd3857: Bug 1640960 - Always sort WR shader features r=jnicol,gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Tue, 14 Jul 2020 15:53:31 +0000 - rev 540400
Push 37600 by malexandru@mozilla.com at Tue, 14 Jul 2020 21:47:02 +0000
Bug 1640960 - Always sort WR shader features r=jnicol,gw I found it hard to understand the code that builds shader features, and even harder to modify it with a new feature. This PR refactors the shader building code by removing the macro and introducing a FeatureList abstraction, internally. It also sorts the features on both ends (alternatively, we could use a set). Differential Revision: https://phabricator.services.mozilla.com/D83455
ca1168e024b901c0c8cd1a8d3f2183b166b45806: Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw
Dzmitry Malyshau <dmalyshau@mozilla.com> - Mon, 13 Jul 2020 21:29:16 +0000 - rev 540265
Push 37596 by abutkovits@mozilla.com at Tue, 14 Jul 2020 03:18:58 +0000
Bug 1640960 - Remove aPosition from all shaders, except debug ones r=gw we only draw quads, and for quads we have a fixed vertex buffer with positions. If we get stop using instancing, we'll no longer have the luxury of 4 vertices there. Given that they are trivial to compute, it seems simpler to just do that in the shader today. So this PR is a required step on the way to instance-less rendering. Differential Revision: https://phabricator.services.mozilla.com/D83391
7d7ec58e0aa2166d965b9c918a468d72ee9be2a5: Bug 1650801 - Panic instead of failing gracefully if FreeType failed to initialize. r=gw
Jeff Muizelaar <jmuizelaar@mozilla.com> - Tue, 07 Jul 2020 23:35:48 +0000 - rev 539232
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1650801 - Panic instead of failing gracefully if FreeType failed to initialize. r=gw Bug 1650662 makes us RELEASE_ASSERT on FreeType initialization earlier so I think it's unlikely that we ever hit this case in the future. Differential Revision: https://phabricator.services.mozilla.com/D82390
0c66738c192611f1d3ece22e1cf4700d6c8b7bd5: Bug 1650403 - Skip invisible clusters in the batching pass. r=gw
Nicolas Silva <nsilva@mozilla.com> - Mon, 06 Jul 2020 08:43:15 +0000 - rev 539064
Push 37577 by abutkovits@mozilla.com at Tue, 07 Jul 2020 21:31:11 +0000
Bug 1650403 - Skip invisible clusters in the batching pass. r=gw Differential Revision: https://phabricator.services.mozilla.com/D82194
3c772420d61bbd25725c11e71ec9f83f31a0d5a9: Bug 1650403 - Skip invisible clusters in the prepare pass. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 05 Jul 2020 20:41:24 +0000 - rev 539063
Push 37577 by abutkovits@mozilla.com at Tue, 07 Jul 2020 21:31:11 +0000
Bug 1650403 - Skip invisible clusters in the prepare pass. r=gw Differential Revision: https://phabricator.services.mozilla.com/D82192
6555b65ef4cc7f806ccde003928b690e4c63573c: Bug 1650801 - Panic instead of failing gracefully if FreeType failed to initialize. r=gw
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 06 Jul 2020 20:27:38 +0000 - rev 538962
Push 37576 by ncsoregi@mozilla.com at Tue, 07 Jul 2020 09:47:47 +0000
Bug 1650801 - Panic instead of failing gracefully if FreeType failed to initialize. r=gw Bug 1650662 makes us RELEASE_ASSERT on FreeType initialization earlier so I think it's unlikely that we ever hit this case in the future. Differential Revision: https://phabricator.services.mozilla.com/D82390
64c409b61b449463fce5f8d89ddba2f0ea76c5ae: Bug 1650359 - Move GpuCacheHandle and GpuCacheAddress impls back close to their type definitions. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 05 Jul 2020 20:35:46 +0000 - rev 538867
Push 37573 by dluca@mozilla.com at Mon, 06 Jul 2020 16:32:20 +0000
Bug 1650359 - Move GpuCacheHandle and GpuCacheAddress impls back close to their type definitions. r=gw Depends on D82181 Differential Revision: https://phabricator.services.mozilla.com/D82182
b2993d373a3d43e7688e20cef7483f844cce209e: Bug 1650359 - Move SpaceMapper and SpaceSnapper into space.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 05 Jul 2020 20:35:08 +0000 - rev 538866
Push 37573 by dluca@mozilla.com at Mon, 06 Jul 2020 16:32:20 +0000
Bug 1650359 - Move SpaceMapper and SpaceSnapper into space.rs. r=gw Depends on D82180 Differential Revision: https://phabricator.services.mozilla.com/D82181
5b3e86bbe202b785c64cdc2b5068eb2be38791f8: Bug 1650359 - Move get_line_decoration_size into prim_store/line_dec.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 05 Jul 2020 20:34:50 +0000 - rev 538865
Push 37573 by dluca@mozilla.com at Mon, 06 Jul 2020 16:32:20 +0000
Bug 1650359 - Move get_line_decoration_size into prim_store/line_dec.rs. r=gw Depends on D82179 Differential Revision: https://phabricator.services.mozilla.com/D82180
00736dce16aa9b86252c4ef5141216c31ae5cb01: Bug 1650359 - Move get_raster_rects to picture.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Sun, 05 Jul 2020 20:34:32 +0000 - rev 538864
Push 37573 by dluca@mozilla.com at Mon, 06 Jul 2020 16:32:20 +0000
Bug 1650359 - Move get_raster_rects to picture.rs. r=gw It is only used there. Differential Revision: https://phabricator.services.mozilla.com/D82179
8deaca01428d9ff281089c80d15c1b7fbfb25670: Bug 1648703 - Use a custom vector growth pattern in PrimitiveList. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 01 Jul 2020 07:01:18 +0000 - rev 538152
Push 37559 by rmaries@mozilla.com at Wed, 01 Jul 2020 21:32:12 +0000
Bug 1648703 - Use a custom vector growth pattern in PrimitiveList. r=gw This greatly reduces the number of vector reallocations happening while building primitive lists. On the difficult cases like youtube front page the reduction is a bit more than 50%, and more in other pages I tested. More importantly it dramatically reduces the amount of the most expensive of these reallocations which are when the vector is starting to get large. Differential Revision: https://phabricator.services.mozilla.com/D81725
5655e4fec81d33bb71c01b37482b0061e53de915: Bug 1648323 - Skip the primitive if its clip mask does not intersect it. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 01 Jul 2020 07:01:18 +0000 - rev 538151
Push 37559 by rmaries@mozilla.com at Wed, 01 Jul 2020 21:32:12 +0000
Bug 1648323 - Skip the primitive if its clip mask does not intersect it. r=gw Differential Revision: https://phabricator.services.mozilla.com/D81700
45ef8e463b6ee4af10d09c6fd3be7a202644abd7: Bug 1642629 - Preallocate the batches and batch rects vectors. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:49:51 +0000 - rev 537116
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Preallocate the batches and batch rects vectors. r=gw It would be wasteful to preallocate all batch builders because the majority of them have only a single batch, while typically only one will will have many batches. Thankfully we can acurately guess which pictures will produce many batches by checking whether they have more than one cluster. Differential Revision: https://phabricator.services.mozilla.com/D80469
e891a846e7f31ca81271dfeff1b5c501a61f3111: Bug 1642629 - Reserve sorted polygon list before pushing know number of split planes into it. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:49:51 +0000 - rev 537115
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Reserve sorted polygon list before pushing know number of split planes into it. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80438
17684b39b0bac9bc1152f0057393c7ff8542a944: Bug 1642629 - Preallocate gpu cache texture vectors. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:49:13 +0000 - rev 537114
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Preallocate gpu cache texture vectors. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80437
dc3d4d706d116b62efea36c190287f778aedb201: Bug 1642629 - Regroup recycled data structures into scratch buffers. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:41:14 +0000 - rev 537107
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Regroup recycled data structures into scratch buffers. r=gw This change just restructures the recycling added in previouscommits. Differential Revision: https://phabricator.services.mozilla.com/D80096
6203b2994812ede5c700eaa968a5163cc621cc3a: Bug 1642629 - Recycle dirty_region_stack in FrameBuilder. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:40:41 +0000 - rev 537106
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Recycle dirty_region_stack in FrameBuilder. r=gw Differential Revision: https://phabricator.services.mozilla.com/D79858
9c4d5596e220df94aae6a0c7642a0751acb63831: Bug 1642629 - Recycle a couple of vectors in PictureUpdateState. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:40:24 +0000 - rev 537105
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Recycle a couple of vectors in PictureUpdateState. r=gw Differential Revision: https://phabricator.services.mozilla.com/D79857
93505e39bf57c56312fb7fc2a3cb33690aa68c1b: Bug 1642629 - Recycle the surface info vector in frame building. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 12:40:01 +0000 - rev 537104
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1642629 - Recycle the surface info vector in frame building. r=gw This vector is usually small, but on some pages it can be fairly large (500+ in https://forum.xda-developers.com/redmi-note-3/development for example). Differential Revision: https://phabricator.services.mozilla.com/D79855
eb37b6753d82daee2d81d19caccac333d6acf8b9: Bug 1647742 - Move the prepare pass out of prim_store/mod.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 09:04:09 +0000 - rev 537066
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1647742 - Move the prepare pass out of prim_store/mod.rs. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80692
42e0a75220262188ee410cd2a358a8d9541b4a98: Bug 1647742 - Move the visibility pass out of prim_store/mod.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 09:03:08 +0000 - rev 537065
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1647742 - Move the visibility pass out of prim_store/mod.rs. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80693
26fbdf4c708744a2f3a4201ba9c5b2823f0e3010: Bug 1647299 - Store a single array of primitives per prim list instead of per-cluster. r=gw
Nicolas Silva <nsilva@mozilla.com> - Wed, 24 Jun 2020 09:02:50 +0000 - rev 537064
Push 37536 by rmaries@mozilla.com at Wed, 24 Jun 2020 16:24:33 +0000
Bug 1647299 - Store a single array of primitives per prim list instead of per-cluster. r=gw After this change, clusters just keep a range of indices in the prim list's instance array. Differential Revision: https://phabricator.services.mozilla.com/D80461
47e04e14c6b5728c8ef60c96045178db4ad21f2b: Bug 1647742 - Move the prepare pass out of prim_store/mod.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Tue, 23 Jun 2020 19:24:54 +0000 - rev 536995
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647742 - Move the prepare pass out of prim_store/mod.rs. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80692
969b25c5e866bf69d07fe6ec70e93a5f0760a58f: Bug 1647742 - Move the visibility pass out of prim_store/mod.rs. r=gw
Nicolas Silva <nsilva@mozilla.com> - Tue, 23 Jun 2020 19:25:15 +0000 - rev 536994
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647742 - Move the visibility pass out of prim_store/mod.rs. r=gw Differential Revision: https://phabricator.services.mozilla.com/D80693
9d1a0336fbe65ac2277c77bab99908d5391abb88: Bug 1647299 - Store a single array of primitives per prim list instead of per-cluster. r=gw
Nicolas Silva <nsilva@mozilla.com> - Tue, 23 Jun 2020 19:24:11 +0000 - rev 536993
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647299 - Store a single array of primitives per prim list instead of per-cluster. r=gw After this change, clusters just keep a range of indices in the prim list's instance array. Differential Revision: https://phabricator.services.mozilla.com/D80461