Closed Bug 744112 Opened 9 years ago Closed 9 years ago

Qt QGL context conflict with WebGL context current states

Categories

(Core Graveyard :: Widget: Qt, defect)

ARM
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla15

People

(Reporter: romaxa, Assigned: romaxa)

Details

Attachments

(1 file)

Qt historically does not call makeCurrent before rendering into GL context, that is across all Qt GL backend code, and it bring some problems when we trying to render WeBGL context in same process.
Problem is happen when WebGL context switch context to current, and after that Qt starts next paint iteration without switching to Qt context, so Qt accidentally render into WebGL context.
Also allow to set QGL widget for Qt fennec on builds with GL_PROVIDER specified.
Assignee: nobody → romaxa
Status: NEW → ASSIGNED
Attachment #613712 - Flags: review?(doug.turner)
Comment on attachment 613712 [details] [diff] [review]
Force switch context to Qt, before rendering QGV scene

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

::: widget/qt/moziqwidget.h
@@ +149,5 @@
>      MozQGraphicsView(QWidget * aParent = nsnull)
>       : QGraphicsView (new QGraphicsScene(), aParent)
>       , mEventHandler(this)
>       , mTopLevelWidget(NULL)
> +     , mGLWidget(0)

(0) -> (NULL)
Attachment #613712 - Flags: review?(doug.turner) → review+
https://hg.mozilla.org/mozilla-central/rev/1ea9d262f0dd
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.