diff options
author | eschweic <eschweickart@mozilla.com> | 2013-08-09 10:46:26 -0700 |
---|---|---|
committer | Tim Kuehn <tkuehn@cmu.edu> | 2013-08-19 19:36:29 -0400 |
commit | 813bb2e43f68089b512b1f53fbdeaf40b39f5b4e (patch) | |
tree | 9c7b9499f7640c9e24c0f1b78acedc684afb3425 /src/components/gfx/render_task.rs | |
parent | 70cb58f2cf3553defd10ef344e33877453e350da (diff) | |
download | servo-813bb2e43f68089b512b1f53fbdeaf40b39f5b4e.tar.gz servo-813bb2e43f68089b512b1f53fbdeaf40b39f5b4e.zip |
Add Epoch newtype; address review comments
Diffstat (limited to 'src/components/gfx/render_task.rs')
-rw-r--r-- | src/components/gfx/render_task.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index 4521f9074e9..d91465ae583 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -8,7 +8,7 @@ use azure::{AzFloat, AzGLContext}; use azure::azure_hl::{B8G8R8A8, DrawTarget}; use display_list::DisplayList; use servo_msg::compositor_msg::{RenderListener, IdleRenderState, RenderingRenderState, LayerBuffer}; -use servo_msg::compositor_msg::{LayerBufferSet}; +use servo_msg::compositor_msg::{LayerBufferSet, Epoch}; use servo_msg::constellation_msg::PipelineId; use font_context::FontContext; use geom::matrix2d::Matrix2D; @@ -32,7 +32,7 @@ pub struct RenderLayer { pub enum Msg { RenderMsg(RenderLayer), - ReRenderMsg(~[BufferRequest], f32, PipelineId, uint), + ReRenderMsg(~[BufferRequest], f32, PipelineId, Epoch), PaintPermissionGranted, PaintPermissionRevoked, ExitMsg(Chan<()>), @@ -90,7 +90,7 @@ struct RenderTask<C> { /// Cached copy of last layers rendered last_paint_msg: Option<(arc::Arc<LayerBufferSet>, Size2D<uint>)>, /// A counter for epoch messages - epoch_counter: uint, + epoch: Epoch, } impl<C: RenderListener + Send> RenderTask<C> { @@ -125,7 +125,7 @@ impl<C: RenderListener + Send> RenderTask<C> { paint_permission: false, last_paint_msg: None, - epoch_counter: 0, + epoch: Epoch(0), }; render_task.start(); @@ -139,24 +139,24 @@ impl<C: RenderListener + Send> RenderTask<C> { match self.port.recv() { RenderMsg(render_layer) => { if self.paint_permission { - self.epoch_counter += 1; - self.compositor.set_layer_page_size(self.id, render_layer.size, self.epoch_counter); + self.epoch.next(); + self.compositor.set_layer_page_size(self.id, render_layer.size, self.epoch); } self.render_layer = Some(render_layer); } ReRenderMsg(tiles, scale, id, epoch) => { - if self.epoch_counter == epoch { + if self.epoch == epoch { self.render(tiles, scale, id); } else { - debug!("renderer epoch mismatch: %? != %?", self.epoch_counter, epoch); + debug!("renderer epoch mismatch: %? != %?", self.epoch, epoch); } } PaintPermissionGranted => { self.paint_permission = true; match self.render_layer { Some(ref render_layer) => { - self.epoch_counter += 1; - self.compositor.set_layer_page_size(self.id, render_layer.size, self.epoch_counter); + self.epoch.next(); + self.compositor.set_layer_page_size(self.id, render_layer.size, self.epoch); } None => {} } @@ -244,7 +244,7 @@ impl<C: RenderListener + Send> RenderTask<C> { debug!("render_task: returning surface"); if self.paint_permission { - self.compositor.paint(id, layer_buffer_set.clone(), self.epoch_counter); + self.compositor.paint(id, layer_buffer_set.clone(), self.epoch); } debug!("caching paint msg"); self.last_paint_msg = Some((layer_buffer_set, render_layer.size)); |