Closed
Bug 1438456
Opened 6 years ago
Closed 6 years ago
Add GLLibraryEGL::CreateDisplay()
Categories
(Core :: Graphics: WebRender, enhancement, P1)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
Details
Attachments
(1 file, 1 obsolete file)
8.04 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
When GLLibraryEGL is used for ANGLE WebRender use case, it needs to handle a use case of updating D3d11Device when device reset happens. When the device reset happens, gecko creates new CompositorDevice. With the new CompositorDevice, EGLDisplay needs to be recreated. It is necessary for Bug 1364504.
Assignee | ||
Comment 1•6 years ago
|
||
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Updated•6 years ago
|
Attachment #8951173 -
Flags: review?(jgilbert)
Updated•6 years ago
|
Blocks: stage-wr-trains
Priority: -- → P1
Assignee | ||
Updated•6 years ago
|
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 3•6 years ago
|
||
:jgilbert, what is a better way to update EGLDisplay? Is attachment 8951173 [details] [diff] [review] OK? Or is there another better way to handle it?
Flags: needinfo?(jgilbert)
Comment 4•6 years ago
|
||
Comment on attachment 8951173 [details] [diff] [review] patch - Add capability to update EGLDisplay to GLLibraryEGL Review of attachment 8951173 [details] [diff] [review]: ----------------------------------------------------------------- This should do for now. We really need to make this non-static. ::: gfx/gl/GLLibraryEGL.cpp @@ +683,5 @@ > + > +EGLDisplay > +GLLibraryEGL::CreateDisplay(bool forceAccel, const nsCOMPtr<nsIGfxInfo>& gfxInfo, nsACString* const out_failureId) > +{ > + EGLDisplay chosenDisplay = nullptr; MOZ_ASSERT(!mInitialized)
Attachment #8951173 -
Flags: review?(jgilbert) → review+
Updated•6 years ago
|
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 5•6 years ago
|
||
Comment on attachment 8951173 [details] [diff] [review] patch - Add capability to update EGLDisplay to GLLibraryEGL Review of attachment 8951173 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/gl/GLLibraryEGL.cpp @@ +684,5 @@ > +EGLDisplay > +GLLibraryEGL::CreateDisplay(bool forceAccel, const nsCOMPtr<nsIGfxInfo>& gfxInfo, nsACString* const out_failureId) > +{ > + EGLDisplay chosenDisplay = nullptr; > + When we want to re-create EGLDisplay for updating default EGLDisplay, mInitialized is true.
Assignee | ||
Comment 6•6 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ec03a445c9941b153618549dab47042a7f12a8ce
Comment 7•6 years ago
|
||
Comment on attachment 8951173 [details] [diff] [review] patch - Add capability to update EGLDisplay to GLLibraryEGL Review of attachment 8951173 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/gl/GLLibraryEGL.cpp @@ +684,5 @@ > +EGLDisplay > +GLLibraryEGL::CreateDisplay(bool forceAccel, const nsCOMPtr<nsIGfxInfo>& gfxInfo, nsACString* const out_failureId) > +{ > + EGLDisplay chosenDisplay = nullptr; > + We never want to recreate. We need to do a full-teardown each time.
Attachment #8951173 -
Flags: review+ → review-
Assignee | ||
Comment 8•6 years ago
|
||
(In reply to Jeff Gilbert [:jgilbert] from comment #7) > > + > > We never want to recreate. We need to do a full-teardown each time. :jgilbert, what does the full-teardown mean? Full-teardon of GPU process?
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 9•6 years ago
|
||
attachment 8951173 [details] [diff] [review] added GLLibraryEGL::RecreateDisplay() to handle device reset without full-teardon of GPU process.
Comment 10•6 years ago
|
||
We shouldn't move between two active-looking displays. We should completely reset to our starting state before trying to bring up a new display. This keeps the number of possible valid states and state transitions to a minimum.
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 11•6 years ago
|
||
Thanks for the reply. I am going to reset GPU process to handle device reset for now. And this bug is changed just to add GLLibraryEGL::CreateDisplay().
Assignee | ||
Updated•6 years ago
|
Summary: Add capability to update EGLDisplay to GLLibraryEGL → Add GLLibraryEGL::CreateDisplay()
Assignee | ||
Updated•6 years ago
|
No longer blocks: 1364504, stage-wr-trains
Assignee | ||
Comment 12•6 years ago
|
||
Attachment #8951173 -
Attachment is obsolete: true
Assignee | ||
Comment 13•6 years ago
|
||
Comment on attachment 8964480 [details] [diff] [review] patch - Add GLLibraryEGL::CreateDisplay() :jgilbert, can you review again?
Attachment #8964480 -
Flags: review?(jgilbert)
Assignee | ||
Comment 14•6 years ago
|
||
attachment 8964480 [details] [diff] [review] applied your comment.
Updated•6 years ago
|
Attachment #8964480 -
Flags: review?(jgilbert) → review+
Comment 15•6 years ago
|
||
Pushed by sikeda@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/86b13fe023ca Add GLLibraryEGL::CreateDisplay() r=jgilbert
Comment 16•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/86b13fe023ca
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox61:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in
before you can comment on or make changes to this bug.
Description
•