https://bugs.kde.org/show_bug.cgi?id=506240

Zamundaaa <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/6e92dc06dd
                   |                            |dd36a4e724f85043d299572d95f
                   |                            |764
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Zamundaaa <[email protected]> ---
Git commit 6e92dc06dddd36a4e724f85043d299572d95f764 by Xaver Hugl.
Committed on 05/05/2026 at 19:22.
Pushed by zamundaaa into branch 'master'.

opengl/egldisplay: allow importing shm buffers through udmabuf

When the import works, it avoids a blocking CPU-side copy of the buffer in
KWin.
This can radically improve performance with applications that use shm buffers.

On my hi-dpi laptop, scrolling in KDevelop previously caused KWin to have
80-90%
CPU usage on one core, while with this commit, it's about 20%. This also
noticeably improves the responsiveness of the cursor above such applications,
since the main thread no longer spends so much time on shm uploads.

In order to get these performance gains, applications have to allocate the shm
buffers with some additional restrictions: The shm pool must be aligned to page
sizes on the system, and the stride of the buffer must be compatible with the
GPU used by the compositor (256 bytes alignment should always work).
There is additionally a possible fast path for uploads with Vulkan that doesn't
have any requirements on the stride, but that can be implemented later on.
Related: bug 513295

M  +11   -3    src/opengl/egldisplay.cpp
M  +124  -23   src/scene/opengl/texture.cpp
M  +4    -0    src/scene/opengl/texture.h

https://invent.kde.org/plasma/kwin/-/commit/6e92dc06dddd36a4e724f85043d299572d95f764

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to