searching for reviewer(nical)
3068b044418216fc7d108e2a1e7f84a7ddd8bcfd: Bug 1729813 - Update rayon to pick up a newer crossbeam version in style/webrender. r=nical, a=RyanVM
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 Sep 2021 16:37:04 +0000 - rev 660006
Push 15861 by ryanvm@gmail.com at Mon, 20 Sep 2021 18:24:56 +0000
Bug 1729813 - Update rayon to pick up a newer crossbeam version in style/webrender. r=nical, a=RyanVM It was downgraded to investigate some windows crashes which ended up being a crossbeam issue. So update it again to get fixes to some crossbeam races. Differential Revision: https://phabricator.services.mozilla.com/D125051
438c4a4cf4b3602ad0e589c4e35021b8b3f6133c: Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 30 Aug 2021 00:33:22 +0000 - rev 658981
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
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
1d332a5ff4f9e19bbd54e3b9c2f5d84f3d2b8bc7: Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 24 Aug 2021 02:18:51 +0000 - rev 658446
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
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
d93e8a61d52907c5b118471e417b83d7807b59b5: Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 22 Aug 2021 20:54:07 +0000 - rev 658324
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
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
5f2aff372a249f9841aa3b47807f87c2534d663a: Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 15 Aug 2021 20:44:03 +0000 - rev 657805
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
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
b97f1ccfbb1f9de4ae99b30903894e92cdfc7db9: Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical
Jamie Nicol <jnicol@mozilla.com> - Tue, 03 Aug 2021 15:47:35 +0000 - rev 656249
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical Currently each VAO owns its own VBO for per-instance array data. Prior to submitting each draw call that instance buffer is orphaned and a new one allocated at exactly the right size to contain the batch's data. This frequent reallocation appears to cause a rendering glitch on some Adreno 4xx devices, likely due to a bug in the driver's internal allocation/recycling code. It can also be expensive on some devices, as the drivers struggle with the overheads of allocating many small buffers much more than the cost of actually transferring the data. This patch makes it so that the VAOs no longer own an instance buffer each. Instead, they share a pool of buffers. This pool always allocates buffers large enough to hold the largest batch we allow. update_vao_instances() now writes data to the pool's current buffer until that buffer is full, and then either an old one will be recycled or a new one allocated. After writing to the buffer it must be bound to the VAO at the correct offset, and then the draw call is submitted. By manually managing the buffer lifecycles ourselves we avoid the glitches on Adreno 4xx, and also improve performance on some devices. Differential Revision: https://phabricator.services.mozilla.com/D121104
78c5d8124d557d7c2b864e29edaa866b9a3a0e1d: Bug 1722454 - Remove --disable-skia. r=firefox-build-system-reviewers,gfx-reviewers,nical,andi
Mike Hommey <mh+mozilla@glandium.org> - Thu, 29 Jul 2021 23:29:43 +0000 - rev 655698
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1722454 - Remove --disable-skia. r=firefox-build-system-reviewers,gfx-reviewers,nical,andi It has been unsupported since bug 1323303, > 4 years ago. This removes MOZ_ENABLE_SKIA but keeps USE_SKIA for moz2d for now Differential Revision: https://phabricator.services.mozilla.com/D120933
18d3ab530ed7ffa04ee9978f8ee9779887765f4a: Bug 1722838 - Add DisplayListPayload struct r=jrmuizel,gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Thu, 29 Jul 2021 20:23:30 +0000 - rev 655645
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
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
9c24c2012186b50449b3fab145bb1fb289cdbf04: Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical
Jamie Nicol <jnicol@mozilla.com> - Thu, 29 Jul 2021 15:59:13 +0000 - rev 655611
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1720169 - Pack instance data for multiple draw calls in to large fixed-size VBOs. r=gfx-reviewers,nical Currently each VAO owns its own VBO for per-instance array data. Prior to submitting each draw call that instance buffer is orphaned and a new one allocated at exactly the right size to contain the batch's data. This frequent reallocation appears to cause a rendering glitch on some Adreno 4xx devices, likely due to a bug in the driver's internal allocation/recycling code. It can also be expensive on some devices, as the drivers struggle with the overheads of allocating many small buffers much more than the cost of actually transferring the data. This patch makes it so that the VAOs no longer own an instance buffer each. Instead, they share a pool of buffers. This pool always allocates buffers large enough to hold the largest batch we allow. update_vao_instances() now writes data to the pool's current buffer until that buffer is full, and then either an old one will be recycled or a new one allocated. After writing to the buffer it must be bound to the VAO at the correct offset, and then the draw call is submitted. By manually managing the buffer lifecycles ourselves we avoid the glitches on Adreno 4xx, and also improve performance on some devices. Differential Revision: https://phabricator.services.mozilla.com/D121104
eb57374cd854ac0ab0771a976f224c04803ffa40: Bug 1717655 - Fix bevelRect size calculation r=nical
Miko Mynttinen <mikokm@gmail.com> - Wed, 21 Jul 2021 15:05:35 +0000 - rev 654914
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1717655 - Fix bevelRect size calculation r=nical Differential Revision: https://phabricator.services.mozilla.com/D119982
b181b8a09ecb720839b187341cb0e5b1420f84b5: Bug 1720624 - Remove WrSpaceAndClip type r=nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 18 Jul 2021 22:32:27 +0000 - rev 654494
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
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
063622f1a9b5bf4f4ab425fcf2ff67140d022578: Bug 1719668 - Do not force XFlush() on XRender r=jrmuizel,nical
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org> - Thu, 15 Jul 2021 08:56:20 +0000 - rev 654151
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1719668 - Do not force XFlush() on XRender r=jrmuizel,nical Differential Revision: https://phabricator.services.mozilla.com/D119557
f9d1a83398c0b340e4a56902c46acab4bfcaf344: Bug 1717655 - Fix bevelRect size calculation r=nical a=pascalc
Miko Mynttinen <mikokm@gmail.com> - Wed, 21 Jul 2021 15:05:35 +0000 - rev 653794
Push 15668 by pchevrel@mozilla.com at Mon, 26 Jul 2021 15:49:11 +0000
Bug 1717655 - Fix bevelRect size calculation r=nical a=pascalc Differential Revision: https://phabricator.services.mozilla.com/D119982
9cc1a9a1d0cfc5c2ac9b2c4949622bb9732c38f9: Bug 1719668 - Do not force XFlush() on XRender r=jrmuizel,nical a=pascalc
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org> - Thu, 15 Jul 2021 08:56:20 +0000 - rev 653701
Push 15623 by pchevrel@mozilla.com at Fri, 16 Jul 2021 15:29:34 +0000
Bug 1719668 - Do not force XFlush() on XRender r=jrmuizel,nical a=pascalc Differential Revision: https://phabricator.services.mozilla.com/D119557
735ba5802dabbe739a1f6ede60ec052bd17a5008: Bug 1655639 - Add support for transforms in the Draw compositor r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 22 Jun 2021 00:06:10 +0000 - rev 652319
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1655639 - Add support for transforms in the Draw compositor r=nical This allows the draw compositor to correctly work with the low quality pinch-zoom mode. It also allows handling more external surfaces as compositor surfaces, by allowing anything with a 2d scale and/or offset. The y-flip special casing is removed since it's handled by the general compositor transform support now. Differential Revision: https://phabricator.services.mozilla.com/D118318
6fb7293d19761b1997824164ba83ea686d7cc41d: Bug 1717028 - Fix webrender render target debug view. r=nical
Jamie Nicol <jnicol@mozilla.com> - Thu, 17 Jun 2021 15:12:47 +0000 - rev 652065
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1717028 - Fix webrender render target debug view. r=nical Over time the render target debug view has accidentally started displaying other texture cache textures too, and then not actually showing render targets. This makes it show only render target textures again, as intended. Differential Revision: https://phabricator.services.mozilla.com/D118187
fec78c0901acfedee50475acef7ccbf3cf9984dd: Bug 1713520 - Remove "else" after "return" in FindInflectionPoints r=nical
Richal Verma <richalverma00@gmail.com> - Thu, 17 Jun 2021 12:39:16 +0000 - rev 652037
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713520 - Remove "else" after "return" in FindInflectionPoints r=nical Differential Revision: https://phabricator.services.mozilla.com/D116436
bd4f35a7fca48abef24c6ad7d04de52900384951: Bug 1716695 - Add epsilon test for ScaleOffset keys in spatial node comparer r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Wed, 16 Jun 2021 08:11:27 +0000 - rev 651872
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1716695 - Add epsilon test for ScaleOffset keys in spatial node comparer r=gfx-reviewers,nical The values in ScaleOffset keys for the spatial node comparer can often have very small differences that are causing invalidations but are not going to affect the rendered content in any noticeable way. This is _probably_ mostly due to inaccuracies in the way we calculate the results in get_relative_transform. Instead of using the fast form parent.inverse().accumulate(child), we could instead traverse the tree from the parent, accumulating the local transforms. This would be slightly less efficient but could probably be cached. There may also be other sources of floating point inaccuracy that is introduced in the calculations, so for now we will ignore any changes which have a scale/translation change of < 0.001. Differential Revision: https://phabricator.services.mozilla.com/D117968
2bede4bf20098addbfe570c984652c6c8d091ff0: Bug 1674412 - Fix intermittent rounding accuracy bug. r=gfx-reviewers,nical
dev <dev@devs-MacBook-Pro.local> - Mon, 14 Jun 2021 20:12:09 +0000 - rev 651418
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1674412 - Fix intermittent rounding accuracy bug. r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D117616
6b1803f12b5deba434ec843c2e2ad767d0346e0f: Bug 1712290 - Re-enable webrender on Adreno 3xx Android 9 devices. r=gfx-reviewers,nical
Jamie Nicol <jnicol@mozilla.com> - Tue, 08 Jun 2021 09:43:44 +0000 - rev 650573
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1712290 - Re-enable webrender on Adreno 3xx Android 9 devices. r=gfx-reviewers,nical Webrender had previously been disabled on Adreno 3xx devices running Android 9 due to a rendering issue caused by a driver bug. (See bug 1712148) The issue has now been identified and a workaround put in place, so we can re-enable webrender. Depends on D117033 Differential Revision: https://phabricator.services.mozilla.com/D117034
cb827077b061179b0116e283a0796147017fd931: Bug 1712290 - Rebind VAO after VBO has been orphaned on Adreno 3xx. r=gfx-reviewers,nical
Jamie Nicol <jnicol@mozilla.com> - Tue, 08 Jun 2021 09:43:43 +0000 - rev 650572
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1712290 - Rebind VAO after VBO has been orphaned on Adreno 3xx. r=gfx-reviewers,nical Prior to making a draw call, we orphan the instance data VBO and upload the new instance data in to the new buffer. In cases where the new buffer is the same size as a previous one (as is the case when compositing picture cache tiles), the Adreno 3xx driver gets confused an appears to use the old orphaned data for the draw call. To work around this, manually unbind then rebind the VAO after the instance VBO has been orphaned. This tricks the driver in to using the new VBO. Differential Revision: https://phabricator.services.mozilla.com/D117033
14db817c9bf24ecd79be27577bec3d4733b35091: Bug 1714502 - Add regression test for get_relative_scale_offset r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 07 Jun 2021 19:59:16 +0000 - rev 650498
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1714502 - Add regression test for get_relative_scale_offset r=gfx-reviewers,nical This will ensure that when we re-land bug #1713544, it contains a fix for an assertion failure that occurs when two transforms are complex, but combined result in a 2d transform that we can handle as a compositor surface. Differential Revision: https://phabricator.services.mozilla.com/D116961
776bd55024c234427c6843e139e8baa13d36a3a8: Bug 1714081 - Add SafeIntersect. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Wed, 02 Jun 2021 16:02:53 +0000 - rev 650084
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1714081 - Add SafeIntersect. r=nical SafeIntersect handles overflow better. Differential Revision: https://phabricator.services.mozilla.com/D116605
47b6ea5eb945853f57efc0a08858500cc9624013: Bug 1716695 - Add epsilon test for ScaleOffset keys in spatial node comparer. r=gfx-reviewers,nical, a=jcristau
Glenn Watson <git@intuitionlibrary.com> - Wed, 16 Jun 2021 08:11:27 +0000 - rev 649748
Push 15559 by jcristau@mozilla.com at Fri, 18 Jun 2021 06:55:13 +0000
Bug 1716695 - Add epsilon test for ScaleOffset keys in spatial node comparer. r=gfx-reviewers,nical, a=jcristau The values in ScaleOffset keys for the spatial node comparer can often have very small differences that are causing invalidations but are not going to affect the rendered content in any noticeable way. This is _probably_ mostly due to inaccuracies in the way we calculate the results in get_relative_transform. Instead of using the fast form parent.inverse().accumulate(child), we could instead traverse the tree from the parent, accumulating the local transforms. This would be slightly less efficient but could probably be cached. There may also be other sources of floating point inaccuracy that is introduced in the calculations, so for now we will ignore any changes which have a scale/translation change of < 0.001. Differential Revision: https://phabricator.services.mozilla.com/D117968
01865637a3193d8ec892fc7b55fadff349e17aac: Bug 1712290 - Re-enable webrender on Adreno 3xx Android 9 devices. r=gfx-reviewers,nical, a=jcristau
Jamie Nicol <jnicol@mozilla.com> - Tue, 08 Jun 2021 09:43:44 +0000 - rev 649662
Push 15527 by jcristau@mozilla.com at Thu, 10 Jun 2021 16:56:37 +0000
Bug 1712290 - Re-enable webrender on Adreno 3xx Android 9 devices. r=gfx-reviewers,nical, a=jcristau Webrender had previously been disabled on Adreno 3xx devices running Android 9 due to a rendering issue caused by a driver bug. (See bug 1712148) The issue has now been identified and a workaround put in place, so we can re-enable webrender. Depends on D117033 Differential Revision: https://phabricator.services.mozilla.com/D117034
70f7ac3a0743989cb38645f56996f341e9649007: Bug 1712290 - Rebind VAO after VBO has been orphaned on Adreno 3xx. r=gfx-reviewers,nical, a=jcristau
Jamie Nicol <jnicol@mozilla.com> - Tue, 08 Jun 2021 09:43:43 +0000 - rev 649661
Push 15527 by jcristau@mozilla.com at Thu, 10 Jun 2021 16:56:37 +0000
Bug 1712290 - Rebind VAO after VBO has been orphaned on Adreno 3xx. r=gfx-reviewers,nical, a=jcristau Prior to making a draw call, we orphan the instance data VBO and upload the new instance data in to the new buffer. In cases where the new buffer is the same size as a previous one (as is the case when compositing picture cache tiles), the Adreno 3xx driver gets confused an appears to use the old orphaned data for the draw call. To work around this, manually unbind then rebind the VAO after the instance VBO has been orphaned. This tricks the driver in to using the new VBO. Differential Revision: https://phabricator.services.mozilla.com/D117033
f5e418186562641ecb8f590caa058467aced7982: Bug 1712659 - Remove unused pan APIs r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 25 May 2021 21:32:26 +0000 - rev 648805
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1712659 - Remove unused pan APIs r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D115856
4cf6c8af1f11ace3c90a2782b2cca1797746be5b: Bug 1712658 - Remove public API for setting global device pixel ratio r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 25 May 2021 21:32:26 +0000 - rev 648804
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1712658 - Remove public API for setting global device pixel ratio r=gfx-reviewers,nical Gecko always sets this to be 1.0 anyway, since various other parts of the code need to handle this differently for snapping purposes. This patch removes the public API parts, a follow up patch will simplify the internal code by removing handling of world -> device pixels. Differential Revision: https://phabricator.services.mozilla.com/D115855
5f5495a8dccc0c55600369df7cedf181dac47019: Bug 1641603 - Fix order of checks in nsLayoutUtils::SurfaceFromElement(HTMLVideoElement*). r=nical
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 25 May 2021 10:36:25 +0000 - rev 648726
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1641603 - Fix order of checks in nsLayoutUtils::SurfaceFromElement(HTMLVideoElement*). r=nical We do have a size even if we can't turn the image into a SourceSurface, and per spec in that case we shouldn't throw from CanvasRenderingContext2D::DrawImage. Note that per https://html.spec.whatwg.org/#check-the-usability-of-the-image-argument we should never ever throw for video anyways. Bug 1629381 covers that (I'll try to reland with android tests fixed). But this is correct and less invasive too. Differential Revision: https://phabricator.services.mozilla.com/D115823
d80f796241019eae85a70b5a986b8aa14861d946: Bug 1711786 - Fix NumPictureCacheInvalidated not showing up. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Wed, 19 May 2021 11:55:14 +0000 - rev 648150
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1711786 - Fix NumPictureCacheInvalidated not showing up. r=nical self.profiler doesn't have the data set in it yet so we need to use self.profile. Differential Revision: https://phabricator.services.mozilla.com/D115412
fa7b126a67b3e4e32e6010a3fe4bfcbcac3bf47b: Bug 1711490 - Stop using allocating a depth buffer for the main window. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 17 May 2021 19:54:35 +0000 - rev 647942
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1711490 - Stop using allocating a depth buffer for the main window. r=nical In bug 1696905 we removed our need for depth buffer when running the composite shader. Differential Revision: https://phabricator.services.mozilla.com/D115216
de598771f8a6202bf95fbdb20854419a6d0885e1: Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
Andrew Osmond <aosmond@mozilla.com> - Mon, 17 May 2021 18:45:02 +0000 - rev 647938
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical We don't support storing blob recordings in the surface cache at this time so we should never look at it. It is possible that one may request a blob recording, and have a previous rasterization available in the cache because it was used in canvas or as a repeating background image. We want to explicitly avoid the cache in that case. Differential Revision: https://phabricator.services.mozilla.com/D115136
7811b10f32a1f0ac9c0b1044e14850b2757ded3a: Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
Andrew Osmond <aosmond@mozilla.com> - Mon, 17 May 2021 15:59:40 +0000 - rev 647920
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical We don't support storing blob recordings in the surface cache at this time so we should never look at it. It is possible that one may request a blob recording, and have a previous rasterization available in the cache because it was used in canvas or as a repeating background image. We want to explicitly avoid the cache in that case. Differential Revision: https://phabricator.services.mozilla.com/D115136
66200d07c1d1b3c0c7aebba03345c0dbb19b4fb3: Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical
Andrew Osmond <aosmond@mozilla.com> - Mon, 17 May 2021 12:50:18 +0000 - rev 647897
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1711164 - Ensure we never use cached surfaces with blob recordings. r=gfx-reviewers,nical We don't support storing blob recordings in the surface cache at this time so we should never look at it. It is possible that one may request a blob recording, and have a previous rasterization available in the cache because it was used in canvas or as a repeating background image. We want to explicitly avoid the cache in that case. Differential Revision: https://phabricator.services.mozilla.com/D115136
2990e1f17a38cb69c3470b3173fac42f4412c1e5: Bug 1704792 - Part 1. Add SourceSurfaceBlobImage to manage the blob recording for SVG images. r=jrmuizel,nical
Andrew Osmond <aosmond@mozilla.com> - Thu, 13 May 2021 16:24:06 +0000 - rev 647722
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1704792 - Part 1. Add SourceSurfaceBlobImage to manage the blob recording for SVG images. r=jrmuizel,nical Differential Revision: https://phabricator.services.mozilla.com/D111835
3686cde7ffa5c2e76454dcbdca3d0159a75d11f3: Bug 1609191 - Disable webrender on devices affected by Adreno shader compilation crash. r=nical
Jamie Nicol <jnicol@mozilla.com> - Wed, 12 May 2021 13:03:51 +0000 - rev 647607
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1609191 - Disable webrender on devices affected by Adreno shader compilation crash. r=nical We encounter frequent crashes in glLinkProgram on some Adreno devices. This is likely due to a driver bug, but we have been unable to figure out the exact cause and work around it. According to the crash data, this bug appears to affect Adreno 505 and 506 devices running Android 9 only. Disable webrender on these devices in order to avoid the crash. Depends on D114949 Differential Revision: https://phabricator.services.mozilla.com/D114950
baa304ec5f8a5261bb32d7c43d9ad8cf6641283f: Bug 1609191 - Revert previous attempt to work around Adreno shader compilation crash. r=nical
Jamie Nicol <jnicol@mozilla.com> - Wed, 12 May 2021 13:03:51 +0000 - rev 647606
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1609191 - Revert previous attempt to work around Adreno shader compilation crash. r=nical On Adreno 505 and 506 devices we encounter frequent crashes when compiling shaders. We previously attempted to work around this by ensuring that the source strings were always unique, as we believed it may be due to buggy caching internally in the driver. This did not have any effect, however, so this patch reverts the attempted workaround. Differential Revision: https://phabricator.services.mozilla.com/D114949
63615880223d7ae61aaf6888b58a38d26aeee88b: Bug 1710336 - Deduplicate clip template ids when creating hit-test nodes. r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 10 May 2021 21:21:16 +0000 - rev 647426
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1710336 - Deduplicate clip template ids when creating hit-test nodes. r=gfx-reviewers,nical Ideally, we wouldn't need to de-duplicate clip ids here, this would be done at a higher level. However, due to the way we currently handle redundant stacking context clips, this is a significant performance win on some pages. For example, on the youtube.com home page, this drops the size of the hit-test clip nodes array from ~3800 to ~2200 per scene. This is still much higher than it should be, but this gives an immediate performance win while working on the more involved changes to handle this in a more optimal way. Differential Revision: https://phabricator.services.mozilla.com/D114705
bf5a86d347e29875b72b47fadc12f6f57e47ae2a: Bug 1709983 - Pt 4 - Remove DefineClip use from nsFieldSetFrame r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 10 May 2021 20:10:13 +0000 - rev 647413
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709983 - Pt 4 - Remove DefineClip use from nsFieldSetFrame r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D114568
4dcf407a22ffa7363f2d8d9b7f821afd510e20f9: Bug 1709983 - Pt 3 - Remove remaining WR uses of define_clip r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 10 May 2021 20:10:13 +0000 - rev 647412
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709983 - Pt 3 - Remove remaining WR uses of define_clip r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D114565
ebe60f78492a5bc44a4bfa066a5128269dcd40a0: Bug 1709983 - Pt 2 - Use DefinedRoundedRectClip for backdrop-filter r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 10 May 2021 20:10:12 +0000 - rev 647411
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709983 - Pt 2 - Use DefinedRoundedRectClip for backdrop-filter r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D114564
cbda9a6dfb9383e5d576e6b4015beee678971353: Bug 1709983 - Pt 1 - Remove PushClearRectWithComplexRegion. r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 10 May 2021 20:10:12 +0000 - rev 647410
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
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
2bd978d8912a86e0de0357204b888d7c74e0e466: Bug 1710347 - Call WebRenderBridgeParent::Destroy() in EraseLayerState() r=nical,gfx-reviewers
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 10 May 2021 08:28:51 +0000 - rev 647345
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1710347 - Call WebRenderBridgeParent::Destroy() in EraseLayerState() r=nical,gfx-reviewers EraseLayerState() call from CompositorBridgeParent::DeallocateLayerTreeId() does not destroy WebRenderBridgeParent. Differential Revision: https://phabricator.services.mozilla.com/D114712
2313d2ae746da30626334f5481624256feb1276d: Bug 1710335 - Add gfxCriticalNoteOnce to nsWindow::Resize() on Windows r=nical,gfx-reviewers
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 10 May 2021 08:28:16 +0000 - rev 647344
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1710335 - Add gfxCriticalNoteOnce to nsWindow::Resize() on Windows r=nical,gfx-reviewers When Bug 1701451 happened, Negative height was passed to nsWindow::Resize(). It is helpful to call gfxCriticalNoteOnce when it happens. Differential Revision: https://phabricator.services.mozilla.com/D114704
1cf17b2e8f9a50becc2f6b41d184bc7a06a9d585: Bug 1709606 - Rename CompositorWidget::AsX11() to CompositorWidget->AsGTK(), r=stransky,nical
Robert Mader <robert.mader@posteo.de> - Fri, 07 May 2021 12:31:28 +0000 - rev 646986
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709606 - Rename CompositorWidget::AsX11() to CompositorWidget->AsGTK(), r=stransky,nical Nowadays we often use it for Wayland, which is confusing. Also, it has a bunch of GTK specific functions, which an alternative X11 implementation would like not have. So a explicit name is probably deserved. Depends on D114424 Differential Revision: https://phabricator.services.mozilla.com/D114425
81336374197a9008af30582d0cd32cb9a34b017b: Bug 1709757 - Pt 3 - Remove WR internal code and APIs for debugger feature r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Fri, 07 May 2021 01:57:01 +0000 - rev 646938
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
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
7b3705bb10390d5c4c99a6f4e39662b0aad9e3a6: Bug 1709757 - Pt 2 - Remove debugger feature from WR bindings and vendored crates r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Thu, 06 May 2021 23:08:12 +0000 - rev 646929
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709757 - Pt 2 - Remove debugger feature from WR bindings and vendored crates r=gfx-reviewers,nical Differential Revision: https://phabricator.services.mozilla.com/D114446
fc06625235e7c55209e6ea6524601bb06cfd4b48: Bug 1709757 - Pt 1 - Remove debugger/ r=gfx-reviewers,nical
Glenn Watson <git@intuitionlibrary.com> - Thu, 06 May 2021 20:06:25 +0000 - rev 646911
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709757 - Pt 1 - Remove debugger/ r=gfx-reviewers,nical Remove the web debugger. Follow up patches will remove the WR code that supports the debugger. Differential Revision: https://phabricator.services.mozilla.com/D114444
bcca3ab5829283cc7d9c5ce28c466ce260b08934: Bug 1709548 - Don't clear backbuffer if dirty region is empty. r=nical
Jamie Nicol <jnicol@mozilla.com> - Wed, 05 May 2021 14:05:40 +0000 - rev 646712
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1709548 - Don't clear backbuffer if dirty region is empty. r=nical On Mali-G77 devices we have seen an flickering black bars appear on pages where we are compositing with an empty dirty region. In such cases we end up calling eglSetDamageRegion with an empty region, followed by glClear with an empty scissor rect. Technically calling eglSetDamageRegion with an empty dirty region is allowed, it just means you cannot render to the backbuffer at all that frame. The subsequent glClear call should therefore be fine since an empty scissor rect is set, but the Mali driver does not like it. This patch skips calling glClear altogether if the dirty region is empty, preventing the black bars from appearing. Differential Revision: https://phabricator.services.mozilla.com/D114346
2a14ded9e988fbdbf42e720b9b2abebdb77363ca: Bug 1707283 - Disable optimized shaders for all Mali-T devices. r=nical
Jamie Nicol <jnicol@mozilla.com> - Fri, 30 Apr 2021 09:01:45 +0000 - rev 646273
Push 15485 by ffxbld-merge at Mon, 31 May 2021 15:17:16 +0000
Bug 1707283 - Disable optimized shaders for all Mali-T devices. r=nical Previously we had disabled optimized shaders on Mali-T devices running Android versions up to 5.1, due to broken rendering. We have now had a report of the same issue on Android 7.1. As a precaution, disable optimized shaders for all Mali-T devices regardless of android version. Differential Revision: https://phabricator.services.mozilla.com/D113913