Bug 1564646 - Don't trigger composites on out-of-viewport external image updates r=gw

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
sotaro 2019-07-17 04:12:00 +00:00
parent b7d205a80b
commit fb8a03fa7c
2 changed files with 6 additions and 7 deletions

View File

@ -2427,6 +2427,10 @@ impl PicturePrimitive {
let tile = tile_cache.tiles.get_mut(key).expect("bug: no tile found!");
if tile.is_valid {
// Register active image keys of valid tile.
for image_key in tile.descriptor.image_keys.items() {
frame_state.resource_cache.set_image_active(*image_key);
}
continue;
}

View File

@ -16,7 +16,6 @@ use api::{IdNamespace, MemoryReport, PipelineId, RenderNotifier, SceneMsg, Scrol
use api::{ScrollLocation, ScrollNodeState, TransactionMsg, ResourceUpdate, BlobImageKey};
use api::{NotificationRequest, Checkpoint};
use api::{ClipIntern, FilterDataIntern, PrimitiveKeyKind};
use api::{ExternalImageType, ImageData};
use api::units::*;
use api::channel::{MsgReceiver, MsgSender, Payload};
#[cfg(feature = "capture")]
@ -1442,12 +1441,8 @@ impl RenderBackend {
if resource_updates.iter().any(|update| {
match update {
ResourceUpdate::UpdateImage(update_image) => {
if let ImageData::External(ext_image_data) = update_image.data {
if let ExternalImageType::TextureHandle(_) = ext_image_data.image_type {
if !resource_cache.is_image_active(update_image.key) {
return false;
}
}
if !resource_cache.is_image_active(update_image.key) {
return false;
}
true
}