The default bug view has changed. See this FAQ.

Qt QGL context conflict with WebGL context current states

RESOLVED FIXED in mozilla15

Status

Core Graveyard
Widget: Qt
RESOLVED FIXED
5 years ago
9 months ago

People

(Reporter: romaxa, Assigned: romaxa)

Tracking

unspecified
mozilla15
ARM
Linux

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
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.
(Assignee)

Comment 1

5 years ago
Created attachment 613712 [details] [diff] [review]
Force switch context to Qt, before rendering QGV scene

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 2

5 years ago
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+
(Assignee)

Comment 3

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/1ea9d262f0dd
https://hg.mozilla.org/mozilla-central/rev/1ea9d262f0dd
Status: ASSIGNED → RESOLVED
Last Resolved: 5 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.