-
Notifications
You must be signed in to change notification settings - Fork 306
Remove the tiling code. #750
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
r? @kvark Sorry for the large patch! |
3763fda to
9f2bfb9
Compare
|
☔ The latest upstream changes (presumably #754) made this pull request unmergeable. Please resolve the merge conflicts. |
2215c6c to
d8424dd
Compare
|
Review status: 0 of 20 files reviewed at latest revision, 10 unresolved discussions. webrender/res/prim_shared.glsl, line 150 at r1 (raw file):
nicely done! webrender/res/prim_shared.glsl, line 502 at r1 (raw file):
this is way clearer now, 👍 webrender/res/ps_composite.vs.glsl, line 12 at r1 (raw file):
hmm, this seem to diverge from the old code: webrender/res/ps_composite.vs.glsl, line 22 at r1 (raw file):
these webrender/src/renderer.rs, line 1062 at r1 (raw file):
ok, yes, this is a bit (too much) hacky webrender/src/renderer.rs, line 1115 at r1 (raw file):
why is this needed? webrender/src/tiling.rs, line 182 at r1 (raw file):
pretty sure you can get away without webrender/src/tiling.rs, line 430 at r1 (raw file):
I think using webrender/src/tiling.rs, line 652 at r1 (raw file):
what is the point of early-out here? I don't see any side effects in this inner loop body, so it doesn't seem like anything changes at all if we drop out early. Perhaps, you forgot to assign webrender/src/tiling.rs, line 2605 at r1 (raw file):
nit: could just check for Comments from Reviewable |
|
Reviewed 20 of 20 files at r1. Comments from Reviewable |
|
The change looks fantastic! I've got a few concerns to clarify before proceeding. Review status: all files reviewed at latest revision, 10 unresolved discussions. Comments from Reviewable |
|
Thanks for the review! I'll fix these up in the morning and push an updated / rebased version then. |
parts of the renderer that previously relied on tiling for efficiency.
d8424dd to
a9e3aec
Compare
|
Review status: 17 of 20 files reviewed at latest revision, 10 unresolved discussions. webrender/res/ps_composite.vs.glsl, line 12 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
The previous blend code worked on tiles only, so didn't need to take into account offsets of the stacking context within a render target. webrender/res/ps_composite.vs.glsl, line 22 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Yep - reading back from the framebuffer as we do now for composites is upside-down from rendering to a FBO and then sampling it as a texture. webrender/src/renderer.rs, line 1062 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Yep - I'm going to try and tidy this up today. It's a bit tricky since these values aren't known until quite late in the frame (once the render target allocation has been done). Have you got any suggestions on a cleaner way to do this? I could perhaps make specific structs and implement From on them, for the RenderTaskData, but I'm open to any other ideas here. webrender/src/renderer.rs, line 1115 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
It's not - fixed :) webrender/src/tiling.rs, line 182 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Fixed webrender/src/tiling.rs, line 430 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Changed to CopyFramebuffer - is that clearer? webrender/src/tiling.rs, line 652 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
What it's saying is that as soon as it encounters an intersection with something in the batch it's looking at, stop considering any of the other batches before that. Instead, we just force creation of a new batch in that case. webrender/src/tiling.rs, line 2605 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Fixed Comments from Reviewable |
|
Review status: 17 of 20 files reviewed at latest revision, 4 unresolved discussions. webrender/res/ps_composite.vs.glsl, line 22 at r1 (raw file): Previously, glennw (Glenn Watson) wrote…
why do we need to read it upside-down? webrender/src/renderer.rs, line 1062 at r1 (raw file): Previously, glennw (Glenn Watson) wrote…
I'm fine with this as a follow-up. And yes, looks like implementing Comments from Reviewable |
|
Review status: 17 of 20 files reviewed at latest revision, 4 unresolved discussions. webrender/res/ps_composite.vs.glsl, line 22 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
This is just the nature of how the GL coordinate system and glBlitFramebuffer works, as far as I know? webrender/src/renderer.rs, line 1062 at r1 (raw file): Previously, kvark (Dzmitry Malyshau) wrote…
Sounds good - I'll file a follow up bug to fix this then. Comments from Reviewable |
|
Reviewed 1 of 1 files at r2, 2 of 2 files at r3. webrender/res/ps_composite.vs.glsl, line 22 at r1 (raw file): Previously, glennw (Glenn Watson) wrote…
Well, glBlitFramebuffer doesn't flip anything upside down unless requested. And GL coordinate system shouldn't be a problem if we are using it consistently. But I don't want to push for any changes here if it works, we can revisit it later on. Comments from Reviewable |
|
@bors-servo r+ |
|
📌 Commit a9e3aec has been approved by |
Remove the tiling code. We now have solutions for all the parts of the renderer that previously relied on tiling for efficiency. <!-- 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/750) <!-- Reviewable:end -->
|
☀️ Test successful - status-travis |
We now have solutions for all the parts of the renderer that previously relied on tiling for
efficiency.
This change is