searching for reviewer(bas)
423c08523aa92bcbd5587771ca1dd6720c6d2884: Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
Ryan Hunt <rhunt@eqrion.net> - Tue, 31 Jul 2018 17:47:51 -0500 - rev 828172
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas This commit exposes a method on DrawTargetCapture to see if it has captured any drawing commands. This allows us to not dispatch paint tasks if they will do nothing. Ideally these tasks would execute instantly on the PaintThread, and we would never delay sending the layer transaction or block on the next paint, but with thread starvation and context switches it's best to just not send them. MozReview-Commit-ID: 7ywkEDBw6EX
2b95cb0f33ea440b0301d25b462b033a01e81c75: Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
Ryan Hunt <rhunt@eqrion.net> - Thu, 26 Jul 2018 16:33:07 -0500 - rev 828171
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas This commit adds the ability to create a different kind of DrawTargetCapture which has a limit on the size of which its CaptureCommandList can grow before it is synchronously flushed to its destination DrawTarget. Special care is taken to not do a sync flush until we would need to resize the backing store of the CaptureCommandList. This allows us to not waste memory we've already allocated. The async painting content clients are updated to use it, and get a default value from a new preference. MozReview-Commit-ID: CJL7ffvaRzR
f07a1e9cbab30755c76e3c1334b7d78aee1fb4e3: Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:50:32 -0500 - rev 828169
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas This commit adds a buffer unrotate operation to DrawTarget. It's initially implemented with LockBits in DrawTarget. DrawTargetDual overrides the implementation to pass on the operation to it's DrawTargets. No override is given for DrawTargetCapture as we intentionally avoid this code path when async painting as it can fail. This is needed so that RotatedBuffer can expose a single DrawTarget, which can be a DrawTarget (for normal alpha), DrawTargetDual (for component alpha), or DrawTargetCapture (when async painting). MozReview-Commit-ID: csjjZ733hl
1fb06d46b562f86af248aeda9aa721372014ceab: Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:49:19 -0500 - rev 828168
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas This commit adds the ability to create a SourceSurfaceDual directly, instead of only from a DrawTargetDual. This allows SourceRotatedBuffer to expose itself as a single SourceSurface for a later commit. MozReview-Commit-ID: K21K42cGDy1
caa552d03ce8719a138044afb1bab409bd2cd47a: Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:45:35 -0500 - rev 828164
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas This commit changes the behavior of DrawTargetDual::Clear to be aware that it has on-white and on-black buffers, and perform clearing appropriately. This is slightly against what the DrawTarget documentation says the method should do, but it allows us to move another paint thread operation into DrawTargetCapture and simplify our ContentClient implementations. I haven't seen any obvious breakage with this, and reftests are green. An alternative would be to add a separate Clear method with documented difference here. MozReview-Commit-ID: 65CzcxlRqv7
61ebda8713d36f89af5435cc2daa7d43accb93bd: Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:44:33 -0500 - rev 828163
Push 118647 by bmo:gl@mozilla.com at Fri, 10 Aug 2018 06:14:44 +0000
Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas This commit adds an operation to perform 'edge padding' on a draw target. By default this is performed using LockBits, but it's overriden in DrawTargetTiled and DrawTargetCapture to propagate the call so it functions correctly. This helps TiledContentClient move from applying this operation on a per texture client basis, to being able to do it on the DrawTargetTiled after painting. This in turn helps move all paint thread operations into DrawTargetCapture. MozReview-Commit-ID: 2ncOTxGXQfk
20673c6ceb3459c672b96cf92f71da0e1a3453a2: Bug 1481534 - avoid compiling nsRect SSE code on non-x86-ish architectures; r=Bas
Nathan Froyd <froydnj@mozilla.com> - Wed, 08 Aug 2018 09:24:08 -0400 - rev 827649
Push 118551 by bmo:mtigley@mozilla.com at Wed, 08 Aug 2018 15:37:58 +0000
Bug 1481534 - avoid compiling nsRect SSE code on non-x86-ish architectures; r=Bas
a360d3b8f76c660e1bf17193f3fe5389d1e9d0c9: Bug 1480620. Add DrawTargetOffset. r=bas
Jeff Muizelaar <jmuizelaar@mozilla.com> - Fri, 03 Aug 2018 10:48:37 -0400 - rev 827521
Push 118540 by bmo:bpostelnicu@mozilla.com at Wed, 08 Aug 2018 10:44:22 +0000
Bug 1480620. Add DrawTargetOffset. r=bas This adds a DrawTargetOffset which is basically a simplified DrawTargetTiled that only supports one tile. It useful for situations where Cairo's device offset was used previously. This also replaces WebRender's use of DrawTargetTiled which was just trying to apply offset. MozReview-Commit-ID: I33PB6CnHh0
7ae4c893867a5f7df81e0757d4b4a6a21cbc6986: Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
Ryan Hunt <rhunt@eqrion.net> - Tue, 31 Jul 2018 17:47:51 -0500 - rev 827247
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas This commit exposes a method on DrawTargetCapture to see if it has captured any drawing commands. This allows us to not dispatch paint tasks if they will do nothing. Ideally these tasks would execute instantly on the PaintThread, and we would never delay sending the layer transaction or block on the next paint, but with thread starvation and context switches it's best to just not send them. MozReview-Commit-ID: 7ywkEDBw6EX
b865a866fe5a3257615cb54b7e5e790cc9331988: Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
Ryan Hunt <rhunt@eqrion.net> - Thu, 26 Jul 2018 16:33:07 -0500 - rev 827246
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas This commit adds the ability to create a different kind of DrawTargetCapture which has a limit on the size of which its CaptureCommandList can grow before it is synchronously flushed to its destination DrawTarget. Special care is taken to not do a sync flush until we would need to resize the backing store of the CaptureCommandList. This allows us to not waste memory we've already allocated. The async painting content clients are updated to use it, and get a default value from a new preference. MozReview-Commit-ID: CJL7ffvaRzR
64cb50b227e0ae604653f03ce2e892493126392e: Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:50:32 -0500 - rev 827244
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas This commit adds a buffer unrotate operation to DrawTarget. It's initially implemented with LockBits in DrawTarget. DrawTargetDual overrides the implementation to pass on the operation to it's DrawTargets. No override is given for DrawTargetCapture as we intentionally avoid this code path when async painting as it can fail. This is needed so that RotatedBuffer can expose a single DrawTarget, which can be a DrawTarget (for normal alpha), DrawTargetDual (for component alpha), or DrawTargetCapture (when async painting). MozReview-Commit-ID: csjjZ733hl
392a724d5acd25854e871fa47335c4b938fe9ae1: Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:49:19 -0500 - rev 827243
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas This commit adds the ability to create a SourceSurfaceDual directly, instead of only from a DrawTargetDual. This allows SourceRotatedBuffer to expose itself as a single SourceSurface for a later commit. MozReview-Commit-ID: K21K42cGDy1
3dc47f17fa446bb7f2b5876753f8271a93c0e0c8: Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:45:35 -0500 - rev 827239
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas This commit changes the behavior of DrawTargetDual::Clear to be aware that it has on-white and on-black buffers, and perform clearing appropriately. This is slightly against what the DrawTarget documentation says the method should do, but it allows us to move another paint thread operation into DrawTargetCapture and simplify our ContentClient implementations. I haven't seen any obvious breakage with this, and reftests are green. An alternative would be to add a separate Clear method with documented difference here. MozReview-Commit-ID: 65CzcxlRqv7
699c954992f87db7fc792f5562090de42a8162cb: Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:44:33 -0500 - rev 827238
Push 118502 by bmo:mstriemer@mozilla.com at Tue, 07 Aug 2018 16:39:48 +0000
Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas This commit adds an operation to perform 'edge padding' on a draw target. By default this is performed using LockBits, but it's overriden in DrawTargetTiled and DrawTargetCapture to propagate the call so it functions correctly. This helps TiledContentClient move from applying this operation on a per texture client basis, to being able to do it on the DrawTargetTiled after painting. This in turn helps move all paint thread operations into DrawTargetCapture. MozReview-Commit-ID: 2ncOTxGXQfk
cd8a93b73eb8c786550bf9cfc64f41b349d81eef: Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Tue, 31 Jul 2018 17:47:51 -0500 - rev 827212
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas This commit exposes a method on DrawTargetCapture to see if it has captured any drawing commands. This allows us to not dispatch paint tasks if they will do nothing. Ideally these tasks would execute instantly on the PaintThread, and we would never delay sending the layer transaction or block on the next paint, but with thread starvation and context switches it's best to just not send them. MozReview-Commit-ID: 7ywkEDBw6EX
e1e6d0c88d3a2313178396b41a0e661a335159ba: Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Thu, 26 Jul 2018 16:33:07 -0500 - rev 827211
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas This commit adds the ability to create a different kind of DrawTargetCapture which has a limit on the size of which its CaptureCommandList can grow before it is synchronously flushed to its destination DrawTarget. Special care is taken to not do a sync flush until we would need to resize the backing store of the CaptureCommandList. This allows us to not waste memory we've already allocated. The async painting content clients are updated to use it, and get a default value from a new preference. MozReview-Commit-ID: CJL7ffvaRzR
8ec82b5f6bb1cb75b6c1a62307a24332bfa59e84: Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:50:32 -0500 - rev 827209
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas This commit adds a buffer unrotate operation to DrawTarget. It's initially implemented with LockBits in DrawTarget. DrawTargetDual overrides the implementation to pass on the operation to it's DrawTargets. No override is given for DrawTargetCapture as we intentionally avoid this code path when async painting as it can fail. This is needed so that RotatedBuffer can expose a single DrawTarget, which can be a DrawTarget (for normal alpha), DrawTargetDual (for component alpha), or DrawTargetCapture (when async painting). MozReview-Commit-ID: csjjZ733hl
2750882eb5e1389642edf8bcf6d616654e553019: Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:49:19 -0500 - rev 827208
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas This commit adds the ability to create a SourceSurfaceDual directly, instead of only from a DrawTargetDual. This allows SourceRotatedBuffer to expose itself as a single SourceSurface for a later commit. MozReview-Commit-ID: K21K42cGDy1
61357cb6424e0a7554e42702a0a18abb43678446: Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:45:35 -0500 - rev 827204
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas This commit changes the behavior of DrawTargetDual::Clear to be aware that it has on-white and on-black buffers, and perform clearing appropriately. This is slightly against what the DrawTarget documentation says the method should do, but it allows us to move another paint thread operation into DrawTargetCapture and simplify our ContentClient implementations. I haven't seen any obvious breakage with this, and reftests are green. An alternative would be to add a separate Clear method with documented difference here. MozReview-Commit-ID: 65CzcxlRqv7
8cb31d730b074e7d16bf74f5200daccc2b26df4a: Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:44:33 -0500 - rev 827203
Push 118496 by bmo:rhunt@eqrion.net at Tue, 07 Aug 2018 14:04:27 +0000
Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas This commit adds an operation to perform 'edge padding' on a draw target. By default this is performed using LockBits, but it's overriden in DrawTargetTiled and DrawTargetCapture to propagate the call so it functions correctly. This helps TiledContentClient move from applying this operation on a per texture client basis, to being able to do it on the DrawTargetTiled after painting. This in turn helps move all paint thread operations into DrawTargetCapture. MozReview-Commit-ID: 2ncOTxGXQfk
f62f59d9ba99f1950c0e27f1f09e078166cd58b5: Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Tue, 31 Jul 2018 17:47:51 -0500 - rev 827002
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas This commit exposes a method on DrawTargetCapture to see if it has captured any drawing commands. This allows us to not dispatch paint tasks if they will do nothing. Ideally these tasks would execute instantly on the PaintThread, and we would never delay sending the layer transaction or block on the next paint, but with thread starvation and context switches it's best to just not send them. MozReview-Commit-ID: 7ywkEDBw6EX
ff93976986b436d233575bbd32f0e6ca44306bd7: Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Thu, 26 Jul 2018 16:33:07 -0500 - rev 827001
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas This commit adds the ability to create a different kind of DrawTargetCapture which has a limit on the size of which its CaptureCommandList can grow before it is synchronously flushed to its destination DrawTarget. Special care is taken to not do a sync flush until we would need to resize the backing store of the CaptureCommandList. This allows us to not waste memory we've already allocated. The async painting content clients are updated to use it, and get a default value from a new preference. MozReview-Commit-ID: CJL7ffvaRzR
8018be4e52e64ed9b8be5f7661f0bb832d317320: Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:50:32 -0500 - rev 826999
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas This commit adds a buffer unrotate operation to DrawTarget. It's initially implemented with LockBits in DrawTarget. DrawTargetDual overrides the implementation to pass on the operation to it's DrawTargets. No override is given for DrawTargetCapture as we intentionally avoid this code path when async painting as it can fail. This is needed so that RotatedBuffer can expose a single DrawTarget, which can be a DrawTarget (for normal alpha), DrawTargetDual (for component alpha), or DrawTargetCapture (when async painting). MozReview-Commit-ID: csjjZ733hl
23153e156a9466daa1dd1bdae298dfda609041e9: Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:49:19 -0500 - rev 826998
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas This commit adds the ability to create a SourceSurfaceDual directly, instead of only from a DrawTargetDual. This allows SourceRotatedBuffer to expose itself as a single SourceSurface for a later commit. MozReview-Commit-ID: K21K42cGDy1
3d3782fe6a326e1db9461b9db2967a3faa1fbf10: Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:45:35 -0500 - rev 826994
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas This commit changes the behavior of DrawTargetDual::Clear to be aware that it has on-white and on-black buffers, and perform clearing appropriately. This is slightly against what the DrawTarget documentation says the method should do, but it allows us to move another paint thread operation into DrawTargetCapture and simplify our ContentClient implementations. I haven't seen any obvious breakage with this, and reftests are green. An alternative would be to add a separate Clear method with documented difference here. MozReview-Commit-ID: 65CzcxlRqv7
7d05fdccab30040bb43a73d71ddbbe1a85ebad85: Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:44:33 -0500 - rev 826993
Push 118434 by bmo:rhunt@eqrion.net at Mon, 06 Aug 2018 16:43:50 +0000
Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas This commit adds an operation to perform 'edge padding' on a draw target. By default this is performed using LockBits, but it's overriden in DrawTargetTiled and DrawTargetCapture to propagate the call so it functions correctly. This helps TiledContentClient move from applying this operation on a per texture client basis, to being able to do it on the DrawTargetTiled after painting. This in turn helps move all paint thread operations into DrawTargetCapture. MozReview-Commit-ID: 2ncOTxGXQfk
665b29ecf2968f042c66084c88afa7dc19c81659: Bug 1480620. Add DrawTargetOffset. r=Bas draft
Jeff Muizelaar <jmuizelaar@mozilla.com> - Fri, 03 Aug 2018 10:48:37 -0400 - rev 826472
Push 118335 by bmo:jmuizelaar@mozilla.com at Fri, 03 Aug 2018 20:57:55 +0000
Bug 1480620. Add DrawTargetOffset. r=Bas This adds a DrawTargetOffset which is basically a simplified DrawTargetTiled that only supports one tile. It useful for situations where Cairo's device offset was used previously. This also replaces WebRender's use of DrawTargetTiled which was just trying to apply offset. MozReview-Commit-ID: I33PB6CnHh0
a5165f1d9ee39236eafa78cb052b204b28404fad: Bug 1480620. Add DrawTargetOffset. r=Bas draft
Jeff Muizelaar <jmuizelaar@mozilla.com> - Fri, 03 Aug 2018 10:48:37 -0400 - rev 826324
Push 118291 by bmo:jmuizelaar@mozilla.com at Fri, 03 Aug 2018 15:03:55 +0000
Bug 1480620. Add DrawTargetOffset. r=Bas This adds a DrawTargetOffset which is basically a simplified DrawTargetTiled that only supports one tile. It useful for situations where Cairo's device offset was used previously. This also replaces WebRender's use of DrawTargetTiled which was just trying to apply offset. MozReview-Commit-ID: I33PB6CnHh0
f80f177061cb754fba49d78265750ea726c96fff: Bug 1476843 - Use FillRoundedRect instead of creating a path when possible. r?Bas draft
Matt Woodrow <mwoodrow@mozilla.com> - Thu, 19 Jul 2018 14:54:50 +1200 - rev 826209
Push 118270 by mwoodrow@mozilla.com at Fri, 03 Aug 2018 10:16:18 +0000
Bug 1476843 - Use FillRoundedRect instead of creating a path when possible. r?Bas MozReview-Commit-ID: 4H9DF57fEvg
1afb0170283ea9026e19b7a7ddd9980731d24f15: Bug 1474722 - Add a reftest. r=Bas
Nicolas Silva <nsilva@mozilla.com> - Wed, 01 Aug 2018 17:13:18 +0200 - rev 825550
Push 118129 by jhofmann@mozilla.com at Wed, 01 Aug 2018 22:38:13 +0000
Bug 1474722 - Add a reftest. r=Bas
1e28bd40def1b2af65ca747e9e6533242fca15d6: Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas
Nicolas Silva <nsilva@mozilla.com> - Wed, 01 Aug 2018 17:13:12 +0200 - rev 825549
Push 118129 by jhofmann@mozilla.com at Wed, 01 Aug 2018 22:38:13 +0000
Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas
0627a8c3cf3f661355f823a57582df632cbaca8f: Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Tue, 31 Jul 2018 17:47:51 -0500 - rev 825426
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas This commit exposes a method on DrawTargetCapture to see if it has captured any drawing commands. This allows us to not dispatch paint tasks if they will do nothing. Ideally these tasks would execute instantly on the PaintThread, and we would never delay sending the layer transaction or block on the next paint, but with thread starvation and context switches it's best to just not send them. MozReview-Commit-ID: 7ywkEDBw6EX
659bad5d7641a66fdbe51d89052f51f4ddf110a6: Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Thu, 26 Jul 2018 16:33:07 -0500 - rev 825425
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas This commit adds the ability to create a different kind of DrawTargetCapture which has a limit on the size of which its CaptureCommandList can grow before it is synchronously flushed to its destination DrawTarget. Special care is taken to not do a sync flush until we would need to resize the backing store of the CaptureCommandList. This allows us to not waste memory we've already allocated. The async painting content clients are updated to use it, and get a default value from a new preference. MozReview-Commit-ID: CJL7ffvaRzR
3eee9d5326711e7631ec0a3ecb30bdefab6bb499: Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:50:32 -0500 - rev 825423
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas This commit adds a buffer unrotate operation to DrawTarget. It's initially implemented with LockBits in DrawTarget. DrawTargetDual overrides the implementation to pass on the operation to it's DrawTargets. No override is given for DrawTargetCapture as we intentionally avoid this code path when async painting as it can fail. This is needed so that RotatedBuffer can expose a single DrawTarget, which can be a DrawTarget (for normal alpha), DrawTargetDual (for component alpha), or DrawTargetCapture (when async painting). MozReview-Commit-ID: csjjZ733hl
5b15b3564b1d7b6a0f12e8daa399f9e713064daa: Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:49:19 -0500 - rev 825422
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas This commit adds the ability to create a SourceSurfaceDual directly, instead of only from a DrawTargetDual. This allows SourceRotatedBuffer to expose itself as a single SourceSurface for a later commit. MozReview-Commit-ID: K21K42cGDy1
ff6ed32e817a372a00f7ce07478854d91becbdc3: Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:45:35 -0500 - rev 825418
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas This commit changes the behavior of DrawTargetDual::Clear to be aware that it has on-white and on-black buffers, and perform clearing appropriately. This is slightly against what the DrawTarget documentation says the method should do, but it allows us to move another paint thread operation into DrawTargetCapture and simplify our ContentClient implementations. I haven't seen any obvious breakage with this, and reftests are green. An alternative would be to add a separate Clear method with documented difference here. MozReview-Commit-ID: 65CzcxlRqv7
9ba685078e914ac6958a5f26e12dc5320ffe57bd: Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Wed, 01 Aug 2018 12:44:33 -0500 - rev 825417
Push 118104 by bmo:rhunt@eqrion.net at Wed, 01 Aug 2018 18:58:55 +0000
Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas This commit adds an operation to perform 'edge padding' on a draw target. By default this is performed using LockBits, but it's overriden in DrawTargetTiled and DrawTargetCapture to propagate the call so it functions correctly. This helps TiledContentClient move from applying this operation on a per texture client basis, to being able to do it on the DrawTargetTiled after painting. This in turn helps move all paint thread operations into DrawTargetCapture. MozReview-Commit-ID: 2ncOTxGXQfk
f86485d19c6968da7018bb1ac53becbb92349793: Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r=bas
Jamie Nicol <jnicol@mozilla.com> - Thu, 26 Jul 2018 15:23:19 +0100 - rev 824485
Push 117930 by bmo:jteh@mozilla.com at Tue, 31 Jul 2018 01:29:57 +0000
Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r=bas Rendering glyphs at many different rotations was causing the D2D glyph cache to grow very large. Calling EndDraw/BeginDraw will prune the cache, but is costly, so only do it for every 1000 glyphs. MozReview-Commit-ID: HUFpxDvYAzQ
f685d3ce04eb848a5c28c2d72ed91e9ae78d83ae: Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r?Bas draft
Jamie Nicol <jnicol@mozilla.com> - Thu, 26 Jul 2018 15:23:19 +0100 - rev 824273
Push 117853 by bmo:jnicol@mozilla.com at Mon, 30 Jul 2018 13:51:13 +0000
Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r?Bas Rendering glyphs at many different rotations was causing the D2D glyph cache to grow very large. Calling EndDraw/BeginDraw will prune the cache, but is costly, so only do it for every 1000 glyphs. MozReview-Commit-ID: HUFpxDvYAzQ
c1e307c1e6ec83a053ceeac73fef451eaf58346e: Bug 1477260 - Clip the rect in Matrix4x4TypedFlagged::TransformAndClipBounds, when transform is an identity matrix r=bas
Miko Mynttinen <mikokm@gmail.com> - Fri, 20 Jul 2018 17:28:37 +0200 - rev 821147
Push 117018 by bmo:sfoster@mozilla.com at Sat, 21 Jul 2018 04:05:10 +0000
Bug 1477260 - Clip the rect in Matrix4x4TypedFlagged::TransformAndClipBounds, when transform is an identity matrix r=bas MozReview-Commit-ID: 3a8vnl3K87n
fa10cee049d6c9aec11d3c01ef680b0710c5d459: Bug 1476843 - Use FillRoundedRect instead of creating a path when possible. r?Bas draft
Matt Woodrow <mwoodrow@mozilla.com> - Thu, 19 Jul 2018 14:54:50 +1200 - rev 820179
Push 116741 by mwoodrow@mozilla.com at Thu, 19 Jul 2018 02:55:28 +0000
Bug 1476843 - Use FillRoundedRect instead of creating a path when possible. r?Bas MozReview-Commit-ID: 4H9DF57fEvg
53d0bbb455cbe7b28f8303f70f781a98175a8f75: Bug 1474722 - Add a reftest. r=Bas
Nicolas Silva <nsilva@mozilla.com> - Fri, 13 Jul 2018 14:41:44 +0200 - rev 819900
Push 116685 by bmo:mstriemer@mozilla.com at Wed, 18 Jul 2018 18:52:47 +0000
Bug 1474722 - Add a reftest. r=Bas
315d75c42ef0ccb71074a97a9e15fbcae60d2dd8: Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas
Nicolas Silva <nsilva@mozilla.com> - Fri, 13 Jul 2018 14:40:58 +0200 - rev 819899
Push 116685 by bmo:mstriemer@mozilla.com at Wed, 18 Jul 2018 18:52:47 +0000
Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas
ecdadfc569de7eb19c8536c5229f27f6c016c01a: Bug 1471765 - Use ArenaAllocator in CaptureCommandList. r=bas draft
Ryan Hunt <rhunt@eqrion.net> - Mon, 16 Jul 2018 11:55:05 -0500 - rev 818840
Push 116367 by bmo:rhunt@eqrion.net at Mon, 16 Jul 2018 17:02:06 +0000
Bug 1471765 - Use ArenaAllocator in CaptureCommandList. r=bas MozReview-Commit-ID: 770MRToc5Bi
90c347a61bd56af575c2c812bac026e7ead65de2: Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r=bas,jnicol
Matt Woodrow <mwoodrow@mozilla.com> - Sun, 15 Jul 2018 20:26:46 +1200 - rev 818594
Push 116287 by cpeterson@mozilla.com at Sun, 15 Jul 2018 21:59:08 +0000
Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r=bas,jnicol MozReview-Commit-ID: EkqgSSLufnp
d48e40cba0b40df512ba0bf0a35f5f0fea9d0b9c: Bug 1372458 - Fold opacity into filter drawing rather than using a temporary surface. r=bas,mstange
Matt Woodrow <mwoodrow@mozilla.com> - Sat, 14 Jul 2018 15:25:49 +1200 - rev 818531
Push 116284 by hikezoe@mozilla.com at Sun, 15 Jul 2018 11:20:01 +0000
Bug 1372458 - Fold opacity into filter drawing rather than using a temporary surface. r=bas,mstange MozReview-Commit-ID: GOBTUhN7fcC
cbc05423051a79156bd66ce279e5c5df2eb3c640: Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r?Bas,miko draft
Matt Woodrow <mwoodrow@mozilla.com> - Sun, 15 Jul 2018 20:26:46 +1200 - rev 818509
Push 116281 by mwoodrow@mozilla.com at Sun, 15 Jul 2018 08:27:15 +0000
Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r?Bas,miko MozReview-Commit-ID: EkqgSSLufnp
93187c055dba6a24f32629f04b1120ec57e01aa5: Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r?Bas,miko draft
Matt Woodrow <mwoodrow@mozilla.com> - Sun, 15 Jul 2018 20:25:34 +1200 - rev 818508
Push 116280 by mwoodrow@mozilla.com at Sun, 15 Jul 2018 08:26:01 +0000
Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r?Bas,miko MozReview-Commit-ID: 8shczCOREFx
0036c609af9d4ef19804e206039ac5ccac1bd5f4: Bug 1372458 - Fold opacity into filter drawing rather than using a temporary surface. r?mstange,Bas draft
Matt Woodrow <mwoodrow@mozilla.com> - Sat, 14 Jul 2018 15:25:49 +1200 - rev 818488
Push 116270 by mwoodrow@mozilla.com at Sat, 14 Jul 2018 03:26:16 +0000
Bug 1372458 - Fold opacity into filter drawing rather than using a temporary surface. r?mstange,Bas MozReview-Commit-ID: GOBTUhN7fcC
a8f40ce410cb382b90b178ae58391af22bb4c37c: Bug 1475024 - Add Stringify overloads for RectAbsolute. r=bas
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 13 Jul 2018 09:51:43 -0400 - rev 818395
Push 116267 by bmo:prathikshaprasadsuman@gmail.com at Sat, 14 Jul 2018 00:43:27 +0000
Bug 1475024 - Add Stringify overloads for RectAbsolute. r=bas MozReview-Commit-ID: GLisM28IEVG