diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index e81f36162c0..d286bafe5ec 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -246,6 +246,8 @@ impl RenderTask { continue; } + self.compositor.set_render_state(RenderingRenderState); + let mut replies = Vec::new(); for ReRenderRequest { buffer_requests, scale, layer_id, epoch } in requests.move_iter() { @@ -256,6 +258,8 @@ impl RenderTask { } } + self.compositor.set_render_state(IdleRenderState); + debug!("render_task: returning surfaces"); self.compositor.paint(self.id, self.epoch, replies); } @@ -306,8 +310,6 @@ impl RenderTask { None => return, }; - self.compositor.set_render_state(RenderingRenderState); - // Divide up the layer into tiles. for tile in tiles.iter() { // Optimize the display list for this tile. @@ -444,7 +446,6 @@ impl RenderTask { }; replies.push((render_layer.id, layer_buffer_set)); - self.compositor.set_render_state(IdleRenderState); }) } }