summaryrefslogtreecommitdiffstats
path: root/src/plugins/hardwareintegration
Commit message (Collapse)AuthorAgeFilesLines
* Updated license headersAntti Kokko2016-01-2012-168/+240
| | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I76ae5d3e64f096eb3163d6163a38d68c7c1ca756 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Merge remote-tracking branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-12-022-2/+2
|\ | | | | | | Change-Id: Ie70fdd03e1259a8cb75bbdbf1324e3e4a2b51807
| * Get rid of the egl config test and use what qtbase providesLaszlo Agocs2015-11-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contains(QT_CONFIG, egl) and CONFIG += egl is the only sane way to test for and pull in EGL headers and libs. This is particularly important when trying to be robust and guard against half-broken sysroots on embedded where a naive PKGCONFIG += egl breaks. Also add an EGL_WAYLAND_BUFFER_WL define to keep wayland-egl compiling. We are not testing for that in any config tests may cause a failure in sysroots that have parts of Mesa thrown in but pick ip an older EGL header from the vendor's driver. Change-Id: I7b7e6a7a91e78dbda5b6954ad08761298c538efc Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | Merge branch '5.6' into wip-compositor-apiLaszlo Agocs2015-10-271-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qwindow-compositor changes from 5.6 will be adapted separately. The traditional wayland-egl path is tested and is functional like before. The EGLStream support will be verified separately once the qwindow-compositor changes are ready. Conflicts: examples/wayland/qwindow-compositor/qwindowcompositor.cpp examples/wayland/qwindow-compositor/textureblitter.cpp examples/wayland/qwindow-compositor/textureblitter.h examples/wayland/server-buffer/client/client.pro examples/wayland/server-buffer/compositor/compositor.pro src/compositor/compositor_api/qwaylandbufferref.cpp src/compositor/compositor_api/qwaylandbufferref.h src/compositor/hardware_integration/qwlclientbufferintegration_p.h src/compositor/wayland_wrapper/qwlkeyboard.cpp src/compositor/wayland_wrapper/qwlkeyboard_p.h src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro Change-Id: Ic2e3a6e8f74606c35b1e27cd4016fa133527d7ba
| * Support EGLStream in wayland-eglLaszlo Agocs2015-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Wayland on NVIDIA. Tested with a Jetson TK1 Pro and Vibrante Linux. With just the hw integration no compositors would work out of the box since EGL_KHR_stream_consumer_gltexture only allows connecting to the texture bound to GL_TEXTURE_EXTERNAL_OES, meaning that assumptions about the target always being GL_TEXTURE_2D break horribly both in C++ and in shader code. In addition, buffers have to be extended with an additional updateTexture() operation as EGLStream requires to call ConsumerAcquire on every frame. Previously there was no concept of this as calling createTexture() on attach() was sufficient. Qt Quick bits are omitted since the refactored compositor API is pretty different. This means that QML compositors will not currently function in this environment. The qwindow-compositor example is enhanced to support the external texture target, but this won't apply for the refactored branch either. It is provided for testing purposes for the time being, and to show how C++ compositors can support different texture targets and correct operation with EGLStreams. Done-with: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Change-Id: I0e209fc0cbcf435cca83528d938eb50e4bdceb82 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* | Rename QtCompositor to QtWaylandCompositorJørgen Lind2015-09-1013-18/+15
|/ | | | | | | enable building QtWaylandCompositor by default Change-Id: I7cf34052b304ca9fef55b7e30ef6a6367b5d75f1 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-154-8/+0
|\ | | | | | | | | | | | | | | Conflicts: src/client/qwaylandshmbackingstore.cpp src/client/qwaylandwindow.cpp Change-Id: I795fd08f0fc5d3cb5ed55bf16e724f66b7567723
| * Remove useless EGL linking in pluginsOlivier Blin2015-03-274-8/+0
| | | | | | | | | | | | | | | | EGL libs are already linked from the hardwareintegration pri file, and the plugins do not make direct use of any EGL symbol. Change-Id: If6ecfee16e8c9d8fee67f03419941ced92d1eff8 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | Disable -Wcast-qual in qtwaylandv5.5.0-alpha1Thiago Macieira2015-03-102-0/+6
| | | | | | | | | | | | | | | | | | We have a lot of generated C source code that needs to do casting and C doesn't have const_cast, so the -Wcast-qual option produces a lot of noise. Let's make sure it isn't enabled in qmake.conf or qt_common.prf. Change-Id: Iee8cbc07c4434ce9b560ffff13c9635861a8eca9 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* | Update copyright headersJani Heikkinen2015-02-1712-274/+178
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I5a74d32515c3f1fe7aa1916f4241c92832510f8c Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* | Namespace the platform pluginsGiulio Camuffo2015-01-296-0/+24
|/ | | | | | | | | | | | There currently is a QWaylandInputDevice class both in the wayland QPA plugin and in the QtCompositor API. This causes the qwindow-compositor example to crash when running nested in a wayland session due to a mismatch between the two classes. By namespacing all the plugin code we make sure that name clashes will not happen anymore. Change-Id: I17497cff697599200bea68bf01dfde474526390f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Merge remote-tracking branch 'origin/stable' into devOswald Buddenhagen2014-04-1512-12/+12
|\ | | | | | | | | | | also amended the libhybris plugin according to the merged change. Change-Id: I2987043cf21936aa0f221343d00dacdc574be06a
| * build fix for MODULE_PLUGINS_TYPETomasz Olszak2014-04-1510-10/+10
| | | | | | | | | | Change-Id: I8d44f50480440060eba84354e88fb2535e1d8e4a Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Add a libhybris hardwareintegrations to share EGL server buffersGiulio Camuffo2014-03-268-0/+166
|/ | | | | | | | | Add a hardwareintegration plugin to make Qt server side EGL buffers shareable from the compositor to the client, such as what the server-buffer example does. Change-Id: I24558324d51202ca449b47b0ee395c8e81c10698 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Take advantage of the Qt 5 plugin json structureJorgen Lind2014-03-1116-141/+41
| | | | | | | | | | | Also change naming scheme of plugins: buffer integrations doesn't start with "wayland-" but the platform plugins have to start with "wayland-". Also update the README Change-Id: I6dd2103ab287ed569ab06cfb6eb469e3db058831 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fixup for GLX integrationJorgen Lind2014-03-112-3/+3
| | | | | Change-Id: I2de94481f7d3e109fdce7ca961f8969299cf5d9e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Making the buffer intgrations privateJorgen Lind2014-02-115-26/+26
| | | | | Change-Id: Ifb6e2456c781e80f84e27e68c3e279ea993f9307 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Merge remote-tracking branch 'origin/stable' into devAndy Nichols2014-02-043-10/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/hardwareintegration/qwaylandclientbufferintegrationplugin_p.h src/client/hardwareintegration/qwaylandserverbufferintegrationplugin_p.h src/compositor/hardware_integration/qwaylandclientbufferintegrationplugin.h src/compositor/hardware_integration/qwaylandserverbufferintegrationplugin.h src/plugins/hardwareintegration/client/brcm-egl/main.cpp src/plugins/hardwareintegration/client/drm-egl-server/main.cpp src/plugins/hardwareintegration/client/wayland-egl/main.cpp src/plugins/hardwareintegration/client/xcomposite-egl/main.cpp src/plugins/hardwareintegration/client/xcomposite-glx/main.cpp src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp src/plugins/hardwareintegration/compositor/drm-egl-server/main.cpp src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp Change-Id: I9a9b418075970dd334babc3590b9b0315c2afb0d
| * Fixup the iid versions for the pluginsJorgen Lind2014-01-2010-10/+10
| | | | | | | | | | Change-Id: Iac1b8b070d3bf87b29d0be9a2a76fd56e7046f0f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Fix brcm keysLaszlo Agocs2014-01-161-2/+2
| | | | | | | | | | | | | | Did not match the key used in the plugin metadata. Change-Id: I58cf08c684b33d8d7166a074dbafb4187b010498 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixup the brcm-egl hardware integrationsJorgen Lind2014-01-152-5/+5
| | | | | | | | | | Change-Id: I2a25c7d0b5019c30f31cba1f608a8731be6b1f10 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Make the glx backend compile againJorgen Lind2014-01-101-3/+3
| | | | | | | | | | | | | | Still needs some renaming and verification, but this makes it compile at least Change-Id: Ifb7fc68e8705f235bf0edf2ae9bb38274b693d3c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Fixup plugin interface versioningJorgen Lind2014-01-106-6/+6
| | | | | | | | | | Change-Id: Ia4ab692fde0dee9224c9c0e3204cfee56144b50f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch stable into devAndy Nichols2014-01-094-4/+4
|/ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/compositor/hardware_integration/qwaylandclientbufferintegrationplugin.h src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp src/plugins/platforms/qwayland-brcm-egl/main.cpp src/plugins/platforms/qwayland-egl/main.cpp src/plugins/platforms/qwayland-generic/main.cpp src/plugins/platforms/qwayland-xcomposite-egl/main.cpp src/plugins/platforms/qwayland-xcomposite-glx/main.cpp Change-Id: I957c9bee893a9e19fc8c93f0e51292007fb3a4a8
* Config test for drm_egl_serverJorgen Lind2014-01-062-6/+5
| | | | | | Change-Id: Ib0ae4683374c2fd0c7386863ffb3c207605dc1e2 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Make classes in client privateJorgen Lind2013-12-273-3/+3
| | | | | Change-Id: Ibf400b32f78a6a0fcf0991914d2d9ad684483979 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add drm-egl server buffer integrationJorgen Lind2013-12-278-0/+188
| | | | | Change-Id: Ib72cb43e78c068ebafa8c4e8ef1576746c7015e8 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* fixup for brcmJorgen Lind2013-12-271-4/+1
| | | | | Change-Id: I7bb7a4f7eec76044ebaa92c7a31be1ff2df8ff0e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Adjust the location of the compositors clientbuffer integration pluginsJorgen Lind2013-12-274-4/+4
| | | | | Change-Id: I85b293c981f9caf1bf9de34a54df7668198e2c7e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* introduce HW integrations client pluginsJorgen Lind2013-12-2713-14/+371
| | | | | Change-Id: I07bdcf8db16741291b88084f045ae7b93a89b63f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Compositor: rename QWaylandGraphicsHardwareIntegrationJorgen Lind2013-12-274-26/+27
| | | | | | | | | | to QWaylandClientBufferIntegration. I have checked this with xcomposite-egl and wayland-egl, abd have tried to do a simple search and replace for brcm-egl and xcomposite-glx, but there will likely be some small fixup needed Change-Id: I48d284b8a5172273e0a26443074a87a8171b9e88 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* make compositor build with new directory layoutJorgen Lind2013-12-2715-0/+394
Change-Id: I3ede73420af9cb95820a9bec4fe7305f1107e22d Reviewed-by: Andy Nichols <andy.nichols@digia.com>