WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
56339
[Qt] WebGL content not shown when accelerated compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=56339
Summary
[Qt] WebGL content not shown when accelerated compositing is enabled
Jarkko Sakkinen
Reported
2011-03-14 14:46:21 PDT
Before, the class GraphicsLayer had functions: virtual void setContentsToGraphicsContext3D(const GraphicsContext3D*); virtual void setGraphicsContext3DNeedsDisplay(); Now these are gone and a new function have been added: virtual void setContentsToCanvas(PlatformLayer*); This causes a problem because PlatformLayer is defined as QGraphicsObject. This gives no way to acquire FBO texture of GraphicsContext3D.
Attachments
Fixes the issue by adapting to internal API changes.
(12.07 KB, patch)
2011-03-15 07:24 PDT
,
Jarkko Sakkinen
no flags
Details
Formatted Diff
Diff
Made adjustments mentioned in comments section
(11.31 KB, patch)
2011-03-16 10:59 PDT
,
Jarkko Sakkinen
no flags
Details
Formatted Diff
Diff
forgot changelog entry from previous patch.
(12.58 KB, patch)
2011-03-16 11:05 PDT
,
Jarkko Sakkinen
kenneth
: review+
kenneth
: commit-queue-
Details
Formatted Diff
Diff
Added description what the changeset actually does.
(12.84 KB, patch)
2011-03-16 14:51 PDT
,
Jarkko Sakkinen
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Jarkko Sakkinen
Comment 1
2011-03-14 15:52:25 PDT
Internal QGraphicsObject derived class that blits the FBO into QPixmap might solve this. I'm going to try out this solution.
Jarkko Sakkinen
Comment 2
2011-03-14 16:04:58 PDT
I'm going to try following: - Remove deprecated functions from GraphicsLayerQt (see description) - Remove Canvas3DContentType and all the code that uses it. - Implement setContentsToCanvas() that simply calls setContentsToMedia(). - Inside GraphicsContext3DQt.cpp create QGraphicsObject implementation.
Jarkko Sakkinen
Comment 3
2011-03-15 04:18:37 PDT
Started writing fix for this issue. I hope I'll get something out tomorrow.
Jarkko Sakkinen
Comment 4
2011-03-15 05:51:34 PDT
Initial implementation works (fixes the issue) but patch is not ready *yet*. Time to test how call sequences go with different options.
Jarkko Sakkinen
Comment 5
2011-03-15 06:59:49 PDT
Update: I adjusted code so that only for accelerated compositing texture mapping is used. For other cases memory copy is used. The point for this is that only with that configuration the direct texture mapping is stable with transformations of the webkit rendering pipeline. I think this is how it should work. Conservative support for non accelerated pipeline and GPU assisted blitting for accelerated compositing pipeline.
Jarkko Sakkinen
Comment 6
2011-03-15 07:01:00 PDT
At least that is the best compromise in order to get this releasable state :)
Jarkko Sakkinen
Comment 7
2011-03-15 07:17:55 PDT
Tested that calls only paint() and paintIntoCanvas() when AC is enabled. Seems to work correctly.
Jarkko Sakkinen
Comment 8
2011-03-15 07:24:22 PDT
Created
attachment 85802
[details]
Fixes the issue by adapting to internal API changes. Direct texture mapping enabled only for AC with QGLWidget viewport case. Other cases use memory copy.
Noam Rosenthal
Comment 9
2011-03-15 09:15:31 PDT
LGTM
Jarkko Sakkinen
Comment 10
2011-03-16 07:53:28 PDT
I'll revise the patch a bit: - There was a merge conflict in GraphicsContext3DQt.cpp with latest upstream version. Fixing this. - Removing #include "GraphicsContext3D.h" from GraphicsLayerQt.h. Not needed anymore.
Jarkko Sakkinen
Comment 11
2011-03-16 10:59:18 PDT
Created
attachment 85941
[details]
Made adjustments mentioned in comments section
Jarkko Sakkinen
Comment 12
2011-03-16 11:05:49 PDT
Created
attachment 85943
[details]
forgot changelog entry from previous patch.
Kenneth Rohde Christiansen
Comment 13
2011-03-16 12:37:38 PDT
Comment on
attachment 85943
[details]
forgot changelog entry from previous patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=85943&action=review
> Source/WebCore/ChangeLog:7 > +
Would be good with a bit of summary of what you actually did
Jarkko Sakkinen
Comment 14
2011-03-16 14:51:01 PDT
Created
attachment 85982
[details]
Added description what the changeset actually does. I think it now describes in a nutshell what is happening.
Kenneth Rohde Christiansen
Comment 15
2011-03-16 14:55:22 PDT
(In reply to
comment #14
)
> Created an attachment (id=85982) [details] > Added description what the changeset actually does. > > I think it now describes in a nutshell what is happening.
Great! :-)
WebKit Commit Bot
Comment 16
2011-03-16 17:16:40 PDT
Comment on
attachment 85982
[details]
Added description what the changeset actually does. Clearing flags on attachment: 85982 Committed
r81298
: <
http://trac.webkit.org/changeset/81298
>
WebKit Commit Bot
Comment 17
2011-03-16 17:16:44 PDT
All reviewed patches have been landed. Closing bug.
WebKit Review Bot
Comment 18
2011-03-16 17:58:21 PDT
http://trac.webkit.org/changeset/81298
might have broken SnowLeopard Intel Release (Tests) The following tests are not passing: http/tests/filesystem/resolve-uri.html
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug