1. 28 Apr, 2016 - 1 commit
  2. 21 Apr, 2016 - 1 commit
  3. 19 Apr, 2016 - 1 commit
  4. 06 Apr, 2016 - 1 commit
  5. 31 Mar, 2016 - 1 commit
  6. 29 Mar, 2016 - 1 commit
  7. 22 Mar, 2016 - 1 commit
  8. 17 Mar, 2016 - 2 commits
  9. 15 Mar, 2016 - 1 commit
  10. 07 Mar, 2016 - 1 commit
    • Giulio Camuffo's avatar
      Fix SHM drawing logic · 19260d98
      Giulio Camuffo authored
      
      The old logic didn't care to listen for wl_buffer.release events
      so it always drew in the same buffer, potentially resulting in
      tearing if the compositor was scanning out the buffer at the same time.
      Instead properly cycle between a few buffers and don't reuse the same
      one until the release event was received.
      
      The old code also used to throttle the redraws, unless the buffer was
      changing, that is unless the window was getting resized. This is now
      lost, and no throttling is ever done. Doing it properly, by waiting
      for the frame callback before committing the new buffer shows very
      noticeable lags with many applications when resizing, because they
      paint many times per resize event, so they fall behind the cursor.
      A proper fix will be to implement the support for requestUpdate(),
      and using it in the applications.
      
      Change-Id: I02732c34769a5c75a6ad68c095bae916e4b274d3
      Reviewed-by: default avatarRobin Burchell <robin.burchell@viroteck.net>
      19260d98
  11. 03 Mar, 2016 - 1 commit
  12. 26 Feb, 2016 - 1 commit
  13. 25 Feb, 2016 - 3 commits
  14. 12 Feb, 2016 - 1 commit
    • Johan Klokkhammer Helsing's avatar
      Fix freeze when using BypassWindowManagerHint · bebe9bef
      Johan Klokkhammer Helsing authored
      
      Shell surfaces are now created for windows with BypassWindowManager
      set, unless the environment variable
      QT_WAYLAND_USE_BYPASSWINDOWMANAGERHINT is also set.
      
      This means that in case you need a window to not create a wayland
      shell_surface (perhaps because you do not want to use wl_shell or
      xdg_shell), you can set the environment variable and get the same
      behavior as before. Meaning the surfaces of windows with the flag set
      will not be assigned a role.
      
      Task-number: QTBUG-49272
      Change-Id: Idf969540497d6b4e54395b97472d99d2e068be93
      Reviewed-by: default avatarGiulio Camuffo <giuliocamuffo@gmail.com>
      Reviewed-by: default avatarPier Luigi Fiorini <pierluigi.fiorini@gmail.com>
      bebe9bef
  15. 08 Feb, 2016 - 1 commit
  16. 11 Jan, 2016 - 2 commits
  17. 13 Dec, 2015 - 1 commit
  18. 11 Nov, 2015 - 2 commits
    • Laszlo Agocs's avatar
      Get rid of the egl config test and use what qtbase provides · 4d3c3a08
      Laszlo Agocs authored
      
      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: default avatarGiulio Camuffo <giulio.camuffo@jollamobile.com>
      4d3c3a08
    • Laszlo Agocs's avatar
      RPi: Resolve all BRCM functions dynamically · 51abcc74
      Laszlo Agocs authored
      
      Directly calling eglCreateGlobalImageBRCM and friends is not ideal due to the
      messy RPi distro setups: shipping Mesa (sw rasterizer only) in standard locations
      may cause picking up those EGL/GLES libs instead of the Broadcom ones from /opt/vc
      when building Qt. While this is something that should be fixed in the sysroot (since
      it is a problem at runtime anyway), let's make life easier by resolving via
      eglGetProcAddress, which is the right approach in any case.
      
      Change-Id: I73f7698b638691d97743a6f819bc7c8ee6ebd245
      Reviewed-by: default avatarGiulio Camuffo <giulio.camuffo@jollamobile.com>
      51abcc74
  19. 05 Nov, 2015 - 1 commit
  20. 03 Nov, 2015 - 1 commit
    • Giulio Camuffo's avatar
      client: Remove the event thread · 302d4ffb
      Giulio Camuffo authored
      
      If the compositor sends events to us while the main thread is blocked
      the socket notifier in the events thread would keep sending out the
      activated() signal, but no events would actually be read until the
      main thread starts to run again. That causes the event thread to keep
      queueing new events, and so allocating memory, potentially forever.
      This patch fixes the issue in maybe a bit radical way, that is by removing
      the event thread. The socket notifier now runs in the main thread so it
      will block if the events are not being read.
      Nowadays there is no real reason to keep the event thread around, as every
      thread that needs to receive wayland events can dispatch them on its own,
      we don't need a central dispatcher thread anymore.
      
      Change-Id: Ib7885e4b038b82719d78d193f465618a72cbe6af
      Reviewed-by: default avatarPier Luigi Fiorini <pierluigi.fiorini@gmail.com>
      302d4ffb
  21. 02 Nov, 2015 - 1 commit
  22. 30 Oct, 2015 - 1 commit
  23. 29 Oct, 2015 - 1 commit
    • Giulio Camuffo's avatar
      Fix deadlock when starting a drag · bd21beea
      Giulio Camuffo authored
      
      With commit c55a36cb9015cf1eebd49eaa5b1b4f4ec9b28451 in qtbase the
      QSimpleDrag code changed in a way that caused a deadlock due to
      drawing a window without a role. However, thanks to that we can
      now remove that start/cancel hack and simplify the code.
      
      Change-Id: Icba6e7c9c4927855e48fb21632db1a10332c4ffb
      Reviewed-by: default avatarLaszlo Agocs <laszlo.agocs@theqtcompany.com>
      bd21beea
  24. 27 Oct, 2015 - 1 commit
  25. 20 Oct, 2015 - 3 commits
    • Laszlo Agocs's avatar
      Support EGLStream in wayland-egl · 955ac0d0
      Laszlo Agocs authored
      
      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: default avatarLouai Al-Khanji <louai.al-khanji@theqtcompany.com>
      955ac0d0
    • Olivier Blin's avatar
      Update focusResource if needed when wl_keyboard is bound · 3a584414
      Olivier Blin authored
      
      If a QtWayland compositor gives focus to a surface right after its
      creation during the client startup, the keyboard resource may not be
      bound yet by the client.
      In this case, the surface is correctly marked as focused, but the
      keyboard resource is never marked as focused, and thus no keys are
      ever sent to the client.
      
      To fix this, the focusResource is updated if needed after wl_keyboard
      is bound.
      
      This can be reproduced with weston-simple-im (patched to use wl_shell
      instead of xdg_shell) and qml-compositor, modified to enable
      TextInputExtension and call takeFocus() at the end of windowAdded().
      
      Change-Id: I551cb5bc56c05a1e5187b23108f4ef80468782dc
      Reviewed-by: default avatarGiulio Camuffo <giulio.camuffo@jollamobile.com>
      3a584414
    • Olivier Blin's avatar
      Fix setting focusDestroyListener when no keyboard resource is bound · 7f646611
      Olivier Blin authored
      
      When no keyboard resource is bound, the destruction handler for the
      focused surface was not called, and the pointers to focused objects
      were not reset. Thus the m_focus surface pointer could become invalid.
      
      Change-Id: Iee404219304ae7b2bae87131ab140ab134e98118
      Reviewed-by: default avatarGiulio Camuffo <giulio.camuffo@jollamobile.com>
      7f646611
  26. 19 Oct, 2015 - 2 commits
  27. 05 Oct, 2015 - 1 commit
  28. 02 Oct, 2015 - 3 commits
  29. 01 Oct, 2015 - 1 commit
  30. 25 Sep, 2015 - 1 commit