Closed Bug 1316690 Opened 5 years ago Closed 5 years ago

Crash in gfxPlatform::Init in GPU process


(Core :: Graphics, defect)

Windows 10
Not set



Tracking Status
firefox52 --- fixed


(Reporter: mccr8, Assigned: dvander)



(Keywords: crash)

Crash Data


(3 files)

This bug was filed from the Socorro interface and is 
report bp-3d442b90-b9d9-4025-8a46-9a7d52161109.

There are about a half dozen of these crashes a day on Nightly. At least for the 11-8 build, they are all in the GPU process, so there might be something to improve here.
Flags: needinfo?(dvander)
Assignee: nobody → dvander
Flags: needinfo?(dvander)
It looks like there's a bunch of device reset code in TextureD3D11.cpp. Not sure exactly how much of this is needed anymore, but let's give it the benefit of the doubt and migrate reset code handling to DeviceManagerDx.
This moves all the DeviceResetReason state from gfxWindowsPlatform to DeviceManagerDx. Mostly code motion, but some small details changed:

(1) mHasDeviceReset/mDeviceResetReason were folded into a Maybe<>
(2) mHasD3D9DeviceReset was folded into DeviceResetReason
(3) Everything now happens in the device lock
(4) Test device resets now only work on the main thread (and still only in the GPU process), since that's the only place where it's valid to set gfxPrefs.
Attachment #8809705 - Flags: review?(rhunt)
This fixes TextureD3D11 so it no longer uses gfxWindowsPlatform.
Attachment #8809706 - Flags: review?(rhunt)
This updates MaybeResetAndReacquireDevices for the changes in part 1.
Attachment #8809716 - Flags: review?(rhunt)
Attachment #8809705 - Flags: review?(rhunt) → review+
Attachment #8809706 - Flags: review?(rhunt) → review+
Attachment #8809716 - Flags: review?(rhunt) → review+
Really happy that this code is being moved out of gfxWindowsPlatform.
Pushed by
Move device reset detection from gfxPlatform to DeviceManagerDx. (bug 1316690 part 1, r=rhunt)
Don't use gfxWindowsPlatform in TextureD3D11. (bug 1316690 part 2, r=rhunt)
Handle forced device resets in the GPU process. (bug 1316690 part 3, r=rhunt)
You need to log in before you can comment on or make changes to this bug.