Jørgen Lind [Sat, 7 Jan 2012 19:28:25 +0000 (20:28 +0100)]
Make compositor handle subsurfaces with shm buffers.
So we'r lying for now for shm buffers, and assuming they
have allways been displayed.
Also, this patch fixes so that if you attach a buffer, and the last
buffer has not gotten any damages, then it will be released.
Change-Id: Id1b9789aa8e4dcff75147f6c96220039defc0d8f
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Jørgen Lind [Mon, 9 Jan 2012 07:58:08 +0000 (08:58 +0100)]
When changing the cursor, call damage on it
so the image is recreated on the server side. If we don't do this any
the QImage/QPixmap on the serverside will not change its cache key
Change-Id: Ie085038e467a4f9676a32bdbecbd27e7cca4c0ff
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Mon, 9 Jan 2012 07:56:35 +0000 (08:56 +0100)]
Add an interface to call damage on a wl_buffer
Change-Id: Id3814572be31fc2e7812fea33e8ed21c53f2d6f1
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Tue, 10 Jan 2012 08:47:03 +0000 (10:47 +0200)]
Remove unnecessary state keeping in input device
Change-Id: I6325573d27b099a21fa5ac5e141764d5172b2453
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 10 Jan 2012 08:33:55 +0000 (10:33 +0200)]
Add a function to the compositor api to send full touch events
A simple sendTouchPointEvent(id, x, y, ...) type of function will not
be sufficient in the future due to the amount of data in a touch
event; therefore an additional sendFullTouchEvent is introduced. This
function takes a QTouchEvent and posts a series of down, motion, up,
frame events as needed. In the future it may be changed so that it
maps to a protocol extension instead of the standard events.
As an example qwindow-compositor is updated to use this new function.
Change-Id: I39d3df1c6d4868364440f59789d01fc5b7b80dac
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 10 Jan 2012 08:29:38 +0000 (10:29 +0200)]
Add an option to qwindow-compositor for disabling random positioning
When passing -stickytopleft all surfaces will be shown at position 0,0
instead of picking a random one. This is useful for apps with one
single large window in combination with -nofullscreen.
Change-Id: I0834c43981a2d2c7b9796e273ac0eb0cfd738132
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Mon, 9 Jan 2012 16:24:45 +0000 (17:24 +0100)]
Workaround for race condition when compositor is animating
If the compositor is animating, and rendering in another thread, we
may get a frameFinished call for a buffer that has not been displayed
yet. This buffer would then never get released, and the client would
hang. This is just a workaround: the real solution would fix the
race condition between markSurfaceAsDirty() and emit damaged().
Also fix misplaced paranthesis.
Change-Id: Iadecc77a6c6e3999a9f07815db0d0f810d92c1d3
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Mon, 9 Jan 2012 13:12:49 +0000 (14:12 +0100)]
Make the queueing work.
Unconditionally dequeue in frameFinished, instead of checking for
whether a texture has been created.
This removes the frameFinishedTooEarly hack, which was not only ugly,
but also wrong. We have to rely on the compositor calling frameFinished()
for every buffer anyway.
Change-Id: Id284b4578ff5f0813b2e8a12a5cc43293cf79bf8
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Mon, 9 Jan 2012 11:57:47 +0000 (13:57 +0200)]
Remove unused clientAdded signal in compositor.
This signal is not used by anything anymore and so there is no need to
spend time on the contains() call.
Change-Id: I003370e66048a54d1c9e2ec384ad740506d113a2
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Mon, 9 Jan 2012 09:19:56 +0000 (11:19 +0200)]
Use QOpenGLFunctions in qwindow-compositor.
To keep it building with desktop OpenGL.
Change-Id: I82685926461fc3249ed7a53e741b653273fe6f5c
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 9 Jan 2012 09:21:21 +0000 (11:21 +0200)]
Remove logging of key presses in qwindow-compositor.
Change-Id: I505b262687bb32853a69c4dccb79a05f68b1dced
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Robin Burchell [Thu, 5 Jan 2012 00:19:52 +0000 (01:19 +0100)]
Have a crack at fixing setGeometry calls.
Commit
a5ce91c023aeb433f1b5b792291a88c9a5683955 removed setGeometry, so let's
make an effort at still functioning.
Change-Id: Iaae877a2312712ba63aa94a8ae3a3939554c5592
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jason McDonald [Thu, 5 Jan 2012 07:06:27 +0000 (17:06 +1000)]
Update copyright year in license headers.
Change-Id: Idfa1e4479b9ea0c793dcbf8570354d657a1db8cb
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Samuel Rødal [Thu, 5 Jan 2012 14:36:45 +0000 (15:36 +0100)]
Corrected wayland_sha1.txt
Change
d9ea435f0179fe2b5fe0 updated wayland_sha1.txt with a SHA-1 that
was too old, touch_down had not gotten the focus surface as a parameter
yet.
Change-Id: I1979238261758ef0b145997d5cd11c4c8953f1c5
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Paul Olav Tvete [Wed, 4 Jan 2012 13:51:29 +0000 (14:51 +0100)]
Fix direct rendering after buffer queue change
Change-Id: Ia2ff6f539a8e59ca00ae8506b9367c277ae50304
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Wed, 4 Jan 2012 12:27:32 +0000 (13:27 +0100)]
Queue buffers instead of discarding them
Queue up buffers if the client renders faster than the compositor can display
Change-Id: I1449f60ae35a813c7ef88a15e50fb330e9668231
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Fri, 16 Dec 2011 10:13:59 +0000 (11:13 +0100)]
Add isYInverted property with notification
Change-Id: I6a835a2be4513fa6c24f172503669bc3c95fad0b
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Tue, 3 Jan 2012 08:58:43 +0000 (09:58 +0100)]
Clear dirty set before sending frame callback.
Previously, markSurfaceAsDirty() would have no effect when triggered
by the frame callback function.
Change-Id: Ife7c40757f1cba10e8cdbfab3d514a1dcdac76db
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Thu, 5 Jan 2012 13:24:09 +0000 (14:24 +0100)]
Actually return the size from the size() function
Change-Id: I885b1c39f934f2b806843cd9b813a75ea9d8954f
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Robin Burchell [Thu, 5 Jan 2012 06:33:58 +0000 (07:33 +0100)]
Remove QSize from surfaceMapped signal.
Commit
6307ca5e22d81da9a39289c2cca9165fea81b3a5 removed this from the signal, so
we must follow suit.
Change-Id: I4073cfb7e9f6c722c1ac097e3d939767868027cb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Robin Burchell [Thu, 5 Jan 2012 00:09:28 +0000 (01:09 +0100)]
QSGTextureProvider is now public API in QtQuick.
Commit
42d6acd0a3ea5fa5cf7ab69f1f8f2206559107ea in the QtDeclarative repo moved
QSGTextureProvider to be public API, so we should probably follow if we want to
keep building :)
Change-Id: I1514c0eef9d3d2c2660b38f0bd352c0f885641ba
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 09:26:20 +0000 (10:26 +0100)]
Remove the geometry from the wayland surface
and add pos and size properties instead. The pos is a PointF while the
size is a integer based Size since pos can be transformed, while the
size reffers to the pixel size.
Change-Id: I5d84aa6661405cb0df356b787246d0d73ad0c503
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 09:22:49 +0000 (10:22 +0100)]
Fixup waylandsurface item after QSize was removed
from the mapped signal
Change-Id: Ib05fad9393d33a965e50ea3459fa83b10cd6d567
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 07:16:27 +0000 (08:16 +0100)]
Make it possible to drag windows around
while holding the windows key down.
Change-Id: I1b5cd7fb39b5ec0ead6a4c312b4bb653a0191a00
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 07:33:28 +0000 (08:33 +0100)]
Implement subsurfaces extension
This allows you to have subwindows in the compositor.
We tried to experiment with composing subsurfaces client side, but the
architecture did not feel very lean. This however, requires the
compositor to compose each surface before drawing the surface. The
example compositors render the subsurfaces into the wl_surfaces texture.
This might not be a good idea.
Change-Id: I6e186b62d7b490de7f4e6c6f22fcf6c1e0a70df3
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Tue, 3 Jan 2012 12:47:33 +0000 (13:47 +0100)]
Add mouse move events to the window compositor
Change-Id: Iacdfbd55feb5db4d38eac6e2729684052a46afa9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen [Tue, 3 Jan 2012 11:36:38 +0000 (12:36 +0100)]
Add a .gitignore
Change-Id: I3e5e42425825c61a76197c91c8bd2faf7bc64231
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen [Tue, 3 Jan 2012 11:30:58 +0000 (12:30 +0100)]
Dont have subdirectories in the extensions folder
This folder is just for the xml files
Change-Id: I20820bac6ed46cb0267b20afddd129ddf64141c5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen [Tue, 3 Jan 2012 09:33:28 +0000 (10:33 +0100)]
Fix rename of the define QT_COMPOSITOR_DECLARATIVE to QT_..._QUICK
Change-Id: I4bcc5466711a3cfcc10812d519555a7b604dffb1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen [Tue, 3 Jan 2012 09:28:27 +0000 (10:28 +0100)]
QImage when uploaded to a texture using glTexImage2D is flipped
Change-Id: I95a5c1d34a7233c0cfd58bc29183d8cd4396addd
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 07:32:17 +0000 (08:32 +0100)]
Remove the size from the mapped signal
Change-Id: I4b49e115c569cab580665040cc9b173c697b1fcc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Wed, 4 Jan 2012 07:19:54 +0000 (08:19 +0100)]
Remove QtOpenGL includes
Change-Id: I66c4c98b308bd97760ad2db720785ee64fc64959
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Jørgen [Tue, 27 Dec 2011 09:52:48 +0000 (10:52 +0100)]
Make QtCompositor.so compile with pkg-config as a default
Change-Id: Ibf599e66a6172e4fedbb41be4e179f43ce21d5c2
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Andy Nichols [Wed, 28 Dec 2011 16:28:22 +0000 (17:28 +0100)]
Prevent the use of an empty variable for a LIBDIR
Because it's not very sensible to send -L alone to the linker.
Change-Id: Id6556a010c86a42d00dcf97c39df6e1772350ef0
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Fri, 23 Dec 2011 13:37:16 +0000 (14:37 +0100)]
Make it possible to hide windows
take2 :)
Change-Id: Ib53a346cf3237285ea6c810ec75b47b2e2db2697
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jørgen Lind [Fri, 23 Dec 2011 12:53:15 +0000 (13:53 +0100)]
Use some sensible build variables in compositor
when not haivng pkg-config
Change-Id: I585d4468e6830f1989b69de2733542f6f64d0f5f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jørgen Lind [Fri, 23 Dec 2011 08:24:24 +0000 (09:24 +0100)]
Its ok to attach on a not allready displayed buffer.
Change-Id: Ieb0ea84f40a3878af50ea24d1af54ef0dc90ffb8
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Jørgen Lind [Fri, 23 Dec 2011 07:57:11 +0000 (08:57 +0100)]
Update wayland-sha and implement the surface on the touchdown event
Change-Id: I32435569e6e1181c6bbafb87d885834a883bf43b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Jørgen Lind [Wed, 21 Dec 2011 08:03:49 +0000 (09:03 +0100)]
Make it possible to hide surfaces
Change-Id: Ie3ba75335717e8dbae906c1a13cc8f852b77bd1b
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Jørgen Lind [Tue, 20 Dec 2011 12:36:07 +0000 (13:36 +0100)]
Remove Qt4 stuff from qmake files
Change-Id: I008cddcdba58a7a9b77aac8729a643a1ea0ea445
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Tue, 20 Dec 2011 12:34:18 +0000 (13:34 +0100)]
Send the orientation when client binds to the extended output
Change-Id: I27875115d64a1d06de7097b09f928cfd11fe2d2e
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Tue, 20 Dec 2011 11:03:00 +0000 (12:03 +0100)]
Make QtCompositor work with wayland-demo clients.
Make it possible to have >1 registered frame callbacks
Also remove the QShmBuffer destory callback, since we should use destory
listeners instead.
Change-Id: I407fc2075f62aaf9f042e85b003b3aaf7ee72cf5
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 19 Dec 2011 11:48:47 +0000 (12:48 +0100)]
Make all QWaylandWindows have a wl_surface for the entire lifespan
This solves that we dont have to cache the generic objects,
and we conform with upstream wayland
Change-Id: Ib8e15b734f09988f4f00989aeb1c274636709dc9
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 19 Dec 2011 09:51:12 +0000 (10:51 +0100)]
Added surface_extension and output_extension
This is an atempt on removing WindowManagerIntegration and create more
specialised extensions. Hopefully it will reduce tha "map lookups" we
have all because of the windowmanagerintegration is way to generic, and
hopefully it will make it easier to ready and understand the code
Change-Id: I126c430e87909e4520f6d241c0a6023214cb509a
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Laszlo Agocs [Fri, 16 Dec 2011 13:11:18 +0000 (15:11 +0200)]
Restore retained selection support in qt-compositor.
Change-Id: I20fdffacd4f62d2e7083c269c7f82c059f3e24fc
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Thu, 15 Dec 2011 08:48:25 +0000 (10:48 +0200)]
Do not pass mime type by value in data source.
Change-Id: I2aff8fd090cee82f37b52ad0a6a3cd437c39fcdd
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Wed, 14 Dec 2011 09:32:13 +0000 (10:32 +0100)]
Added a resourcecollection class
This class will typically be the super class of globals which creates
wl_resources in the bind functions. If for some reason some other class
needs to get a resource for a given client of the global, it can look it
up
Change-Id: I939cc7aaeb15586f2c760c600c188a8cbf19f358
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Tue, 13 Dec 2011 11:41:02 +0000 (12:41 +0100)]
Remove the window_manager_integration object.
We don't need a wl_object anymore for registering the callbacks
Also did some additional cleanups, and removed the static instance since
we can just get the windowmamager instance from the compositor object
Change-Id: I772822f42006aba709f9f967ae293903415e21bc
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:15:10 +0000 (15:15 +0100)]
Fixup variable names to not use widget
Change-Id: I4c2212d27aaebbefe5e8524438bc444fdec74c8a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:49:09 +0000 (15:49 +0100)]
fixup xcomposite egl integration
Change-Id: Ieead02e7fd97356e6296a2f073b62f3557de3321
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:12:17 +0000 (15:12 +0100)]
Use qmake wayland-scanner rules for the window manager integration
Change-Id: Ic75349df412e906d292d0ad76c9a35096fb9bb82
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:10:28 +0000 (15:10 +0100)]
Use the wayland-scanner qmake compiler rules for xcomposite
Change-Id: I45e601ac1cc0183b03f2467a8376a1d6c65315cd
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:07:01 +0000 (15:07 +0100)]
Remove the dri2_xcb hardware integration
EGL has bind_display instead
Change-Id: I643f06e7412bae9513d8b30eef655cd0a60cb57d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 14:08:20 +0000 (15:08 +0100)]
Make xcomposite-egl work without widgets
Change-Id: Ie9bfd6ca1a36650864ca8af70c25beb1baa5ac43
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Andy Nichols [Mon, 12 Dec 2011 13:25:00 +0000 (14:25 +0100)]
Remove usage of deprecated class QSGEngine
Replaced by direct calls in QQuickCanvas to createTextureFromId
and createTextureFromImage.
Change-Id: I8aad61f9c48ccd5c6ca703b32df9c2c5fb199f1c
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Mon, 12 Dec 2011 09:22:54 +0000 (10:22 +0100)]
Implement shell_surface
shell_surface is the compositors view of surfaces while wl_surface is
the clients view of the surface
Change-Id: Ic84eda94ac03960ab566cfc569a103c2b6ad1d44
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Laszlo Agocs [Sun, 11 Dec 2011 18:31:58 +0000 (20:31 +0200)]
Destroy callback objects in the sync callback on client-side.
Previously these were leaked, resulting in obscure "server sent live
delete_id" messages sometimes (esp. with selection offers).
Change-Id: Ida07b5c206ed8a8e4f68f9a8b651a176c45101ff
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Sun, 11 Dec 2011 17:22:58 +0000 (19:22 +0200)]
Avoid showing incorrect warning when changing the data source.
Also fix a typo.
Change-Id: Ic4a059edc3b3bcbbf5acd318e3ba05fad45190eb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Thu, 8 Dec 2011 12:42:54 +0000 (14:42 +0200)]
Register a touch device in the Wayland plug-in.
This makes the plug-in compatible with the recent QTouchEvent changes
in qtbase.
Change-Id: I30891ef945dbb2f5863b0a1a097056c5586ac160
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Wed, 7 Dec 2011 20:30:35 +0000 (21:30 +0100)]
Made a global directory, and moved the export header there...
I'm not sure if the header file name is what we want, but will do for
now.
Change-Id: Ief7f006b0f59b53295e6a11c222d8c459a80683d
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Jørgen Lind [Wed, 7 Dec 2011 20:28:29 +0000 (21:28 +0100)]
Remove unused header
Change-Id: I54c0840a5b6f198ca9619d6888e506daa4b66df8
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Gunnar Sletta [Tue, 6 Dec 2011 11:48:00 +0000 (12:48 +0100)]
Remove dependency on libQtWidgets and libQtOpenGL
Change-Id: I15ec75922d476080283e1c9759ed49e63a871b1f
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Laszlo Agocs [Wed, 7 Dec 2011 09:31:32 +0000 (11:31 +0200)]
Make qwindow-compositor work without opengl module dependency.
Change-Id: Icb05b076b46dfbf36154343083bd332a4d9a7468
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Wed, 7 Dec 2011 09:22:12 +0000 (10:22 +0100)]
I removed the qwidget-compositor-mdi.pro
I cant revert the patch, so I just have to add it.
Change-Id: I05531ca973ada7043f39c46faccc35ffd6800bf9
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Wed, 7 Dec 2011 09:01:39 +0000 (10:01 +0100)]
Add comments to example pro file to explain how to include pri
Change-Id: Ic5cb0aff2bf70158905a8d6c4487670ce76c9355
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Wed, 30 Nov 2011 10:10:59 +0000 (11:10 +0100)]
Resolve the gl and egl extensions before we use them
Change-Id: Iafe68f71807cc8aa8964444adccb25128c597514
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 5 Dec 2011 16:09:02 +0000 (17:09 +0100)]
Make wayland actually a module
Also fix so that QtCompositor can be built as shared object.
+ fix so that the default QT_WAYLAND_GL_CONFIG is wayland_egl
Change-Id: I02b72e99286584426bd37ab2d00bbc84af11efdc
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Tue, 6 Dec 2011 18:06:36 +0000 (19:06 +0100)]
Add a exportglobal file since we cant use qglobal.h anymore
Change-Id: I993132278bb26467a13199afbb9b4aecfe0da7fa
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Paul Olav Tvete [Mon, 5 Dec 2011 16:31:30 +0000 (17:31 +0100)]
Direct rendering changes
Change-Id: Ie3bebae680e370d5351279a988945c6a5d65ed75
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 6 Dec 2011 10:43:32 +0000 (12:43 +0200)]
Remove the input device resource from wayland's list upon destruction.
Otherwise exiting and starting new apps would sooner or later end
in a compositor crash due to dangling pointers in
input_device->resource_list.
Change-Id: I85ec0f2ffcdc014bf8d714b95772a4d7250d0be5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 6 Dec 2011 10:31:40 +0000 (12:31 +0200)]
Avoid qt-compositor crash with data devices.
The datadevice list must be cleared on a resource_destroy, otherwise
a subsequent datadevice request will end up finding and accessing
already freed pointers.
Change-Id: Iae7b87d0910d2e3278f8c79fbb7b5aacfbe6ade7
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 6 Dec 2011 10:21:05 +0000 (12:21 +0200)]
Fix data source resource destruction in qt-compositor.
Change-Id: Ieb7551c6d85979b5e6bb07927abeaabcf2466c20
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 6 Dec 2011 10:15:52 +0000 (12:15 +0200)]
Fix wm object resource destruction in qt-compositor.
There was no destroy_resource callback which is very bad because
this meant the list containg the resource was not maintained properly.
Also remove a meaningless loop.
Change-Id: Ib82a6b76581061149130bb3322813f9a1716561f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Wed, 30 Nov 2011 12:38:25 +0000 (13:38 +0100)]
Fix non-responsiveness issue with threaded GL
Use our experimental patch for Wayland to make sure
that we always deliver requests made by other threads.
Previously, if wl_surface_damage() was called from a
thread other than the main thread, it would be blocked
until the main thread returned from select() for some
other reason.
Change-Id: I65fd6481c51b93f924c1706aa70cb328fd24c6e0
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Paul Olav Tvete [Thu, 1 Dec 2011 08:24:55 +0000 (09:24 +0100)]
Our patches to Wayland
Change-Id: I342ccda193cbfb809e9011aeb4a87a4ed94d7d52
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Tue, 6 Dec 2011 10:12:09 +0000 (12:12 +0200)]
Make it possible to run qwindow-compositor in non-fullscreen.
Also remove some leftovers from the pro file.
Change-Id: Ic4f461054855d7e5b9ea907818f2c58565f6ea3b
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Paul Olav Tvete [Wed, 30 Nov 2011 14:59:54 +0000 (15:59 +0100)]
Direct rendering fixes
Make sure that we release the right buffer at the right time.
Change-Id: I181f92ad3eb27fda43a616dcf26aa611e144a2f1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Laszlo Agocs [Wed, 30 Nov 2011 15:39:38 +0000 (17:39 +0200)]
Fix xcomposite-glx backend, avoid crashes in frame callback and touch
Change-Id: Id66dcc76d73eef7242b69cbbc488485db4daa648
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Jørgen Lind [Wed, 30 Nov 2011 14:20:46 +0000 (15:20 +0100)]
Remove file that I never committed
Change-Id: Ia35fc2ebca8b5f00a7f108755e3c74d3cca917a4
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Andy Nichols [Wed, 30 Nov 2011 12:17:08 +0000 (13:17 +0100)]
Use correct include syntax for waylandobject.h
Change-Id: I10c5cd74e923f66cdfffda4ec996382484815d20
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Andy Nichols [Tue, 29 Nov 2011 15:06:52 +0000 (16:06 +0100)]
Disable not-yet-supported drag and drop code
Change-Id: Ica70987fe75f751aee6163322903b6545e9d8e8b
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Tue, 29 Nov 2011 09:17:11 +0000 (10:17 +0100)]
update window mamager protocol
Change-Id: I29e70f26dbdf71e54c69b2e49342fa51928945d9
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 31 Oct 2011 07:42:58 +0000 (08:42 +0100)]
Added data objects
ie. new clipboard and dnd protocol
Change-Id: I0ebdc6dc2972b6cb1dc882cd6b6f4ddde2621186
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 31 Oct 2011 07:41:18 +0000 (08:41 +0100)]
Updated to head of Wayland, but did not fix clipboard or dnd
Change-Id: I9f4d4101947b2cc64b52eed070d3a37c00ab07da
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Jørgen Lind [Mon, 28 Nov 2011 09:06:55 +0000 (10:06 +0100)]
update sha
Change-Id: If17fdd64fa49fdc8f717cd638d7c09d951d93c4e
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Laszlo Agocs [Sun, 27 Nov 2011 16:34:23 +0000 (18:34 +0200)]
Fix Wayland touch position mapping on client side.
The previous solution was more or less working but was inaccurate and
an overkill. What we need here is a simple call to mapToGlobal().
Change-Id: Ice90aee608c2a3b0091911d5527157f1c70e9235
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Fri, 25 Nov 2011 14:48:12 +0000 (16:48 +0200)]
qwindow-compositor: Do a render on expose.
Change-Id: Ic2941a389de6f8aeaf74a86ce09ecf4616b390cc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Lasse Holmstedt [Mon, 21 Nov 2011 12:06:18 +0000 (13:06 +0100)]
Clear property cache when window is destroyed
Change-Id: Icf2d949ebb517d010c34dbb9e040fb833eff1fc3
Reviewed-by: Martin Zielinski <martin.zielinski@nokia.com>
Lasse Holmstedt [Mon, 21 Nov 2011 12:06:04 +0000 (13:06 +0100)]
Flush window property changes also with EGL surfaces
Change-Id: I57924c75ab22f259de70e97731439a74bc3ec9e7
Reviewed-by: Martin Zielinski <martin.zielinski@nokia.com>
Samuel Rødal [Tue, 1 Nov 2011 07:56:47 +0000 (08:56 +0100)]
Get rid of QOpenGLContext dependency in WaylandCompositor constructor.
Now WaylandSurface::texture() takes a QOpenGLContext * instead. This
prevents a crash in qml-compositor against wayland_egl, since the
context was 0 (it's created behind the scenes by scene graph at a
later point).
Change-Id: Ia02f596922ad0edea602dfe12b411ec827d47669
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Kent Hansen [Mon, 31 Oct 2011 11:57:26 +0000 (12:57 +0100)]
Add missing QWindow include
Fix compile error ("waylandeglintegration.cpp:84:27: error: "
"invalid use of incomplete type 'struct QWindow'")
Change-Id: Ic87ee8a6fe67329d0e1e9a4a96fda05952093f8f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Fri, 28 Oct 2011 08:38:29 +0000 (11:38 +0300)]
Enable selections to be offered directly from the compositor.
The new function QWaylandCompositor::overrideSelection() allows
implementing clipboard functionality between the compositor and the
clients. This becomes important when the compositor process has UI
running in it because that implies offering and receiving selection
data not just between the clients but also between the compositor
(acting as a client in this respect) and clients.
Change-Id: I15575101bbef3edd71e23b7fe1f898e5803b37c6
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Martin Zielinski [Wed, 26 Oct 2011 11:55:17 +0000 (13:55 +0200)]
Fixed Wayland-Client QPA plugin to work correctly for wayland_egl
Change-Id: I2b65b13b43e14aa173a083309cf30fb28f692a28
Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
Andy Nichols [Wed, 26 Oct 2011 10:48:01 +0000 (12:48 +0200)]
Rename QSG* to QQuick* in qtwayland module
Change-Id: I6029550cb9a892795d0db9aafea59801a1de3c68
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Tue, 25 Oct 2011 11:29:28 +0000 (14:29 +0300)]
Include QWindow header in qt-compositor.
With recent Qt the compiler complains about undefined QWindow class,
so include the corresponding header.
Change-Id: Ie176431e67554110a2fab519c3cc56416200f0a9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 24 Oct 2011 08:38:59 +0000 (11:38 +0300)]
Add basic key, mouse, touch event support to qwindow-compositor.
This brings the capabilities of this compact and lean compositor
example up to the level of the old qwidget-based one.
Change-Id: I58eae567e64e1f06432d23bd7d24579efb36eb84
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 24 Oct 2011 08:28:36 +0000 (11:28 +0300)]
Do not leak textures in qwindow-compositor.
When drawing images coming via SHM the OpenGL texture was never
deleted, causing a leak of a texture on every update.
Change-Id: Ic40198a5a8369a273c046a186a82d69597ea5c0c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 24 Oct 2011 07:48:20 +0000 (10:48 +0300)]
Fix mirrored Y coordinates in qwindow-compositor.
Change-Id: I432aa2fdf231301fda99b68e863ecc964c550781
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 24 Oct 2011 06:20:41 +0000 (09:20 +0300)]
Avoid qwindow-compositor crash on startup due to missing background.
Include background.jpg as a resource. This way it will be found
always.
Change-Id: I859a01b97fc81b704f8c632aab546b4b9905c375
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Laszlo Agocs [Mon, 24 Oct 2011 05:40:12 +0000 (08:40 +0300)]
Make it compile with pkg-config.
The handcrafted handling of use_pkgconfig does not really work
so leave it to qmake and use PKGCONFIG instead.
Change-Id: I893c9c859c9b38e0affcb02981c001622698c1ff
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>