Merge lp://staging/~dandrader/qtubuntu/rasterGLSurface into lp://staging/qtubuntu

Proposed by Daniel d'Andrada
Status: Work in progress
Proposed branch: lp://staging/~dandrader/qtubuntu/rasterGLSurface
Merge into: lp://staging/qtubuntu
Prerequisite: lp://staging/~gerboland/qtubuntu/eglconvenience-retry
Diff against target: 296 lines (+76/-112)
7 files modified
src/ubuntumirclient/desktopwindow.cpp (+26/-0)
src/ubuntumirclient/desktopwindow.h (+29/-0)
src/ubuntumirclient/glcontext.cpp (+9/-19)
src/ubuntumirclient/integration.cpp (+10/-3)
src/ubuntumirclient/offscreensurface.cpp (+0/-47)
src/ubuntumirclient/offscreensurface.h (+0/-41)
src/ubuntumirclient/ubuntumirclient.pro (+2/-2)
To merge this branch: bzr merge lp://staging/~dandrader/qtubuntu/rasterGLSurface
Reviewer Review Type Date Requested Status
Gerry Boland (community) Needs Information
Unity8 CI Bot continuous-integration Approve
Review via email: mp+299141@code.staging.launchpad.net

Commit message

Add support for QQuickWidgets

- Advertise RasterGLSurface capability

- Implement proper offscreen rendering support using EGL pixel buffers.

- Don't create mir surfaces for Qt::Desktop QWindows. Proper
implementation still pending

Description of the change

To test:
Build & run lp:~dandrader/+junk/qwidget

If you can see the "Hello World" in a red rect, it's working.

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:330
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/94/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2216
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2244
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2150
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2150
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2150
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2141/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2141
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2141/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/94/rebuild

review: Approve (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

- return new UbuntuOffscreenSurface(surface);
+ return new QEGLPbuffer(mEglDisplay, QSurfaceFormat::defaultFormat(), surface);

Please test this on all the devices you have to hand. I vaguely recall not using PBuffers as some driver we had didn't support it, so adopting FBO instead.

+++ src/ubuntumirclient/desktopwindow.cpp
I don't see the point in making this dummy class at all... If client requests a Desktop window, they should get a regular window back, so at least the contents will be drawn on screen. This dummy window will show nothing on screen.

Can we compare with what qtwayland does please?

review: Needs Information
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

On 05/07/2016 13:24, Gerry Boland wrote:
> Review: Needs Information
>
> - return new UbuntuOffscreenSurface(surface);
> + return new QEGLPbuffer(mEglDisplay, QSurfaceFormat::defaultFormat(), surface);
>
> Please test this on all the devices you have to hand. I vaguely recall not using PBuffers as some driver we had didn't support it, so adopting FBO instead.

Right, doesn't work on mako.

Unmerged revisions

330. By Daniel d'Andrada

Add support for QQuickWidgets

- Advertise RasterGLSurface capability

- Implement proper offscreen rendering support using EGL pixel buffers.

- Don't create mir surfaces for Qt::Desktop QWindows. Proper
implementation still pending

329. By Daniel d'Andrada

merge lp:~gerboland/qtubuntu/eglconvenience-retry

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches