Update WR.

- Subpixel positioning improvements.
- Clipping fixes and optimizations.
- Fix panic when transform can't be inverted.
- Support multiple filters on single stacking context.
- Optimize gradients, support unlimited stops.
- Add external image + texture cache support.
- Support error path on shader compile error.
- Optimize border handling in texture atlas.
- Preliminary work towards clip/scroll root changes.
This commit is contained in:
Glenn Watson 2017-02-07 14:37:21 +10:00
parent db3e5be878
commit f1558b1c7b
9 changed files with 36 additions and 46 deletions

View file

@ -361,11 +361,6 @@ impl webrender_traits::RenderNotifier for RenderNotifier {
fn new_scroll_frame_ready(&mut self, composite_needed: bool) {
self.compositor_proxy.send(Msg::NewScrollFrameReady(composite_needed));
}
fn pipeline_size_changed(&mut self,
_: webrender_traits::PipelineId,
_: Option<webrender_traits::LayoutSize>) {
}
}
// Used to dispatch functions from webrender to the main thread's event loop.

View file

@ -229,8 +229,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
let glyph_offset = glyph.offset().unwrap_or(Point2D::zero());
let glyph = webrender_traits::GlyphInstance {
index: glyph.id(),
x: (origin.x + glyph_offset.x).to_f32_px(),
y: (origin.y + glyph_offset.y).to_f32_px(),
point: Point2D::new((origin.x + glyph_offset.x).to_f32_px(),
(origin.y + glyph_offset.y).to_f32_px()),
};
glyphs.push(glyph);
}
@ -354,7 +354,11 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
DisplayItem::PopStackingContext(_) => builder.pop_stacking_context(),
DisplayItem::PushScrollRoot(ref item) => {
builder.push_scroll_layer(item.scroll_root.clip.to_rectf(),
let clip = builder.new_clip_region(&item.scroll_root.clip.to_rectf(),
vec![],
None);
builder.push_scroll_layer(clip,
item.scroll_root.size.to_sizef(),
item.scroll_root.id.convert_to_webrender());
}

View file

@ -184,7 +184,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static {
clear_framebuffer: true,
clear_color: webrender_traits::ColorF::new(1.0, 1.0, 1.0, 1.0),
render_target_debug: false,
}).unwrap()
}).expect("Unable to initialize webrender!")
};
// Important that this call is done in a single-threaded fashion, we