Bug 1514742 - Update webrender to commit ac6114d8198f90c7a7be40b80c5bd6f302a1bf4a (WR PR #3397). r=kats

https://github.com/servo/webrender/pull/3397

Differential Revision: https://phabricator.services.mozilla.com/D14742

--HG--
extra : moz-landing-system : lando
This commit is contained in:
WR Updater Bot 2018-12-17 16:03:09 +00:00
Родитель 2f639828d9
Коммит a527f95cbd
7 изменённых файлов: 27 добавлений и 10 удалений

Просмотреть файл

@ -1 +1 @@
d7f4f4a39ecfe5b35362f0f3b4daecc4cc253c3f
ac6114d8198f90c7a7be40b80c5bd6f302a1bf4a

Просмотреть файл

@ -898,6 +898,8 @@ impl ClipItemKey {
}
}
impl intern::InternDebug for ClipItemKey {}
#[derive(Debug)]
#[cfg_attr(feature = "capture", derive(Serialize))]
#[cfg_attr(feature = "replay", derive(Deserialize))]

Просмотреть файл

@ -19,7 +19,7 @@ use frame_builder::{ChasePrimitive, FrameBuilder, FrameBuilderConfig};
use glyph_rasterizer::FontInstance;
use hit_test::{HitTestingItem, HitTestingRun};
use image::simplify_repeated_primitive;
use intern::{Handle, Internable};
use intern::{Handle, Internable, InternDebug};
use internal_types::{FastHashMap, FastHashSet};
use picture::{Picture3DContext, PictureCompositeMode, PicturePrimitive, PrimitiveList};
use prim_store::{PrimitiveInstance, PrimitiveKeyKind};
@ -1045,7 +1045,7 @@ impl<'a> DisplayListFlattener<'a> {
) -> PrimitiveInstance
where
P: Internable<InternData=PrimitiveSceneData>,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
{
let offset = info.rect.origin.to_vector();
@ -1125,7 +1125,7 @@ impl<'a> DisplayListFlattener<'a> {
)
where
P: Internable<InternData = PrimitiveSceneData> + IsVisible,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
{
if prim.is_visible() {
@ -1152,7 +1152,7 @@ impl<'a> DisplayListFlattener<'a> {
)
where
P: Internable<InternData = PrimitiveSceneData> + IsVisible,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
ShadowItem: From<PendingPrimitive<P>>
{
@ -1182,7 +1182,7 @@ impl<'a> DisplayListFlattener<'a> {
)
where
P: Internable<InternData = PrimitiveSceneData>,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
{
let prim_instance = self.create_primitive(
@ -1917,7 +1917,7 @@ impl<'a> DisplayListFlattener<'a> {
)
where
P: Internable<InternData=PrimitiveSceneData> + CreateShadow,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
{
// Offset the local rect and clip rect by the shadow offset.
@ -1942,7 +1942,7 @@ impl<'a> DisplayListFlattener<'a> {
fn add_shadow_prim_to_draw_list<P>(&mut self, pending_primitive: PendingPrimitive<P>)
where
P: Internable<InternData = PrimitiveSceneData> + IsVisible,
P::Source: AsInstanceKind<Handle<P::Marker>>,
P::Source: AsInstanceKind<Handle<P::Marker>> + InternDebug,
DocumentResources: InternerMut<P>,
{
// For a normal primitive, if it has alpha > 0, then we add this

Просмотреть файл

@ -126,6 +126,10 @@ struct Item<T> {
data: T,
}
pub trait InternDebug {
fn on_interned(&self, _uid: ItemUid) {}
}
/// The data store lives in the frame builder thread. It
/// contains a free-list of items for fast access.
#[cfg_attr(feature = "capture", derive(Serialize))]
@ -252,7 +256,7 @@ where
impl<S, D, M> Interner<S, D, M>
where
S: Eq + Hash + Clone + Debug,
S: Eq + Hash + Clone + Debug + InternDebug,
M: Copy + Debug
{
/// Intern a data structure, and return a handle to
@ -309,6 +313,9 @@ where
_marker: PhantomData,
};
#[cfg(debug_assertions)]
data.on_interned(handle.uid);
// Store this handle so the next time it is
// interned, it gets re-used.
self.map.insert(data.clone(), handle);

Просмотреть файл

@ -9,7 +9,7 @@ use api::{
use display_list_flattener::{AsInstanceKind, IsVisible};
use frame_builder::FrameBuildingState;
use gpu_cache::{GpuCacheHandle, GpuDataRequest};
use intern::{DataStore, Handle, Internable, Interner, UpdateList};
use intern::{DataStore, Handle, Internable, InternDebug, Interner, UpdateList};
use prim_store::{BrushSegment, GradientTileRange};
use prim_store::{PrimitiveInstanceKind, PrimitiveOpacity, PrimitiveSceneData};
use prim_store::{PrimKeyCommonData, PrimTemplateCommonData, PrimitiveStore};
@ -76,6 +76,8 @@ impl LinearGradientKey {
}
}
impl InternDebug for LinearGradientKey {}
impl AsInstanceKind<LinearGradientDataHandle> for LinearGradientKey {
/// Construct a primitive instance that matches the type
/// of primitive key.
@ -333,6 +335,8 @@ impl RadialGradientKey {
}
}
impl InternDebug for RadialGradientKey {}
impl AsInstanceKind<RadialGradientDataHandle> for RadialGradientKey {
/// Construct a primitive instance that matches the type
/// of primitive key.

Просмотреть файл

@ -645,6 +645,8 @@ impl PrimitiveKey {
}
}
impl intern::InternDebug for PrimitiveKey {}
impl AsInstanceKind<PrimitiveDataHandle> for PrimitiveKey {
/// Construct a primitive instance that matches the type
/// of primitive key.

Просмотреть файл

@ -52,6 +52,8 @@ impl TextRunKey {
}
}
impl intern::InternDebug for TextRunKey {}
impl AsInstanceKind<TextRunDataHandle> for TextRunKey {
/// Construct a primitive instance that matches the type
/// of primitive key.