Bug 1632443 - Fix pinch-zoom rendering when partial present is enabled. r=sotaro

WR currently disables picture caching during a pinch-zoom, if the
native compositor is disabled (since there's no real performance
gain to be had from caching tiles during a pinch-zoom).

However, this code path was not returning a dirty rect to the
caller code. For callers that take advantage of partial present,
this meant the screen was assumed to have no changes, and so
the swapbuffers is skipped incorrectly.

Differential Revision: https://phabricator.services.mozilla.com/D76081
This commit is contained in:
Glenn Watson 2020-05-20 05:33:06 +00:00
Родитель 7d4f598530
Коммит d175aa9dae
1 изменённых файлов: 7 добавлений и 0 удалений

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

@ -5887,6 +5887,13 @@ impl Renderer {
None);
}
// If picture caching is disabled, we will be drawing the entire
// framebuffer. In that case, we need to push a screen size dirty
// rect, in case partial present is enabled (an empty array of
// dirty rects when partial present is enabled is interpreted by
// Gecko as meaning nothing has changed and a swap is not required).
results.dirty_rects.push(frame.device_rect);
self.draw_color_target(
draw_target,
main_target,