Bug 1508766 - Update webrender to commit 229436b578701fc74a009d6cedc6b2a3ae313f77 (WR PR #3331). r=kats
authorWR Updater Bot <graphics-team@mozilla.staktrace.com>
Wed, 21 Nov 2018 12:29:04 +0000
changeset 503897 a6d6337f6bada016703226a4d127bdef8936aca9
parent 503896 f5db5f1b269099e7900bebb64470aaf0e2213b58
child 503898 95a0973a373520f582880ac258e3d2ee7b1d914d
push id10290
push userffxbld-merge
push dateMon, 03 Dec 2018 16:23:23 +0000
treeherdermozilla-beta@700bed2445e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskats
bugs1508766
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1508766 - Update webrender to commit 229436b578701fc74a009d6cedc6b2a3ae313f77 (WR PR #3331). r=kats Differential Revision: https://phabricator.services.mozilla.com/D12534
gfx/webrender/src/spatial_node.rs
gfx/webrender_bindings/revision.txt
--- a/gfx/webrender/src/spatial_node.rs
+++ b/gfx/webrender/src/spatial_node.rs
@@ -186,18 +186,22 @@ impl SpatialNode {
         if new_offset == scrolling.offset {
             return false;
         }
 
         scrolling.offset = new_offset;
         true
     }
 
-    pub fn mark_uninvertible(&mut self) {
+    pub fn mark_uninvertible(
+        &mut self,
+        state: &TransformUpdateState,
+    ) {
         self.invertible = false;
+        self.coordinate_system_id = state.current_coordinate_system_id;
         self.world_content_transform = LayoutToWorldFastTransform::identity();
         self.world_viewport_transform = LayoutToWorldFastTransform::identity();
     }
 
     pub fn push_gpu_data(
         &mut self,
         transform_palette: &mut TransformPalette,
         node_index: SpatialNodeIndex,
@@ -216,29 +220,29 @@ impl SpatialNode {
         &mut self,
         state: &mut TransformUpdateState,
         coord_systems: &mut Vec<CoordinateSystem>,
         scene_properties: &SceneProperties,
     ) {
         // If any of our parents was not rendered, we are not rendered either and can just
         // quit here.
         if !state.invertible {
-            self.mark_uninvertible();
+            self.mark_uninvertible(state);
             return;
         }
 
         self.update_transform(state, coord_systems, scene_properties);
         self.transform_kind = self.world_content_transform.kind();
 
         // If this node is a reference frame, we check if it has a non-invertible matrix.
         // For non-reference-frames we assume that they will produce only additional
         // translations which should be invertible.
         match self.node_type {
             SpatialNodeType::ReferenceFrame(info) if !info.invertible => {
-                self.mark_uninvertible();
+                self.mark_uninvertible(state);
                 return;
             }
             _ => self.invertible = true,
         }
     }
 
     pub fn update_transform(
         &mut self,
--- a/gfx/webrender_bindings/revision.txt
+++ b/gfx/webrender_bindings/revision.txt
@@ -1,1 +1,1 @@
-6ffc7cfe02f2a914a7d4338510277988643cc441
+229436b578701fc74a009d6cedc6b2a3ae313f77