1. 18 Feb, 2021 1 commit
  2. 10 Feb, 2021 1 commit
    • Vlad Zahorodnii's avatar
      Move source code to src/ directory · 93e0265e
      Vlad Zahorodnii authored
      Once in a while, we receive complaints from other fellow KDE developers
      about the file organization of kwin. This change addresses some of those
      complaints by moving all of source code in a separate directory, src/,
      thus making the project structure more traditional. Things such as tests
      are kept in their own toplevel directories.
      
      This change may wreak havoc on merge requests that add new files to kwin,
      but if a patch modifies an already existing file, git should be smart
      enough to figure out that the file has been relocated.
      
      We may potentially split the src/ directory further to make navigating
      the source code easier, but hopefully this is good enough already.
      93e0265e
  3. 09 Dec, 2020 2 commits
  4. 27 Nov, 2020 1 commit
    • Aleix Pol Gonzalez's avatar
      screencating: query for dmabuf availability before we start streaming · cea27813
      Aleix Pol Gonzalez authored and Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez committed
      As things are right now, we can only do 32bit textures for dmabuf (see
      gbm_bo_format in gbm.h). This means that we were lying to our receivers
      when we had 24bit textures by then giving a 32bit texture instead.
      
      This changes it so we request a dummy texture before starting and if we
      are offered one we assume they're available and offer a 32bits stream
      directly (i.e. BGRA).
      cea27813
  5. 24 Nov, 2020 1 commit
    • Vlad Zahorodnii's avatar
      Introduce infrastructure for compositor extensions · c766e5da
      Vlad Zahorodnii authored
      The scripting api is not suitable for implementing all features that
      should not be implemented in libkwin. For example, the krunner
      integration or screencasting are the things that don't belong to be
      compiled right into kwin and yet we don't have any other choice.
      
      This change introduces a quick and dirty plugin infrastructure that
      can be used to implement things such as colord integration, krunner
      integration, etc.
      c766e5da
  6. 23 Nov, 2020 1 commit
  7. 20 Oct, 2020 1 commit
  8. 19 Oct, 2020 1 commit
    • Vlad Zahorodnii's avatar
      screencast: Use fences to avoid stalling the graphics pipeline · 9c20df50
      Vlad Zahorodnii authored
      Currently, we use glFinish() to ensure that stream consumers don't see
      corrupted or rather incomplete buffers. This is a serious issue because
      glFinish() not only prevents the gpu from processing new GL commands,
      but it also blocks the compositor.
      
      This change addresses the blocking issue by using native fences. With
      the proposed change, after finishing recording a frame, a fence is
      inserted in the command stream. When the native fence is signaled, the
      pending pipewire buffer will be enqueued.
      
      If the EGL_ANDROID_native_fence_sync extension is not supported, we'll
      fall back to using glFinish().
      9c20df50
  9. 09 Sep, 2020 1 commit
  10. 21 Aug, 2020 1 commit
  11. 07 Aug, 2020 2 commits
    • Vlad Zahorodnii's avatar
      Prettify license headers · 4ce853e8
      Vlad Zahorodnii authored
      4ce853e8
    • Vlad Zahorodnii's avatar
      Switch to SPDX license markers · 1fb9f6f1
      Vlad Zahorodnii authored
      The main advantage of SPDX license identifiers over the traditional
      license headers is that it's more difficult to overlook inappropriate
      licenses for kwin, for example GPL 3. We also don't have to copy a
      lot of boilerplate text.
      
      In order to create this change, I ran licensedigger -r -c from the
      toplevel source directory.
      1fb9f6f1
  12. 28 Jul, 2020 2 commits
  13. 24 Jul, 2020 1 commit
  14. 23 Jul, 2020 1 commit