DescriptionEnsure that PresentThreadPool is initialized on the UI thread.
It was being initialized lazily on the IO thread when the first AsyncPresentAndAcknowledge came in.
Also, the AcceleratedSurface::presenter_ variable was mutable, initialized on the IO thread and used on the IO and UI thread with no lock. I think this allowed the UI thread to attempt to use a partially initialized AcceleratedPresenter. I made presenter_ immutable and ensured that the AcceleratedPresenter is instead always created on the UI thread and not visible in partially constructed form on the IO thread.
I had to change the timing of the Direct3D device initialization so that it is not created if it is not needed because that can crash windows bots.
BUG=117453
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=126741
Patch Set 1 : #Patch Set 2 : #Patch Set 3 : #
Total comments: 2
Patch Set 4 : #
Messages
Total messages: 9 (0 generated)
|