Twitter animations flash green visual artifacts when looping with SWGL
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
People
(Reporter: cpeterson, Assigned: sotaro)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(3 files)
[Tracking Requested - why for this release]:
@ Jeff or Glenn, I suspect this regression in Firefox 100 was caused bug 1762125 to change the Intel GPU blocklist. I bisected this regression to this pushlog:
Twitter's "GIF" animations are actually videos, but this bug only happens with SWGL enabled (gfx.webrender.software
= true), so I don't know if this is a video bug or a SWGL bug. It only happens with D3D11 SWGL (gfx.webrender.software.d3d11
= true), not full SWGL (gfx.webrender.software.d3d11
= false).
Steps to reproduce:
- In Firefox 100 or later, enable
gfx.webrender.software
and leavegfx.webrender.software.d3d11
= true. - Load a Twitter "GIF" animation, such as:
https://twitter.com/claviska/status/1519085364069244932
Expected result
The animation should loop without flash green visual artifacts like Firefox 99 and Chrome.
Actual result
The animation flashes green visual artifacts when looping in Firefox 100 and 101. Unfortunately, I wasn't able to capture a screenshot.
Reporter | ||
Comment 1•2 years ago
|
||
Comment 2•2 years ago
|
||
Chris, can you try downgrading your driver to something with the last digits > 2849, see if it's still broken and try to get a regression range?
Updated•2 years ago
|
Reporter | ||
Comment 3•2 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #2)
Chris, can you try downgrading your driver to something with the last digits > 2849, see if it's still broken and try to get a regression range?
My current Intel driver version is 30.0.101.1405 according to both about:support and the Windows Device Manager. AFAICT, I don't have a driver version that would match the blocklist rule for versions 8.15.10.2849 or 9.17.10.2849. Or am I misunderstanding?
I wasn't able to roll back or install a new driver version. The Device Manager's "Roll Back Driver" button is disabled for my Intel driver. So I went looking for older drivers on https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html. I downloaded more recent versions (30.0.101.1631 and 30.0.101.1660), but the installers failed.
What do you recommend I do to help test?
Comment 4•2 years ago
|
||
Prior to bug 1762125 your driver would've been blocklisted because it's < 2849. Can you try installing 30.0.100.9955 from the Intel website? or if that doesn't work try a driver from: https://www.catalog.update.microsoft.com/Search.aspx?q=subsys_0a611028%20%2030.0.100.9864%20
Reporter | ||
Comment 5•2 years ago
•
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #4)
Prior to bug 1762125 your driver would've been blocklisted because it's < 2849. Can you try installing 30.0.100.9955 from the Intel website? or if that doesn't work try a driver from: https://www.catalog.update.microsoft.com/Search.aspx?q=subsys_0a611028%20%2030.0.100.9864%20
I couldn't find version 30.0.100.9955, so I downloaded and installed 30.0.100.9864 from that Microsoft website. I still able to reproduce the green flashes with 30.0.100.9864.
Correction: I now see 30.0.100.9955 on the Intel website. If you'd like me to test that version, just let me know.
Comment 6•2 years ago
|
||
9864 is great. Can you get a new regression window with that driver?
Reporter | ||
Comment 7•2 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #6)
9864 is great. Can you get a new regression window with that driver?
Using version 30.0.100.9955 (not 9864), I bisected the regression to this new Firefox 97 pushlog with your reuse-decoder-device fix for bug 1745976:
In summary:
- With driver version 30.0.100.9955 (the latest 30.0.100.* from Intel's website), I first see the green flashes after bug 1745976.
- With driver versions 30.0.101.1405 (the version installed by Windows Update for Windows 11 Beta) and 30.0.101.1660 (the latest 30.0.101.* from Intel's website), I first see the green flashes after the driver blocklist changes in bug 1762125.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 8•2 years ago
|
||
Sotaro, can you reproduce this?
https://www.intel.com/content/www/us/en/download/19387/intel-graphics-beta-windows-dch-drivers.html
Does this happen on Intel 30.0.101.1934 BETA graphics driver? I think Intel is gonna release a 30.0.101.19xx production non beta driver soon.
https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html
If it does, then this should be reported to Mozilla's Intel contacts to get the Intel driver bug fixed.
Assignee | ||
Comment 10•2 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #8)
Sotaro, can you reproduce this?
I could not reproduce the problem on my 6 Win PCs.
Reporter | ||
Comment 11•2 years ago
|
||
Windows Update installed a new Windows 11 Beta version (10.0.22610 Build 22610) today and now I can no longer reproduce this bug, even using the same Intel driver version 30.0.101.1405 I used in comment 0. So maybe this was a Windows bug and not an Intel driver bug?
I'll close this bug as WORKSFORME.
Updated•2 years ago
|
Reporter | ||
Comment 12•2 years ago
|
||
Reopening this bug because I can reproduce it again.
I don't know why I couldn't repro two days ago in comment 11. Maybe I had still had gfx.webrender.software temporarily disabled. To make sure I'm not seeing a new regression now, I retested those same builds and can now reproduce the bug.
I can repro with Intel driver version 30.0.101.1405 and 30.0.101.1660.
Comment 13•2 years ago
|
||
https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html
Intel released new 30.0.101.1960 graphics driver, does it still happen?
Comment 14•2 years ago
|
||
The severity field is not set for this bug.
:gw, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 15•2 years ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #0)
- In Firefox 100 or later, enable
gfx.webrender.software
and leavegfx.webrender.software.d3d11
= true.- Load a Twitter "GIF" animation, such as:
It seemed that gif animation was actually mp4 video.
Assignee | ||
Comment 16•2 years ago
|
||
I wonder if we need to wait video frame copy end in D3D11DXVA2Manager::CopyToImage().
Assignee | ||
Comment 17•2 years ago
|
||
Assignee | ||
Comment 18•2 years ago
|
||
I wonder if D146877 might work as a workaround.
::cpeterson, can you check if the following build could address the problem? And can you take Firefox profiler result when the problem happens?
Reporter | ||
Comment 19•2 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #18)
I wonder if D146877 might work as a workaround.
::cpeterson, can you check if the following build could address the problem? And can you take Firefox profiler result when the problem happens?
Success! I can't reproduce the bug with your build.
Do you still need me to take a Firefox profile of the animation playing correctly in your build? Or of the bug happening in my regular Nightly build?
My current Intel driver version is 30.0.101.1340. I haven't tested the new 30.0.101.1960.
Assignee | ||
Comment 20•2 years ago
•
|
||
(In reply to Chris Peterson [:cpeterson] from comment #19)
(In reply to Sotaro Ikeda [:sotaro] from comment #18)
I wonder if D146877 might work as a workaround.
::cpeterson, can you check if the following build could address the problem? And can you take Firefox profiler result when the problem happens?
Success! I can't reproduce the bug with your build.
Do you still need me to take a Firefox profile of the animation playing correctly in your build? Or of the bug happening in my regular Nightly build?
Great! Can you take a Firefox profile with regular Nightly build? I want to check which functions are called on Renderer thread when the problem happen on your PC.
Reporter | ||
Comment 21•2 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #20)
Great! Can you take a Firefox profile with regular Nightly build? I want to check which functions are called on Renderer thread when the problem happen on your PC.
Here's a Firefox profile of the bug happening. I used the Firefox Profiler's "Graphics" setting.
Assignee | ||
Comment 22•2 years ago
|
||
Thank you. RenderDXGITextureHost::MapPlane() was called. Then RenderDXGITextureHost data was readbacked to cpu.
Then the readback seemed to happen before video frame copy complete.
For hardware decoded video, keyed mutex does not work. Then SyncObjectD3D11Client::Synchronize() was called in D3D11DXVA2Manager::CopyToImage(). But the Synchronize() is not called when compositor device is used for hardware decoding.
wr_renderer_lock_external_image()
->RenderTextureHostSWGL::LockSWGL()
->RenderTextureHostSWGL::UpdatePlanes()
->RenderDXGITextureHost::MapPlane()
Assignee | ||
Comment 23•2 years ago
•
|
||
Assignee | ||
Comment 24•2 years ago
|
||
Assignee | ||
Comment 25•2 years ago
|
||
:cpeterson, can you check if the following build of D147049 could address the problem?
https://treeherder.mozilla.org/jobs?repo=try&revision=773f9a0e634a2d56c343302c7e5ee7e2624a3358
https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/YQLlOAaoSIqkf5t32hdF_w/runs/0/artifacts/public%2Fbuild%2Ftarget.zip
Reporter | ||
Comment 26•2 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #25)
:cpeterson, can you check if the following build of D147049 could address the problem?
I can't reproduce the bug with that build, so that fix seems to work.
Assignee | ||
Comment 27•2 years ago
•
|
||
Thank you for the confirmation! Then D147049 is better approach for now.
Updated•2 years ago
|
Updated•2 years ago
|
Comment 28•2 years ago
|
||
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1b1a27a14740 Use compositor device for hardware video decoding only with hardware WebRender r=jrmuizel,gfx-reviewers
Comment 29•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Comment 30•2 years ago
|
||
I couldn't reproduce this issue on Firefox 100/101 on Win10/11 x64. Would you be so kind as to verify the fix on beta and/or nightly?
Thank you.
Assignee | ||
Comment 31•2 years ago
|
||
No problem, I am going to check it.
Assignee | ||
Comment 32•2 years ago
|
||
On my PCs, the problem did not happen:(
:cpeterson, can you check if the problem is addressed on beta and/or nightly?
Reporter | ||
Comment 33•2 years ago
|
||
Verified fixed in Beta 102 and Nightly 103.
Comment 34•2 years ago
|
||
Marked as verified based on Comment 33. Removing qa-verify flag.
Description
•