Closed Bug 1323799 Opened 3 years ago Closed 3 years ago

Enable creating a GLContextWGL with an OOP CompositorWidget

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla54

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

Attachments

(1 file, 2 obsolete files)

Attached patch wgl-oop.patch (obsolete) — Splinter Review
In m-c, GLContextProviderWGL doesn't support creating contexts for any widgets. In the graphics branch support was added back for creating contexts for widgets in process. This patch adds support for creating contexts for OOP widgets so we can re-enable the GPU process.

Long term I think we are planning on using ANGLE not WGL so this might not matter, but right now it would be nice to run this on the GPU process.

Patch:

This patch would be pushed to the graphics branch, not m-c, but may eventually get merged there so I want it to be looked at.

My understanding is that context creation for WGL was removed in bug 1266536, because of it using a memory DC that was used for supporting transparent windows that could have a different lifestyle than the context. Transparent windows aren't accelerated on windows, and we don't use the memory dc, so I believe this patch is okay.
Attachment #8818970 - Flags: review?(jgilbert)
Comment on attachment 8818970 [details] [diff] [review]
wgl-oop.patch

Review of attachment 8818970 [details] [diff] [review]:
-----------------------------------------------------------------

jrmuizel is a better reviewer for this. I would have to learn some of the code you're changing, but I can take this if you can't find anyone else.
Attachment #8818970 - Flags: review?(jgilbert) → review?(jmuizelaar)
Rebased this patch on latest graphics branch. The patch looks good to me, although I don't know why you replaced ::GetDC with ::GetWindowDC
Attachment #8818970 - Attachment is obsolete: true
Attachment #8818970 - Flags: review?(jmuizelaar)
Attachment #8826723 - Flags: review?(jmuizelaar)
Whoops I did that slightly wrong (s/nsIWidget/HWND/ in one place).
Attachment #8826723 - Attachment is obsolete: true
Attachment #8826723 - Flags: review?(jmuizelaar)
Attachment #8826729 - Flags: review?(jmuizelaar)
I changed ::GetDC to ::GetWindowDC, while I was trying to figure out bug 1323049. But it looks like it is an issue with drivers, and not the nonclient area so I don't think it should be changed.
Attachment #8826729 - Flags: review?(jmuizelaar) → review+
I did a try push with the ::GetWindowDC changed back to ::GetDC, https://treeherder.mozilla.org/#/jobs?repo=try&revision=968ca8acb85a56c8b05da1c7fc625822bb317088 - it's looking green but I'll wait for some more jobs to finish before I land it.
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/926be7ce8c2f
Enable creating a GLContextWGL with an OOP compositor widget. r=jrmuizel
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.