Skip to content
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

async scene building breaks tile decomposition rawtests #2689

Closed
jrmuizel opened this issue Apr 25, 2018 · 4 comments
Closed

async scene building breaks tile decomposition rawtests #2689

jrmuizel opened this issue Apr 25, 2018 · 4 comments

Comments

@jrmuizel
Copy link
Contributor

@jrmuizel jrmuizel commented Apr 25, 2018

Running the rawtests with a patch like this:

diff --git a/webrender_api/src/api.rs b/webrender_api/src/api.rs
index 35a123bc..115534ba 100644
--- a/webrender_api/src/api.rs
+++ b/webrender_api/src/api.rs
@@ -151,21 +151,21 @@ pub struct Transaction {
     generate_frame: bool,
 }

 impl Transaction {
     pub fn new() -> Self {
         Transaction {
             scene_ops: Vec::new(),
             frame_ops: Vec::new(),
             resource_updates: ResourceUpdates::new(),
             payloads: Vec::new(),
-            use_scene_builder_thread: false, // TODO: make this true by default.
+            use_scene_builder_thread: true, // TODO: make this true by default.
             generate_frame: false,
         }
     }

gives

Shader override path: None
	hit testing test...
	retained blob images test...
	blob update test...
	blob update epoch test...
	tile decomposition...
thread 'WRRenderBackend#0' panicked at 'called `Option::unwrap()` on a `None` value', libcore/option.rs:335:21
note: Run with `RUST_BACKTRACE=1` for a backtrace.

@nical @staktrace

@staktrace
Copy link
Contributor

@staktrace staktrace commented Apr 25, 2018

It might be the same problem as #2686, although I wouldn't expect tile decomposition to switch an image between tiled and non-tiled? I don't really know this code, but nical said he'd look into this problem when he's back from training (so presumably tomorrow).

@nical
Copy link
Collaborator

@nical nical commented Apr 26, 2018

I had a look and what's actually happening here is that with async transactions we apply resource updates after scene building which makes sense, but we also rely on knowing which images are tiled during scene building to decompose them into several primitives if need be.

So this isn't #2686 although i suspect it is the real issue that made us realize we can have issues with images that change tiling when they are resized (without being recreated).

I am working on a patch to move decomposition out of scene building which should fix this.

@nical
Copy link
Collaborator

@nical nical commented May 14, 2018

This should be fixed now.

@nical
Copy link
Collaborator

@nical nical commented Jul 20, 2018

I checked and this is indeed fixed.

@nical nical closed this Jul 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.