Closed Bug 1595014 Opened 2 years ago Closed 2 years ago

Part of search suggestions remain with WR partial present


(Core :: Graphics: WebRender, defect, P3)

Windows 10



Tracking Status
firefox75 --- verified


(Reporter: sotaro, Assigned: sotaro)




(5 files)

When WR partial present is enabled. There is a case that part of rendering is not updated correctly. Old rendering remained.

Steps to reproduce:


  • [1] Enable WebRender and partial present
    • pref gfx.webrender.all: true
    • pref gfx.webrender.max-partial-present-rects: 1
  • [2] Restart Firefox
  • [3] Type text in search bar
  • [4] Deselect/unfocus search bar by clicking bottom of content area

-Expected result
Search bar go way.

-Actual result
Bottom of search bar remained.

OS: Unspecified → Windows 10
Attached image screenshot

:gw, do you have an idea about how it could happen?

Flags: needinfo?(gwatson)

I can't reproduce this on my local win10 machine built against current m-c.

Does it happen for you every time or only intermittently? Any other ideas on how I could reproduce on my machine?

It's probably worth also logging out the dirty rect(s) that are being supplied by WR each frame and see if they seem to match what you would expect.

A screen capture with gfx.webrender.debug.picture-caching might also offer some clues. In particular, does the display list for the search results come from the content or parent process? It is part of the main WR instance, is that right (i.e. not a separate window + WR instance)?

Flags: needinfo?(gwatson)
Blocks: 1595438

The priority flag is not set for this bug.
:jbonisteel, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jbonisteel)
Flags: needinfo?(jbonisteel)
Priority: -- → P3

No idea if this helps, but I once had a bug like that when I still had document splitting enabled.

Assignee: nobody → sotaro.ikeda.g
Attachment #9126005 - Attachment description: Bug 1595014 - Make dirty rects are invalid when old tiles remain → Bug 1595014 - Make dirty rects are invalid when old tiles were dropped

composite_simple() calculates combined dirty rect from all tile's dirty rect. But the combined dirty rect becomes invalid when there is a tile that is not used that was used before.

Pushed by
Make dirty rects are invalid when old tiles were dropped r=gw
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
Attached image firefox.png

This doesn't seem fixed for me. See screenshot.

Attached file

Attaching a capture of when it happened.

Resolution: FIXED → ---

I confirmed that the problem happened. Though, teproducing the problem became more difficult than before.

It seemed that the problem seemed to happen by a different cause than Attachment 9126005 [details]. Attachment 9126005 [details] addressed a problem during dropping tiles.

Pushed by
Make dirty rects are invalid when all tiles of retained_tiles are not re-used r=gw
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Flags: qe-verify+

I have reproduced this issue using Firefox 72.0a1 (2019.11.08) on Win 10 x64.
I can confirm it is fixed, I verified using Firefox 75.0b7, on Windows 10 x64.

Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.