Commit graph

25881 commits

Author SHA1 Message Date
Vlad Zahorodnii
c970d3261b core: Add OutputTransform::FlipY convenience aliases
`flip-y | rotate-N` transforms are equivalent to `flip-x | rotate-N`.
However, it is not intuitive to express transforms that flip the y axis
via flip-x transforms. This change adds convenience aliases to improve
code readability and keep code intuitive, which is going to be needed in
order to drop TextureTransforms flags.
2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
9039612c20 core: Rename OutputTransform enums 2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
47017d19de core: Make flip transform first
The wayland spec says we must flip first. FWIW it also matches how
kms processes reflect-x and reflect-y.
2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
1905f7586e core: Change winding order of OutputTransform
Wayland spec says we must rotate counterclockwise.
2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
11aa9abfe2 core: Drop viewport arg in RenderTarget::applyTransformation() 2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
b733bb69bf core: Cleanup OutputTransform::map(QRectF,QRect)
Return the resulting value immediately than use moveLeft(),moveRight().
It makes no difference for QRectF, but it might be nicer for QRect which
would need to recompute the right and bottom coordinates twice.

I wanted to do this refactoring for a while but didn't do it due to the
lack of test coverage.
2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
e6853a9109 core: Add OutputTransform::map(QPointF,QPoint) 2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
a9b01a68b8 core: Add OutputTransform::map(QRect,Size) overloads
These can be useful in case a QRect needs to be mapped. One could
convert the QRect into a QRectF and then back to QRect, but given that
these conversion helpers are present in rendering hot paths, it would
be great to be more efficient and also potentially loosing precision
because of floating point arithmetic.
2024-01-09 17:42:09 +00:00
Vlad Zahorodnii
98a1b5098a core: Add OutputTransform::toMatrix() 2024-01-09 17:42:09 +00:00
Xaver Hugl
7f9cbbaa98 core/renderloop: improve frame scheduling heuristics with VRR
Instead of checking for fullscreen windows and deciding whether or not to schedule repaints
based on that, check if the active window is refreshing fast enough to be reasonable for vrr.
For automatic mode, vrr is also enabled with the active window instead of the direct scanout
candidate.

BUG: 478680
BUG: 477199
2024-01-09 17:06:01 +00:00
Xaver Hugl
e1373ae2e1 scene: add the presentation hint to Item
With this, the RenderLoop can use the Item instead of having to directly
deal with Wayland surfaces
2024-01-09 17:06:01 +00:00
Fushan Wen
a4283a2437 backends/x11: convert source cursor image to BGRX format
XCB_IMAGE_FORMAT_Z_PIXMAP is in BGRX format.

BUG: 476198
FIXED-IN: 6.0
2024-01-09 17:04:01 +00:00
Vlad Zahorodnii
9bbcc746c6 scene: Fix clipping in software cursor 2024-01-09 15:35:37 +00:00
Vlad Zahorodnii
5bb209a869 Install all core headers 2024-01-09 13:43:50 +00:00
Xaver Hugl
f222eb1d24 core: ensure icc profiles contain valid colorimetry 2024-01-09 12:42:07 +00:00
Xaver Hugl
a8d2fe5c2e core: refactor colorimetry a bit and add a constructor
That way the vectors can never be uninitialized, and the to/fromXYZ matrices
can be cached
2024-01-09 12:42:07 +00:00
Xaver Hugl
58a2a3cf81 utils: install all the headers
BUG: 479068
2024-01-09 08:51:31 +00:00
Stefan Hoffmeister
429b421dd4 scene: Fix scaled rendering of software cursors
BUG: 479154
2024-01-09 08:46:27 +00:00
Vlad Zahorodnii
c24a157581 backends/drm: Clear damage journal when switching between compositing and direct scanout
When returning back from direct scanout to compositing, the whole frame
has to be repainted because the most recent buffer in the EGL swapchain
contains outdated contents now.

This change works around it by purging the DamageJournal when scanning
out a buffer. However, a nicer solution would be to assign a unique
sequence number to every frame and use that to index the entries in the
DamageJournal. It's a nicer design. With such absolute frame numbers,
the DamageJournal could properly detect discontinueties.

Given the final release is in close proximity, this change doesn't go
after such a refactoring.
2024-01-09 07:26:42 +00:00
zhang yu
cbb95f5649 quit tile window when it is maxied in wayland env 2024-01-09 07:10:58 +00:00
l10n daemon script
b561224ad0 GIT_SILENT Sync po/docbooks with svn 2024-01-09 02:12:50 +00:00
Aleix Pol Gonzalez
df3e894c1a wayland: Install display.h
It's needed to properly access KWin::effects->waylandDisplay().

Signed-off-by: Georg Leugner <georg.leugner@mbition.io>
2024-01-08 23:06:43 +00:00
Xaver Hugl
e2878e912a core: move vrr and tearing control out of RenderLoop
This way the vrr setting is in Output like all the other settings, and the
RenderLoop can handle tearing not working better too
2024-01-08 17:41:13 +01:00
Xaver Hugl
e1d4c0e092 core: move content type to OutputFrame 2024-01-08 17:41:07 +01:00
David Edmundson
160f6069e8 Add missing header file to installation
BUG: 479423
2024-01-08 11:39:34 +00:00
l10n daemon script
97663e0e9d GIT_SILENT Sync po/docbooks with svn 2024-01-08 02:18:13 +00:00
l10n daemon script
7effcf46f4 GIT_SILENT Sync po/docbooks with svn 2024-01-07 02:49:10 +00:00
l10n daemon script
77375055a8 GIT_SILENT Sync po/docbooks with svn 2024-01-06 02:13:56 +00:00
l10n daemon script
5166597d3e GIT_SILENT Sync po/docbooks with svn 2024-01-05 02:15:46 +00:00
l10n daemon script
8964080f18 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-05 02:08:11 +00:00
l10n daemon script
de6f35de2a GIT_SILENT Sync po/docbooks with svn 2024-01-04 02:20:35 +00:00
l10n daemon script
236794aad9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-04 02:08:46 +00:00
l10n daemon script
53d4d572ea GIT_SILENT Sync po/docbooks with svn 2023-12-31 02:50:03 +00:00
l10n daemon script
5010606d59 GIT_SILENT Sync po/docbooks with svn 2023-12-30 02:22:24 +00:00
l10n daemon script
577240c3db GIT_SILENT Sync po/docbooks with svn 2023-12-29 02:18:33 +00:00
l10n daemon script
f294b06fa6 GIT_SILENT Sync po/docbooks with svn 2023-12-28 02:17:39 +00:00
l10n daemon script
0367928d58 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-28 02:07:19 +00:00
Kai Uwe Broulik
40fcce83ba screenedge: Allow certain actions during drag and drop
Most actions do not handle drag and drop properly yet (e.g. entering
the overview during drag and drop is just very broken), at least
allow "show desktop" and "application launcher".

This allows to easily drag a file onto the desktop by starting a drag,
nudging the "show desktop" screen edge and dropping it on the desktop.
2023-12-27 08:11:45 +00:00
Kai Uwe Broulik
b5fb9db369 input: Move drag and drop filter after screen edge filter
Allows screen edges to react to events even during drag and drop.
2023-12-27 08:11:45 +00:00
l10n daemon script
032891be60 GIT_SILENT Sync po/docbooks with svn 2023-12-24 02:55:01 +00:00
l10n daemon script
c752246925 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-24 02:31:40 +00:00
l10n daemon script
50c070f55e GIT_SILENT Sync po/docbooks with svn 2023-12-23 02:35:12 +00:00
Xaver Hugl
7dbdea3697 wayland/outputdevice: fix updating brightness overrides 2023-12-22 19:52:13 +00:00
Xaver Hugl
6832aee3a2 autotests: add very basic ColorDescription mapping test 2023-12-22 20:25:44 +01:00
Stefan Hoffmeister
33beb28b5f autotests/drm: Fix connector_type_id usage 2023-12-22 18:39:21 +01:00
Vlad Zahorodnii
51642177e3 Add Window.clientGeometry property 2023-12-22 13:45:08 +00:00
Xaver Hugl
d24568a89c backends/drm: fix typo 2023-12-22 13:15:26 +00:00
Xaver Hugl
b24505a447 backends/drm: fix night color with ICC profiles
Until night color is dealt with properly by adjusting the output whitepoint,
the channel factors have to be multiplied in with the color transformation
matrix manually

BUG: 413134
2023-12-22 13:00:35 +00:00
Xaver Hugl
8b1fddffbe backends/drm: move color description creation to DrmOutput
It being in DrmPipeline just meant that a whole bunch of settings had to
be duplicated there, without any real reason
2023-12-22 12:28:00 +00:00
Xaver Hugl
4425bcd4e0 backends/drm: handle missing brightness values in the EDID better
Most importantly, fall back to an assumption of 1000 nits peak brightness when the
max brightness is missing, instead of the sdr brightness, which causes more immediately
visible issues.
Ideally the user should configure this value in the display settings, but it's too
late to still do that for Plasma 6.0.

BUG: 478860
2023-12-22 12:28:00 +00:00