Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upspatial-node: Flatten transforms properly. #3401
Conversation
|
Looks like the taskcluster failure may be a flake:
|
Yeah that's mozilla/sccache#344 |
|
Looks good in general, thank you!
webrender/src/spatial_node.rs, line 495 at r1 (raw file):
if we do have perspective, shouldn't we flatten anyway (for webrender/src/util.rs, line 573 at r1 (raw file):
I don't understand this part. Copy depends on Clone, but you implement Clone as a copy operation? wrench/reftests/transforms/reftest.list, line 20 at r1 (raw file):
would probably make more sense to provide a wrench/src/yaml_frame_reader.rs, line 1558 at r1 (raw file):
don't we already read it in some place? (just a minor concern to avoid code duplication) |
webrender/src/spatial_node.rs, line 495 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
No, perspective is a bit special because of how we represent it in Gecko. My patches for the perspective scrolling stuff will make this clearer. But basically anything with perspective != [I] will only contain a single transformed webrender/src/util.rs, line 573 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Yeah, this is just a trick to implement it without duplicating code, it can also be used to copy arrays that are bigger than 32 and other nice things :) I need the implementation to be separate or to add bounds so that wrench/reftests/transforms/reftest.list, line 20 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Sure, I'll do both the wrench/src/yaml_frame_reader.rs, line 1558 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Yeah, on the caller, but the same way we read transform-origin a bit below. We could pass the values from the caller I guess, but they're quite a few actually, and it probably warrants a different PR. |
webrender/src/spatial_node.rs, line 495 at r1 (raw file): Previously, emilio (Emilio Cobos Álvarez) wrote…
if that's the assumption at this spot, let's assert on it? webrender/src/util.rs, line 573 at r1 (raw file): Previously, emilio (Emilio Cobos Álvarez) wrote…
I don't understand how this makes sense. Could you refer me to some documentation? Copy requires Clone, you shouldn't be able to implement Clone by Copy. |
webrender/src/util.rs, line 573 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
we played with this a bit: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6d1650f4f5b4817c3ff7e3d2dcc7b4b8 TL:DR: this is a somewhat hacky way to introduce trait chains that don't require any specific implementations |
webrender/src/spatial_node.rs, line 495 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
I don't think I can assert on it without making Servo crash. As I said I have more patches that should make this clearer, and I could fix servo then. webrender/src/util.rs, line 573 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Sorry, was away on a CSS meeting. I assume this is fine as is? I can just do the manual cumbersome impl, but I'd rather not. |
|
@bors-servo r+ |
|
|
spatial-node: Flatten transforms properly. This fixes Gecko bug 1512537. Fixes #3394 <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3401) <!-- Reviewable:end -->
|
|
…b87f55765f57 (WR PR #3401). r=kats servo/webrender#3401 Differential Revision: https://phabricator.services.mozilla.com/D14353 --HG-- extra : moz-landing-system : lando
… r=kats This is the only Gecko side change needed for servo/webrender#3401. Differential Revision: https://phabricator.services.mozilla.com/D14247 --HG-- extra : moz-landing-system : lando
…b87f55765f57 (WR PR #3401). r=kats servo/webrender#3401 Differential Revision: https://phabricator.services.mozilla.com/D14353
… r=kats This is the only Gecko side change needed for servo/webrender#3401. Differential Revision: https://phabricator.services.mozilla.com/D14247
…b87f55765f57 (WR PR #3401). r=kats servo/webrender#3401 Differential Revision: https://phabricator.services.mozilla.com/D14353 UltraBlame original commit: 1da261b7f019321c54677afcefe19da35dec68e0
… r=kats This is the only Gecko side change needed for servo/webrender#3401. Differential Revision: https://phabricator.services.mozilla.com/D14247 UltraBlame original commit: 4a0097b6b670cd2b850b656c6d4192e4ae9b2049
…b87f55765f57 (WR PR #3401). r=kats servo/webrender#3401 Differential Revision: https://phabricator.services.mozilla.com/D14353 UltraBlame original commit: 1da261b7f019321c54677afcefe19da35dec68e0
… r=kats This is the only Gecko side change needed for servo/webrender#3401. Differential Revision: https://phabricator.services.mozilla.com/D14247 UltraBlame original commit: 4a0097b6b670cd2b850b656c6d4192e4ae9b2049
…b87f55765f57 (WR PR #3401). r=kats servo/webrender#3401 Differential Revision: https://phabricator.services.mozilla.com/D14353 UltraBlame original commit: 1da261b7f019321c54677afcefe19da35dec68e0
… r=kats This is the only Gecko side change needed for servo/webrender#3401. Differential Revision: https://phabricator.services.mozilla.com/D14247 UltraBlame original commit: 4a0097b6b670cd2b850b656c6d4192e4ae9b2049
emilio commentedDec 12, 2018
•
edited by larsbergstrom
This fixes Gecko bug 1512537.
Fixes #3394
This change is