Closed Bug 1633628 Opened 4 years ago Closed 4 years ago

WebRender causes driver resets on gen6 on startup

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- wontfix
firefox76 --- wontfix
firefox77 --- wontfix
firefox78 --- fixed

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

It looks like we're sending work to the GPU that takes >7 seconds. This causes a timeout and the driver gets reset.

It seems like it might have to do with our initial allocations.

Priority: -- → P3

Disabling picture caching seems to improve things substantially

It looks like others see this as well:
https://www.reddit.com/r/firefox/comments/g9u0r0/call_for_webrender_testers_on_intel_sandybridge/foy3sq9/

I'm able to load Firefox captures using wrench without issue, so there's definitely something weird going on.

(In reply to Jeff Muizelaar [:jrmuizel] from comment #0)

initial allocations.

Is this a regression from bug 1598380 comment 8? (bug 1631353 comment 11)

Could be, I'll try reverting it.

Further investigation has discovered that disabling dual source blending avoids the hangs.

We still have the mystery of why dual source blending seems to work in other situations (wrench/picture-caching disabled) without problem.

So we discovered some more yesterday. It looks like the combination of dual source blending and bug 1580063 caused this.
That change added scissored clears and our theory is that the scissored clear ends up going through the regular 3d path and if the previous draw used dual source blending that would cause a TDR.

I was able to get an apitrace recording of the problem and replaying it also causes TDR, I confirmed that it was a call to ClearView() that causes the TDR and that the blend state is set to use dual source blending prior to calling ClearView().

I tried resetting the blend state to the default before doing the ClearView() but that didn't seem to help. As Lee suggested, it could well be that the blend state doesn't end up set on the GPU unless you actually do a draw with it.

ANGLE has an alternative code path that avoids the use of ClearView(), forcing that path avoids the problem.

Regressed by: 1580063
Has Regression Range: --- → yes
Severity: -- → normal
Assignee: nobody → jmuizelaar
Status: NEW → ASSIGNED
Attachment #9145127 - Attachment description: Bug 1633628. Don't use ClearView if we previously used dual source blending → Bug 1633628. Don't use ClearView if we previously used dual source blending on Intel gen6.
Attachment #9145127 - Attachment is obsolete: true
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/302c30b598b0
Vender: Don't use ClearView if we previously used dual source blending on Intel gen6. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
Regressions: 1636122
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla78 → ---
Backout by ccoroiu@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/293d13ecf47e
Backed out changeset 302c30b598b0 for causing bug 1636122 a=backout
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/754436d8b3a2
Vender: Don't use ClearView if we previously used dual source blending on Intel gen6. r=jrmuizel
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
Blocks: 1586040

The patch landed in nightly and beta is affected.
:jrmuizel, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.
If yes, don't forget to request an uplift for the patches in the regression caused by this fix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmuizelaar)

Nope. We're not turning on gen6 in beta

Flags: needinfo?(jmuizelaar)
Blocks: 1585782
Attachment #9145127 - Attachment is obsolete: false
Attachment #9145127 - Attachment is obsolete: true
See Also: → 1784093
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: