1. 27 Oct, 2021 1 commit
  2. 22 Oct, 2021 1 commit
  3. 20 Oct, 2021 3 commits
  4. 30 Sep, 2021 1 commit
  5. 17 Sep, 2021 1 commit
    • Xaver Hugl's avatar
      platforms/drm: re-use buffers for testing · 746e7b6c
      Xaver Hugl authored
      b38bb416 introduced flicker when restarting compositing because the
      DrmGpu::findWorkingCombination method usually creates new buffers for
      the commit, without rendering into them. Instead of that, re-use
      existing buffers where possible
      
      
      (cherry picked from commit a7a515a0)
      746e7b6c
  6. 10 Sep, 2021 1 commit
  7. 07 Sep, 2021 1 commit
  8. 27 Aug, 2021 1 commit
  9. 26 Aug, 2021 2 commits
  10. 25 Aug, 2021 3 commits
  11. 23 Aug, 2021 1 commit
  12. 16 Aug, 2021 2 commits
    • Xaver Hugl's avatar
      platforms/drm: explicit modifiers · 26dff99f
      Xaver Hugl authored
      IN_FORMATS contains information about which buffer formats can be
      scanned out with a given drm plane. Using these plane-specific
      format+modifier combinations as well as explicit modifiers in
      general can yield bandwidth and performance improvements,
      especially in multi-gpu systems.
      26dff99f
    • Vlad Zahorodnii's avatar
      Make EGL_KHR_surfaceless_context mandatory · 7f883fa7
      Vlad Zahorodnii authored
      We use surfaceless contexts with internal windows. We also require
      the EGL_KHR_surfaceless_context extension for making context current
      without outputs.
      
      Arguably, we could use pbuffers, but since mainstream drivers (Mesa and
      NVIDIA) support surfaceless contexts, the extra complexity doesn't buy
      us anything.
      7f883fa7
  13. 07 Aug, 2021 1 commit
    • Xaver Hugl's avatar
      platforms/drm: introduce virtual outputs · 1041ef82
      Xaver Hugl authored
      When the last output gets disconnected, create a virtual output as a
      placeholder until we have access to a physical output again. While
      this placecholder never gets rendered to, with virtual outputs in
      general that is possible (with gbm and qpainter atm) and can be done
      for future use cases like wireless displays.
      
      CCBUG: 420160
      CCBUG: 438839
      1041ef82
  14. 24 Jul, 2021 1 commit
  15. 23 Jul, 2021 1 commit
    • Vlad Zahorodnii's avatar
      wayland: Switch to ClientBuffer · 964c487d
      Vlad Zahorodnii authored
      The main motivation behind the split is to simplify client buffer code
      and allow adding new features easier, for example referencing the shm
      pool when a shm buffer is destroyed, or monitoring for readable linux
      dmabuf file descriptors, etc.
      
      Also, a referenced ClientBuffer cannot be destroyed, unlike the old
      BufferInterface.
      964c487d
  16. 15 Jul, 2021 1 commit
  17. 10 Jul, 2021 3 commits
  18. 22 Jun, 2021 1 commit
  19. 21 Jun, 2021 1 commit
  20. 10 Jun, 2021 1 commit
    • Aleix Pol Gonzalez's avatar
      Only create the viewport as needed · fffd41b3
      Aleix Pol Gonzalez authored
      So far, we were creating a model view with the complete scene rendered
      (even if we didn't render the windows themselves). This required us to
      have a big glPerspective spanning the entire scene and we were just
      cropping it as we rendered it into a smaller texture.
      
      This changes our scenes so we have the correct matrix set up at all
      times.
      
      Specifically in the case of the Pinephone, this solves the following
      issue where we were unable to connect external displays because it
      exceeded GL_MAX_VIEWPORT_DIMS:
      teams/plasma-mobile/issues#11
      fffd41b3
  21. 08 Jun, 2021 1 commit
  22. 07 Jun, 2021 2 commits
  23. 01 Jun, 2021 1 commit
  24. 31 May, 2021 1 commit
  25. 27 May, 2021 1 commit
    • Xaver Hugl's avatar
      Rearrange wayland startup sequence · 2742e5b4
      Xaver Hugl authored
      The backend can now optionally wait for the scene to be created before
      it updates its outputs, which is necessary for better atomic tests in
      the DRM backend.
      2742e5b4
  26. 18 May, 2021 2 commits
    • Xaver Hugl's avatar
      platforms/drm: CPU copy for multi-gpu · 7de0f1f2
      Xaver Hugl authored
      Not all GPUs can scan out linear buffers, so if import with a dmabuf
      fails manually copy the data into a non-linear gbm buffer instead.
      
      BUG: 432707
      7de0f1f2
    • Vlad Zahorodnii's avatar
      Decouple window pixmaps from scene windows · 0f2f69ad
      Vlad Zahorodnii authored
      One of the scene redesign goals is to make wayland surface items
      re-usable. So we have the same rendering path for drag-and-drop icons,
      software cursors, and window surfaces.
      
      The biggest issue at the moment is that window pixmaps are tightly
      coupled with scene windows.
      
      This change de-couples window pixmaps from scene windows. In order to
      achieve that, some architecture changes were made.
      
      The WindowPixmap class was replaced with the SurfacePixmap class. A
      surface pixmap is created by a surface item.
      
      Under the hood, a SurfacePixmap will create a PlatformSurfaceTexture
      object, which contains all the information necessary for the renderer.
      
      The SceneOpenGLTexture class was removed. However, the GLX and the EGL
      on X11 backends still mess with GLTexture's internals.
      0f2f69ad
  27. 04 May, 2021 1 commit
  28. 28 Apr, 2021 2 commits
  29. 27 Apr, 2021 1 commit