summaryrefslogtreecommitdiffstats
path: root/src/extensions
Commit message (Collapse)AuthorAgeFilesLines
* Backport texture sharing for NVIDIAPaul Olav Tvete2019-08-132-0/+121
| | | | | | | | | | | | | | | | | | | | | | | | | This commit backports the Vulkan server buffer and texture sharing code from Qt 5.14 to Qt 5.12 as an opt-in feature. To enable, configure with "-feature-wayland-client-texture-sharing-experimental -feature-wayland-compositor-texture-sharing-experimental" Contains code from the following commits: Add server buffer integration based on Vulkan (commit df3a1761af2f20d59ae09a7adaa2f5b959047687) Compressed texture support for vulkan server buffers (commit f710489a341713c675cfd91d22ccd7bf8f29f4dd) Implement server-side toOpenGlTexture for Vulkan (commit 19361e7259f04b08925b1e8e99faf9460770ee7b) New texture sharing protocol and infrastructure (commit 80001cbf0451f4ba2a971fb20b80dc8e25ac604d) Change-Id: I6c36ef7fddcd4db39e80d03a822d89f15eae3434 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Add server buffer integration using Linux dma-bufPaul Olav Tvete2018-09-211-0/+60
| | | | | | Fixes: QTBUG-70494 Change-Id: Iaa4990fe9d39a1f9fb81f5e5f19039aa2e52dcac Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Replace qtkey-extension with qt-key-unstable-v1Johan Klokkhammer Helsing2018-05-241-22/+32
| | | | | | | | | | | | | | | | - Remove the "dummy" request, which seems to be just leftover test code. - Rename the event from "qtkey" to "key". We've already prefixed the global interface, no need to also prefix the event. - Prefix the global with `zqt_` and suffix it with "_v1". If we make backwards incompatible changes, we should bump the suffix, rename the xml-file and reset the version number. - Add some documentation to the xml file. - Add notice about (lack of) compatibility guarantees. - Four spaces for indentation Task-number: QTBUG-68423 Change-Id: I78f0eaff4cac22f27318ba32c83c83feb2de857a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add readme for internal protocol extension folderJohan Klokkhammer Helsing2018-05-241-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | There have been some misunderstandings about the compatibility guarantees of our internal protocols. I.e. some compositors have started implementing them, and then we have removed or made backwards incompatible changes to the protocols. Also, when we've made backwards incompatible changes, we've previously incorrectly used the version attribute of the interface, however that attribute is supposed to be used for backwards *compatible* changes. This causes problems for both ourselves and others. So let's be explicit about it in a README and be more careful when reviewing protocol extension changes if they don't bump the version suffix (i.e. rename the protocol). This is the same versioning and naming scheme as used by the unstable protocols in wayland-protocols. Task-number QTBUG-68423 Change-Id: I9c1a7e13c9356660914bbfeff4139ec033f1d443 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* shm-based server buffer for testing on desktopPaul Olav Tvete2017-08-161-0/+63
| | | | | Change-Id: I2ea03f3366524d3133a65870abad9d9389dfec9c Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Rename QWaylandWindowManagerExtension to QWaylandQtWindowManagerPier Luigi Fiorini2016-05-311-1/+1
| | | | | | | | | | | | | | | | | | * QWaylandWindowManagerExtension become QWaylandQtWindowManager * WindowManager become QtWindowManager Follow naming convention already established for other extensions like QWaylandWlShell and avoid confusion that might arise with a name as generic as WindowManager. Use QWaylandClient rather than wl_client. Also the Wayland protocol definition has been renamed to qt-windowmanager.xml Change-Id: I941621ce229327c21eff9e80c7e92205cc60e8eb Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Implement the wl_subcompositor interface server-sideGiulio Camuffo2015-10-011-69/+0
| | | | | | | | | | | This change removes the qt_sub_surface extension and replaces it with the standard wl_subsurface. Only the bare minimum functionality is implemented, the wl_subsurface requests are left as dummy handlers currently. Change-Id: I025304072cf157f732e90c4b5649a07b295fdea5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi>
* Remove output extensionPier Luigi Fiorini2015-05-061-51/+0
| | | | | | | This protocol is empty now and is no longer used. Change-Id: I45e79fb86a67b4cebdc307170218fa039b2aa27f Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
* Update copyright headersJani Heikkinen2015-02-1712-47/+47
| | | | | | | | | 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>
* Use wl_surface.set_buffer_transform to signal surface rotationGiulio Camuffo2014-07-311-3/+0
| | | | | | | | Drop the custom request in the surface extension, and use the wayland core mechanism. Change-Id: I580f56c90bcd3b2c5a6da08d1a033b10790ac330 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Use wayland core interfaces to signal output rotationGiulio Camuffo2014-07-312-13/+3
| | | | | | | | The wl_output interface has an event for signaling the rotation of the display, so use that instead of our own thing. Change-Id: I8a017d575ee456a7a81649e19a015085fb784805 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Add a libhybris hardwareintegrations to share EGL server buffersGiulio Camuffo2014-03-261-0/+65
| | | | | | | | | 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>
* Add drm-egl server buffer integrationJorgen Lind2013-12-271-0/+56
| | | | | Change-Id: Ib72cb43e78c068ebafa8c4e8ef1576746c7015e8 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add hardware integration protocolJorgen Lind2013-12-271-0/+54
| | | | | | | | | | This sends to clients what HW integration is being used in the compositor. This is useful when the wayland clients are loading their buffer integrations with plugins since they then can pick the correct plugin automatically. Change-Id: Ib4eac3b855c6772ac1581b7f06aa929aeb1a1db0 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add serverbufferintegration to the qpa pluginJorgen Lind2013-12-271-4/+1
| | | | | Change-Id: I3802ec2c2b69fa56d6a64962590ebaa7314b3eea Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add server buffer extensionJorgen Lind2013-12-271-0/+56
| | | | | Change-Id: I69b8f59eecf807179e5962e111f7096a6dfbd797 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* QtCompositor: Allow key events to be delivered to unfocused windowsAndrew den Exter2013-12-161-1/+2
| | | | | | | | | Adds an overload to QWaylandInput::sendFullKeyEvent which allows specifying the surface to deliver the event to. This also extends the Qt keyboard extension to allow sending keys to specific windows. Change-Id: I1b7abdc4d8a30392ef2e7ee5e9af5b3036b23577 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Compositor: add BypassWindowManager hint to WindowFlagsAndrew Knight2013-09-201-0/+1
| | | | | | | | | BypassWindowManagerHint is already being used on the client-side, and it would be beneficial for some compositors to see this server-side as well. Change-Id: I4801a0c2f14f86fcd48cc49c3f2324af4216fb6f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Implement QPlatformWindow::raise() in QWaylandWindow and relay it to the ↵Robin Burchell2013-08-061-0/+6
| | | | | | | | | | compositor Change-Id: I744f9799730810e4afc73f86487a34aa0fd8405b Done-with: Vesa Halttunen <vesa.halttunen@jollamobile.com> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add close event to the surface extensionJørgen Lind2013-06-061-0/+3
| | | | | Change-Id: Iacbd83d5551b3a5c2152ff80bb0085ce3f853306 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Remove the unsecure security protocol extensionsJørgen Lind2013-05-221-6/+0
| | | | | Change-Id: I99a5f964520f801070744ca73df394e1107f3dbf Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Namespace Qt extensions qt_ instead of wl_Jørgen Lind2013-05-228-18/+18
| | | | | Change-Id: I6882f1747fa42b11e795252cba169f65e2fe08e5 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Adapted code to use qtwaylandscanner.Samuel Rødal2013-04-172-2/+2
| | | | | | | | | | | | We include the wayland.xml since we need to generate bindings for the core protocol as well. Also, WAYLANDSOURCES has been split into WAYLANDSERVERSOURCES and WAYLANDCLIENTSOURCES since we need to produce different output in the server and client cases. Change-Id: I0bd493d41ca6b26dfd2d9b1463d4b762786537f9 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Cleaned out usages of removed or to be removed APIs.Samuel Rødal2012-12-061-4/+0
| | | | | Change-Id: Iabbada23d010ac0fdf99f88af3f109f94814b5ea Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Cleanup QtWayland moduleAndy Nichols2012-12-038-0/+534
Now that both xkbcommon 0.2.0 and libWayland 1.0.0 have been released, we should no longer be building against sha1's and should be preparing for an eventual release so these build hints have been removed. A test has been added for libWayland 1.0.0 which is required to build QtWayland. README has been updated to reflect the current situation src/3rdparty has been removed as it has not been used in some time. patches folder and contents have been removed as they are no longer needed. extensions folder has been moved to the src folder Change-Id: Iab79b5c164758a4bd0253c90f60b2a2d044e2785 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>