|
|
Mozart: Ensure time always runs forward.
Completely redesigned how scene versions are resolved. The compositor
now maintains a queue of pending SceneContent objects in the Universe.
During snapshotting, it attempts to find the most recent unblocked
version of each scene traversed then discards all older ones. Only
the most recent unblocked version can then be used from that point
forward (even if a scene reference tries to specify an older version).
The implementation needs improvement. Basically the naive traversal
strategies are starting to fall apart even after some refactoring in
this change. We'll need to replace this with an incremental
invalidation mechanism, proper cross-scene dependency tracking, and
some kind of partitioning of the update/snapshot scheduling based on
scene reachability from the rendering roots.
But at least with this change, we're finally able to see how node
combinators enable interesting cross-scene synchronization strategies.
We're going Back to the Future!
BUG=
R=abarth@google.com
Committed: https://chromium.googlesource.com/external/mojo/+/9d4869f19f32ab1ef51c0f9336edda9b393cef71
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+522 lines, -291 lines) |
Patch |
 |
M |
mojo/services/gfx/composition/cpp/formatting.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
mojo/services/ui/views/cpp/formatting.cc
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/BUILD.gn
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/compositor_engine.h
|
View
|
|
3 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/compositor_engine.cc
|
View
|
|
8 chunks |
+22 lines, -18 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/nodes.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/nodes.cc
|
View
|
|
2 chunks |
+1 line, -16 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/resources.h
|
View
|
|
3 chunks |
+1 line, -14 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/resources.cc
|
View
|
|
1 chunk |
+2 lines, -7 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_content.h
|
View
|
|
6 chunks |
+23 lines, -9 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_content.cc
|
View
|
|
5 chunks |
+25 lines, -16 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_def.h
|
View
|
|
4 chunks |
+32 lines, -37 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_def.cc
|
View
|
|
8 chunks |
+41 lines, -38 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_label.h
|
View
|
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/scene_label.cc
|
View
|
1
2
|
2 chunks |
+16 lines, -7 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/snapshot.h
|
View
|
|
5 chunks |
+29 lines, -23 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/graph/snapshot.cc
|
View
|
|
6 chunks |
+47 lines, -95 lines |
0 comments
|
Download
|
 |
A |
services/gfx/compositor/graph/universe.h
|
View
|
|
1 chunk |
+103 lines, -0 lines |
0 comments
|
Download
|
 |
A |
services/gfx/compositor/graph/universe.cc
|
View
|
1
|
1 chunk |
+160 lines, -0 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/scene_state.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
services/gfx/compositor/scene_state.cc
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
Depends on Patchset:
Dependent Patchsets:
Total messages: 6 (2 generated)
|