Closed Bug 1678954 Opened 4 years ago Closed 3 years ago

sw-wr: Video artifacts

Categories

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

Firefox 85
x86_64
Linux
defect

Tracking

()

VERIFIED FIXED
85 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- unaffected
firefox84 --- disabled
firefox85 --- verified

People

(Reporter: jaso35, Assigned: mattwoodrow)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: correctness, regression)

Attachments

(2 files)

Version: 85.0a1
Build ID: 20201122093438
OS: Linux 5.9.9-arch1-1 #1 SMP PREEMPT Wed, 18 Nov 2020 19:52:04 +0000

Steps to reproduce:

  1. Use Firefox with Software WebRender (enabled since Bug 1677293) with the proprietary nvidia driver on linux

  2. Try to watch the following video: https://www.reddit.com/r/CatastrophicFailure/comments/jyjyfe/failed_rocket_launch_unknown_date/

Expected result:
Flawless video playback

Actual result:
Video playback is tearing, some pixel groups appear frozen while others update properly

This behavior does not occur if Firefox is launched with either MOZ_WEBRENDER=0 or MOZ_WEBRENDER=1

Graphics
--------
Features
Compositing: WebRender (Software)
WebGL 1 Driver WSI Info: GLX 1.4 GLX_VENDOR(client): NVIDIA Corporation 
Window Protocol: x11
Desktop Environment: gnome
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 4
Target Frame Rate: 60
GPU #1
Active: Yes
Description: GeForce GTX 1070 Ti/PCIe/SSE2
Vendor ID: 0x10de
Device ID: 0x1b82
Driver Vendor: nvidia/unknown
Driver Version: 455.45.1.0
RAM: 0
Display0: 1920x1080 default
DisplayCount: 1
Device Reset: Trigger Device Reset
Decision Log
HW_COMPOSITING:
available by default
OPENGL_COMPOSITING:
available by default
WEBRENDER:
available by default
WEBRENDER_QUALIFIED:
available by default
blocklisted by env: No qualified hardware
WEBRENDER_COMPOSITOR:
disabled by default: Disabled by default
WEBRENDER_PARTIAL:
available by default
WEBRENDER_ANGLE:
available by default
unavailable by env: OS not supported
WEBRENDER_DCOMP_PRESENT:
available by default
disabled by user: User disabled via pref
unavailable by env: Requires Windows 10 or later
unavailable by runtime: Requires ANGLE
WEBRENDER_SOFTWARE:
available by default
OMTP:
available by default
WEBGPU:
disabled by default: Disabled by default

Attached image tearing.png

Gnome Xwayland, Debian Testing, Intel

Thanks for the report! I can reproduce the bottom glitch.
bug 1678877 also shows this bug, it was filed as perf bug, but I doubt this is a perf problem:
This looks like a partial present bug, similar to bug 1640858, bug 1677892, but with software WR.

mozregression --good 2020-11-01 --bad 2020-11-23 --pref gfx.webrender.all:true gfx.webrender.software:true -a https://www.reddit.com/r/CatastrophicFailure/comments/jyjyfe/failed_rocket_launch_unknown_date/

16:40.29 INFO: Last good revision: e8c71d656d90c79833138f8202ebfb7012530eaf
16:40.29 INFO: First bad revision: 565ba6bf11b55d01fd77d9c1bfe47f5344ec40d6
16:40.29 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=e8c71d656d90c79833138f8202ebfb7012530eaf&tochange=565ba6bf11b55d01fd77d9c1bfe47f5344ec40d6

565ba6bf11b55d01fd77d9c1bfe47f5344ec40d6 Matt Woodrow — Bug 1674029 - Only commit the dirty rects in RenderCompositorSWGL. r=lsalzman
9bc569bc38c157d9537639a42bc61e4cc397a1bd Matt Woodrow — Bug 1674029 - Adjust compositor surface tile dirty rects by their transform if applicable. r=gw

Has Regression Range: --- → yes
Has STR: --- → yes
Flags: needinfo?(matt.woodrow)
Regressed by: 1674029
See Also: → 1678877
Summary: Video tearing and blocky artifacts when using software WebRender → sw-wr: Video artifacts
Assignee: nobody → matt.woodrow
Status: NEW → ASSIGNED
Flags: needinfo?(matt.woodrow)

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)
Severity: -- → S4
Flags: needinfo?(jmathies)
Priority: -- → P3
See Also: → 1679215
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/34aba2d9485f
The dirty and valid rects of a CompositeTile for an external surface should be the pre-transform rectangles. r=gw
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch

I can verify this bug has been fixed in build 20201210155912. Thank you!

Status: RESOLVED → VERIFIED
See Also: → 1678869
See Also: → 1679343
See Also: 1679343
See Also: 1678869
See Also: 1678877
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: