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

Zamundaaa <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/8548b5fdc2
                   |                            |540b4c093756176e97fcbb2ee92
                   |                            |080

--- Comment #45 from Zamundaaa <[email protected]> ---
Git commit 8548b5fdc2540b4c093756176e97fcbb2ee92080 by Xaver Hugl.
Committed on 10/12/2025 at 12:09.
Pushed by zamundaaa into branch 'master'.

implement mirroring in a better way

Instead of awkwardly changing the scale and position of outputs to make their
viewports overlap, this makes use of the split between logical and backend
outputs and only creates one logical output for the two backend outputs.
This has the benefit that window management code, effects and applications only
see the one output, which removes a whole bunch of user visible problems.

To render a logical output on a display with potentially mismatching aspect
ratio, this also adds infrastructure to have an offset (black bar) when
compositing on a mirroring display. With the projection matrix and item
renderer adjusted to handle that offset, effects only need very few changes.

M  +9    -9    autotests/integration/drm_test.cpp
M  +1    -0    autotests/integration/kwin_wayland_test.cpp
M  +10   -9    autotests/integration/layershellv1window_test.cpp
M  +85   -17   autotests/integration/outputchanges_test.cpp
M  +1    -1    src/backends/drm/drm_egl_layer_surface.cpp
M  +2    -0    src/backends/drm/drm_output.cpp
M  +3    -0    src/backends/virtual/virtual_output.cpp
M  +1    -1    src/backends/virtual/virtual_qpainter_backend.cpp
M  +4    -4    src/backends/wayland/wayland_backend.cpp
M  +1    -1    src/backends/wayland/wayland_output.cpp
M  +1    -1    src/backends/x11/x11_windowed_egl_backend.cpp
M  +1    -1    src/backends/x11/x11_windowed_output.cpp
M  +1    -1    src/backends/x11/x11_windowed_qpainter_backend.cpp
M  +82   -67   src/compositor.cpp
M  +3    -3    src/compositor.h
M  +25   -51   src/core/backendoutput.cpp
M  +23   -42   src/core/backendoutput.h
M  +7    -3    src/core/output.cpp
M  +4    -0    src/core/output.h
M  +2    -0    src/core/outputconfiguration.h
M  +5    -1    src/core/renderloop.cpp
M  +38   -19   src/core/renderviewport.cpp
M  +11   -3    src/core/renderviewport.h
M  +1    -1    src/effect/offscreeneffect.cpp
M  +5    -0    src/effect/offscreenquickview.cpp
M  +7    -1    src/kscreenintegration.cpp
M  +2    -2    src/main.cpp
M  +64   -84   src/outputconfigurationstore.cpp
M  +1    -1    src/outputconfigurationstore.h
M  +11   -11   src/plugins/blur/blur.cpp
M  +1    -1    src/plugins/colorpicker/colorpicker.cpp
M  +1    -1    src/plugins/screencast/outputscreencastsource.cpp
M  +1    -1    src/plugins/screencast/regionscreencastsource.cpp
M  +1    -1    src/plugins/screencast/windowscreencastsource.cpp
M  +3    -3    src/plugins/screenshot/screenshot.cpp
M  +2    -2    src/plugins/screentransform/screentransform.cpp
M  +1    -1    src/plugins/showpaint/showpaint.cpp
M  +3    -2    src/plugins/zoom/zoom.cpp
M  +10   -6    src/scene/itemrenderer_opengl.cpp
M  +1    -0    src/scene/itemrenderer_opengl.h
M  +39   -19   src/scene/scene.cpp
M  +12   -7    src/scene/scene.h
M  +8    -8    src/scene/workspacescene.cpp
M  +1    -1    src/scene/workspacescene.h
M  +1    -1    src/scripting/windowthumbnailitem.cpp
M  +3    -3    src/wayland/output.cpp
M  +2    -2    src/wayland/output_order_v1.cpp
M  +4    -4    src/wayland/outputdevice_v2.cpp
M  +1    -1    src/wayland/outputmanagement_v2.cpp
M  +18   -9    src/workspace.cpp
M  +1    -1    src/xwayland/xwayland.cpp

https://invent.kde.org/plasma/kwin/-/commit/8548b5fdc2540b4c093756176e97fcbb2ee92080

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

Reply via email to