зеркало из https://github.com/mozilla/gecko-dev.git
Bug 988370 - Don't use progressive/low precision rendering on fixed layers. r=mattwoodrow
Fixed layers don't async scroll, so it doesn't make sense for them to have a low precision region or for them to be rendered progressively.
This commit is contained in:
Родитель
ec55847d33
Коммит
537b992447
|
@ -216,13 +216,17 @@ ClientTiledThebesLayer::RenderLayer()
|
|||
ToClientLayer(GetMaskLayer())->RenderLayer();
|
||||
}
|
||||
|
||||
bool isFixed = GetIsFixedPosition() || GetParent()->GetIsFixedPosition();
|
||||
|
||||
// Fast path for no progressive updates, no low-precision updates and no
|
||||
// critical display-port set, or no display-port set.
|
||||
// critical display-port set, or no display-port set, or this is a fixed
|
||||
// position layer/contained in a fixed position layer
|
||||
const FrameMetrics& parentMetrics = GetParent()->GetFrameMetrics();
|
||||
if ((!gfxPrefs::UseProgressiveTilePainting() &&
|
||||
!gfxPrefs::UseLowPrecisionBuffer() &&
|
||||
parentMetrics.mCriticalDisplayPort.IsEmpty()) ||
|
||||
parentMetrics.mDisplayPort.IsEmpty()) {
|
||||
parentMetrics.mDisplayPort.IsEmpty() ||
|
||||
isFixed) {
|
||||
mValidRegion = mVisibleRegion;
|
||||
|
||||
NS_ASSERTION(!ClientManager()->IsRepeatTransaction(), "Didn't paint our mask layer");
|
||||
|
|
Загрузка…
Ссылка в новой задаче