mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Batch ReRenderRequests rather than render_task::Msg
Make get_buffer_requests_recursively create a ReRenderRequest rather than a ReRenderMsg, and have its caller create the ReRenderMsg from the ReRenderRequest.
This commit is contained in:
parent
5611e34379
commit
25e8077681
2 changed files with 7 additions and 7 deletions
|
@ -26,6 +26,7 @@ use geom::point::{Point2D, TypedPoint2D};
|
|||
use geom::rect::Rect;
|
||||
use geom::size::TypedSize2D;
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use gfx::render_task::ReRenderMsg;
|
||||
use layers::layers::LayerBufferSet;
|
||||
use layers::platform::surface::NativeCompositingGraphicsContext;
|
||||
use layers::rendergl;
|
||||
|
@ -750,8 +751,8 @@ impl IOCompositor {
|
|||
&self.graphics_context,
|
||||
rect,
|
||||
scale.get());
|
||||
for (chan, msg) in requests.move_iter() {
|
||||
let _ = chan.send_opt(msg);
|
||||
for (chan, request) in requests.move_iter() {
|
||||
let _ = chan.send_opt(ReRenderMsg(request));
|
||||
}
|
||||
self.recomposite = self.recomposite || recomposite;
|
||||
}
|
||||
|
|
|
@ -11,8 +11,7 @@ use geom::matrix::identity;
|
|||
use geom::point::TypedPoint2D;
|
||||
use geom::rect::Rect;
|
||||
use geom::size::{Size2D, TypedSize2D};
|
||||
use gfx::render_task;
|
||||
use gfx::render_task::{ReRenderMsg, ReRenderRequest, RenderChan, UnusedBufferMsg};
|
||||
use gfx::render_task::{ReRenderRequest, RenderChan, UnusedBufferMsg};
|
||||
use layers::layers::{Layer, Flip, LayerBuffer, LayerBufferSet, NoFlip, TextureLayer};
|
||||
use layers::quadtree::Tile;
|
||||
use layers::platform::surface::{NativeCompositingGraphicsContext, NativeSurfaceMethods};
|
||||
|
@ -121,7 +120,7 @@ impl CompositorData {
|
|||
|
||||
// Given the current window size, determine which tiles need to be (re-)rendered and sends them
|
||||
// off the the appropriate renderer. Returns true if and only if the scene should be repainted.
|
||||
pub fn get_buffer_requests_recursively(requests: &mut Vec<(RenderChan, render_task::Msg)>,
|
||||
pub fn get_buffer_requests_recursively(requests: &mut Vec<(RenderChan, ReRenderRequest)>,
|
||||
layer: Rc<Layer<CompositorData>>,
|
||||
graphics_context: &NativeCompositingGraphicsContext,
|
||||
window_rect: Rect<f32>,
|
||||
|
@ -139,12 +138,12 @@ impl CompositorData {
|
|||
//
|
||||
// FIXME(#2003, pcwalton): We may want to batch these up in the case in which
|
||||
// one page has multiple layers, to avoid the user seeing inconsistent states.
|
||||
let msg = ReRenderMsg(ReRenderRequest {
|
||||
let msg = ReRenderRequest {
|
||||
buffer_requests: request,
|
||||
scale: scale,
|
||||
layer_id: layer.extra_data.borrow().id,
|
||||
epoch: layer.extra_data.borrow().epoch,
|
||||
});
|
||||
};
|
||||
requests.push((layer.extra_data.borrow().pipeline.render_chan.clone(), msg));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue