зеркало из https://github.com/mozilla/gecko-dev.git
d4cbe654cd
* The existing code to detect if an image is dirty fails in some cases. For external images, they were not being added to the list of dirty images when update was called. Further, since the dirty image keys hash set was cleared each frame, it was possible for an image to become dirty, but this detection to be missed if it is not queried until a subsequent frame (due to it being off-screen. Instead, each image template has a generation identifier that is incremented whenever an image template is updated. The picture caching code stores the generation of the image key when it was rasterized, and compares that to the current image key generation when comparing dependencies. This fixes both cases above. * Remove the is_cacheable logic that was previously used to invalidate picture cache tiles for external images. This would result in picture cache images that intersect with videos being invalidated every frame unconditionally. However, this code path is no longer required, due to the change above. By relying on the true image dirty check, we can skip invalidating tiles affected by video if the video frame has not advanced (e.g. it is paused, or advancing at a lower frame rate than we are currently compositing at). Differential Revision: https://phabricator.services.mozilla.com/D55061 --HG-- extra : source : 93ccc760c4dd69f63d6ac171ace357b0dd31412a |
||
---|---|---|
.. | ||
2d | ||
angle | ||
cairo | ||
config | ||
docs | ||
gl | ||
graphite2 | ||
harfbuzz | ||
ipc | ||
layers | ||
ots | ||
qcms | ||
sfntly | ||
skia | ||
src | ||
tests | ||
thebes | ||
vr | ||
webrender_bindings | ||
wgpu | ||
wr | ||
ycbcr | ||
moz.build |