Rename ReRenderMsg to RenderMsg

ReRenderMsg is also used for rendering the first time, so the name is
confusing.
This commit is contained in:
Cameron Zwarich 2014-08-05 11:19:24 -07:00
parent d5cb0b2cc1
commit 7a4b33258a
5 changed files with 41 additions and 41 deletions

View file

@ -6,7 +6,7 @@ use compositor_data::{CompositorData, DoesntWantScrollEvents, WantsScrollEvents}
use compositor_task::{Msg, CompositorTask, Exit, ChangeReadyState, SetIds, LayerProperties}; use compositor_task::{Msg, CompositorTask, Exit, ChangeReadyState, SetIds, LayerProperties};
use compositor_task::{GetGraphicsMetadata, CreateOrUpdateRootLayer, CreateOrUpdateDescendantLayer}; use compositor_task::{GetGraphicsMetadata, CreateOrUpdateRootLayer, CreateOrUpdateDescendantLayer};
use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete}; use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete};
use compositor_task::{ShutdownComplete, ChangeRenderState, ReRenderMsgDiscarded}; use compositor_task::{ShutdownComplete, ChangeRenderState, RenderMsgDiscarded};
use constellation::SendableFrameTree; use constellation::SendableFrameTree;
use events; use events;
use pipeline::CompositionPipeline; use pipeline::CompositionPipeline;
@ -26,7 +26,7 @@ use geom::point::{Point2D, TypedPoint2D};
use geom::rect::Rect; use geom::rect::Rect;
use geom::size::TypedSize2D; use geom::size::TypedSize2D;
use geom::scale_factor::ScaleFactor; use geom::scale_factor::ScaleFactor;
use gfx::render_task::{RenderChan, ReRenderMsg, ReRenderRequest, UnusedBufferMsg}; use gfx::render_task::{RenderChan, RenderMsg, RenderRequest, UnusedBufferMsg};
use layers::layers::{BufferRequest, Layer, LayerBufferSet}; use layers::layers::{BufferRequest, Layer, LayerBufferSet};
use layers::rendergl; use layers::rendergl;
use layers::rendergl::RenderContext; use layers::rendergl::RenderContext;
@ -90,8 +90,8 @@ pub struct IOCompositor {
/// Tracks whether we need to re-composite a page. /// Tracks whether we need to re-composite a page.
recomposite: bool, recomposite: bool,
/// Tracks outstanding ReRenderMsg's sent to the render tasks. /// Tracks outstanding render_msg's sent to the render tasks.
outstanding_rerendermsgs: uint, outstanding_render_msgs: uint,
/// Tracks whether the zoom action has happend recently. /// Tracks whether the zoom action has happend recently.
zoom_action: bool, zoom_action: bool,
@ -170,7 +170,7 @@ impl IOCompositor {
time_profiler_chan: time_profiler_chan, time_profiler_chan: time_profiler_chan,
memory_profiler_chan: memory_profiler_chan, memory_profiler_chan: memory_profiler_chan,
fragment_point: None, fragment_point: None,
outstanding_rerendermsgs: 0, outstanding_render_msgs: 0,
} }
} }
@ -282,8 +282,8 @@ impl IOCompositor {
self.change_render_state(render_state); self.change_render_state(render_state);
} }
(Ok(ReRenderMsgDiscarded), NotShuttingDown) => { (Ok(RenderMsgDiscarded), NotShuttingDown) => {
self.remove_outstanding_rerendermsg(); self.remove_outstanding_render_msg();
} }
(Ok(SetIds(frame_tree, response_chan, new_constellation_chan)), _) => { (Ok(SetIds(frame_tree, response_chan, new_constellation_chan)), _) => {
@ -312,7 +312,7 @@ impl IOCompositor {
for (layer_id, new_layer_buffer_set) in replies.move_iter() { for (layer_id, new_layer_buffer_set) in replies.move_iter() {
self.paint(pipeline_id, layer_id, new_layer_buffer_set, epoch); self.paint(pipeline_id, layer_id, new_layer_buffer_set, epoch);
} }
self.remove_outstanding_rerendermsg(); self.remove_outstanding_render_msg();
} }
(Ok(ScrollFragmentPoint(pipeline_id, layer_id, point)), NotShuttingDown) => { (Ok(ScrollFragmentPoint(pipeline_id, layer_id, point)), NotShuttingDown) => {
@ -338,30 +338,30 @@ impl IOCompositor {
} }
} }
fn has_rerendermsg_tracking(&self) -> bool { fn has_render_msg_tracking(&self) -> bool {
// only track ReRenderMsg's if the compositor outputs to a file. // only track RenderMsg's if the compositor outputs to a file.
self.opts.output_file.is_some() self.opts.output_file.is_some()
} }
fn has_outstanding_rerendermsgs(&self) -> bool { fn has_outstanding_render_msgs(&self) -> bool {
self.has_rerendermsg_tracking() && self.outstanding_rerendermsgs > 0 self.has_render_msg_tracking() && self.outstanding_render_msgs > 0
} }
fn add_outstanding_rerendermsg(&mut self, count: uint) { fn add_outstanding_render_msg(&mut self, count: uint) {
// return early if not tracking ReRenderMsg's // return early if not tracking render_msg's
if !self.has_rerendermsg_tracking() { if !self.has_render_msg_tracking() {
return; return;
} }
debug!("add_outstanding_rerendermsg {}", self.outstanding_rerendermsgs); debug!("add_outstanding_render_msg {}", self.outstanding_render_msgs);
self.outstanding_rerendermsgs += count; self.outstanding_render_msgs += count;
} }
fn remove_outstanding_rerendermsg(&mut self) { fn remove_outstanding_render_msg(&mut self) {
if !self.has_rerendermsg_tracking() { if !self.has_render_msg_tracking() {
return; return;
} }
if self.outstanding_rerendermsgs > 0 { if self.outstanding_render_msgs > 0 {
self.outstanding_rerendermsgs -= 1; self.outstanding_render_msgs -= 1;
} else { } else {
debug!("too many rerender msgs completed"); debug!("too many rerender msgs completed");
} }
@ -806,10 +806,10 @@ impl IOCompositor {
requests: Vec<(Rc<Layer<CompositorData>>, requests: Vec<(Rc<Layer<CompositorData>>,
Vec<BufferRequest>)>) -> Vec<BufferRequest>)>) ->
HashMap<PipelineId, (RenderChan, HashMap<PipelineId, (RenderChan,
Vec<ReRenderRequest>)> { Vec<RenderRequest>)> {
let scale = self.device_pixels_per_page_px(); let scale = self.device_pixels_per_page_px();
let mut results: let mut results:
HashMap<PipelineId, (RenderChan, Vec<ReRenderRequest>)> = HashMap::new(); HashMap<PipelineId, (RenderChan, Vec<RenderRequest>)> = HashMap::new();
for (layer, mut layer_requests) in requests.move_iter() { for (layer, mut layer_requests) in requests.move_iter() {
let pipeline_id = layer.extra_data.borrow().pipeline.id; let pipeline_id = layer.extra_data.borrow().pipeline.id;
@ -823,7 +823,7 @@ impl IOCompositor {
request.page_rect = request.page_rect / scale.get(); request.page_rect = request.page_rect / scale.get();
} }
vec.push(ReRenderRequest { vec.push(RenderRequest {
buffer_requests: layer_requests, buffer_requests: layer_requests,
scale: scale.get(), scale: scale.get(),
layer_id: layer.extra_data.borrow().id, layer_id: layer.extra_data.borrow().id,
@ -867,13 +867,13 @@ impl IOCompositor {
let pipeline_requests = let pipeline_requests =
self.convert_buffer_requests_to_pipeline_requests_map(layers_and_requests); self.convert_buffer_requests_to_pipeline_requests_map(layers_and_requests);
let mut num_rerendermsgs_sent = 0; let mut num_render_msgs_sent = 0;
for (_pipeline_id, (chan, requests)) in pipeline_requests.move_iter() { for (_pipeline_id, (chan, requests)) in pipeline_requests.move_iter() {
num_rerendermsgs_sent += 1; num_render_msgs_sent += 1;
let _ = chan.send_opt(ReRenderMsg(requests)); let _ = chan.send_opt(RenderMsg(requests));
} }
self.add_outstanding_rerendermsg(num_rerendermsgs_sent); self.add_outstanding_render_msg(num_render_msgs_sent);
} }
fn composite(&mut self) { fn composite(&mut self) {
@ -897,7 +897,7 @@ impl IOCompositor {
// Render to PNG. We must read from the back buffer (ie, before // Render to PNG. We must read from the back buffer (ie, before
// self.window.present()) as OpenGL ES 2 does not have glReadBuffer(). // self.window.present()) as OpenGL ES 2 does not have glReadBuffer().
if self.load_complete && self.ready_state == FinishedLoading if self.load_complete && self.ready_state == FinishedLoading
&& self.opts.output_file.is_some() && !self.has_outstanding_rerendermsgs() { && self.opts.output_file.is_some() && !self.has_outstanding_render_msgs() {
let (width, height) = (self.window_size.width.get(), self.window_size.height.get()); let (width, height) = (self.window_size.width.get(), self.window_size.height.get());
let path = from_str::<Path>(self.opts.output_file.get_ref().as_slice()).unwrap(); let path = from_str::<Path>(self.opts.output_file.get_ref().as_slice()).unwrap();
let mut pixels = gl2::read_pixels(0, 0, let mut pixels = gl2::read_pixels(0, 0,

View file

@ -122,8 +122,8 @@ impl RenderListener for CompositorChan {
} }
} }
fn rerendermsg_discarded(&self) { fn render_msg_discarded(&self) {
self.chan.send(ReRenderMsgDiscarded); self.chan.send(RenderMsgDiscarded);
} }
fn set_layer_clip_rect(&self, fn set_layer_clip_rect(&self,
@ -188,8 +188,8 @@ pub enum Msg {
ChangeReadyState(ReadyState), ChangeReadyState(ReadyState),
/// Alerts the compositor to the current status of rendering. /// Alerts the compositor to the current status of rendering.
ChangeRenderState(RenderState), ChangeRenderState(RenderState),
/// Alerts the compositor that the ReRenderMsg has been discarded. /// Alerts the compositor that the RenderMsg has been discarded.
ReRenderMsgDiscarded, RenderMsgDiscarded,
/// Sets the channel to the current layout and render tasks, along with their id /// Sets the channel to the current layout and render tasks, along with their id
SetIds(SendableFrameTree, Sender<()>, ConstellationChan), SetIds(SendableFrameTree, Sender<()>, ConstellationChan),
/// The load of a page for a given URL has completed. /// The load of a page for a given URL has completed.

View file

@ -5,7 +5,7 @@
use compositor_task::{Msg, Exit, ChangeReadyState, SetIds}; use compositor_task::{Msg, Exit, ChangeReadyState, SetIds};
use compositor_task::{GetGraphicsMetadata, CreateOrUpdateRootLayer, CreateOrUpdateDescendantLayer}; use compositor_task::{GetGraphicsMetadata, CreateOrUpdateRootLayer, CreateOrUpdateDescendantLayer};
use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete}; use compositor_task::{SetLayerClipRect, Paint, ScrollFragmentPoint, LoadComplete};
use compositor_task::{ShutdownComplete, ChangeRenderState, ReRenderMsgDiscarded}; use compositor_task::{ShutdownComplete, ChangeRenderState, RenderMsgDiscarded};
use geom::scale_factor::ScaleFactor; use geom::scale_factor::ScaleFactor;
use geom::size::TypedSize2D; use geom::size::TypedSize2D;
@ -92,7 +92,7 @@ impl NullCompositor {
CreateOrUpdateDescendantLayer(..) | CreateOrUpdateDescendantLayer(..) |
SetLayerClipRect(..) | Paint(..) | SetLayerClipRect(..) | Paint(..) |
ChangeReadyState(..) | ChangeRenderState(..) | ScrollFragmentPoint(..) | ChangeReadyState(..) | ChangeRenderState(..) | ScrollFragmentPoint(..) |
LoadComplete(..) | ReRenderMsgDiscarded(..) => () LoadComplete(..) | RenderMsgDiscarded(..) => ()
} }
} }
} }

View file

@ -50,7 +50,7 @@ pub struct RenderLayer {
pub scroll_policy: ScrollPolicy, pub scroll_policy: ScrollPolicy,
} }
pub struct ReRenderRequest { pub struct RenderRequest {
pub buffer_requests: Vec<BufferRequest>, pub buffer_requests: Vec<BufferRequest>,
pub scale: f32, pub scale: f32,
pub layer_id: LayerId, pub layer_id: LayerId,
@ -59,7 +59,7 @@ pub struct ReRenderRequest {
pub enum Msg { pub enum Msg {
RenderInitMsg(SmallVec1<RenderLayer>), RenderInitMsg(SmallVec1<RenderLayer>),
ReRenderMsg(Vec<ReRenderRequest>), RenderMsg(Vec<RenderRequest>),
UnusedBufferMsg(Vec<Box<LayerBuffer>>), UnusedBufferMsg(Vec<Box<LayerBuffer>>),
PaintPermissionGranted, PaintPermissionGranted,
PaintPermissionRevoked, PaintPermissionRevoked,
@ -237,19 +237,19 @@ impl<C:RenderListener + Send> RenderTask<C> {
self.epoch, self.epoch,
self.render_layers.as_slice()); self.render_layers.as_slice());
} }
ReRenderMsg(requests) => { RenderMsg(requests) => {
if !self.paint_permission { if !self.paint_permission {
debug!("render_task: render ready msg"); debug!("render_task: render ready msg");
let ConstellationChan(ref mut c) = self.constellation_chan; let ConstellationChan(ref mut c) = self.constellation_chan;
c.send(RendererReadyMsg(self.id)); c.send(RendererReadyMsg(self.id));
self.compositor.rerendermsg_discarded(); self.compositor.render_msg_discarded();
continue; continue;
} }
self.compositor.set_render_state(RenderingRenderState); self.compositor.set_render_state(RenderingRenderState);
let mut replies = Vec::new(); let mut replies = Vec::new();
for ReRenderRequest { buffer_requests, scale, layer_id, epoch } for RenderRequest { buffer_requests, scale, layer_id, epoch }
in requests.move_iter() { in requests.move_iter() {
if self.epoch == epoch { if self.epoch == epoch {
self.render(&mut replies, buffer_requests, scale, layer_id); self.render(&mut replies, buffer_requests, scale, layer_id);

View file

@ -105,7 +105,7 @@ pub trait RenderListener {
epoch: Epoch, epoch: Epoch,
replies: Vec<(LayerId, Box<LayerBufferSet>)>); replies: Vec<(LayerId, Box<LayerBufferSet>)>);
fn rerendermsg_discarded(&self); fn render_msg_discarded(&self);
fn set_render_state(&self, render_state: RenderState); fn set_render_state(&self, render_state: RenderState);
} }