Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSync changes from mozilla-central gfx/wr #3970
Merged
Conversation
…? r=aosmond Bug 1635406 made it so that webrender snaps the offsets of animated transforms before accumulating them in to the reference frame transform. Unfortunately, however, this causes jittery animations. The original intention was just to snap the visual viewport offset when scrolling, to avoid excessive picture cache invalidation. To avoid this, make it so that we only snap for reference frames of kind ReferenceFrameKind::Zoom. This will mean that most animations are unaffected. There may however still be some jitter when zooming, but this is outweighed by the benefit of not invalidating picture cache tiles every frame when scrolling. Differential Revision: https://phabricator.services.mozilla.com/D77679 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/439f76e56ddad32bb90e4a734f95851ebfbc2a59
…t,kvark This patch removes two of the existing paths for evicting textures. One is no longer useful, and the other is over-zealous, and causes frame stalls. When the shared texture cache made use of variable layer counts, the `maybe_reclaim_shared_memory` method would look at the space in free layers, and if large enough, would clear the entire cache and rely on it being rebuilt implicitly as new requests occur. However, since we no longer resize the number of slices, this doesn't serve a useful purpose (the texture cache already frees any empty texture cache units at the end of each frame). The other method applies a conservative, periodic GC that occurs if no other GCs have run for five seconds. However, this is a very aggressive eviction that often evicts most of the shared cache, and was being run whenever the size of the texture cache was > 16 MB. The effect of this is that if you pause scrolling for a few seconds, and then scroll again, most of the cache gets evicted. Instead, completely remove this concept, relying on empty texture cache pages being freed and memory pressure events, and general cache eviction during frames. Differential Revision: https://phabricator.services.mozilla.com/D77402 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/5cc77ea38625158138620dea6d8ba0bfa6ed64b7
…s. r=nical,aosmond The logic for expanding the drop shadow clip rect was calling the `map_vector` method in the `ScaleOffset` struct. This method was incorrect (it was mapping the value as a point, including the offset). This is fixed by modifying the `map_vector` method to exclude the offset. However, the text run snapping code was also calling map_vector but expecting it to treat the value there as a point, so also introduce a `map_point` method and switch the text run code to use that. Differential Revision: https://phabricator.services.mozilla.com/D77397 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/f77b09a15a115913dc0eba1ff83168c65750e334
|
@bors-servo r=auto |
|
|
|
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
moz-gfx commentedJun 2, 2020
No description provided.