Xaver Hugl
9dd236c87b
plugins/qpa: use a surfaceless context for offscreen surfaces
...
According to Qt documentation, offscreen surfaces aren't actually for rendering,
so using a surffaceless context is ok
2023-09-07 21:13:16 +02:00
Xaver Hugl
c0e44378ca
libkwineffects: move render time query check to OpenGlContext
2023-09-07 21:13:16 +02:00
Xaver Hugl
e401f3ff11
libkwineffects: drop gallium detection
...
It's not used anywhere
2023-09-07 21:13:16 +02:00
Xaver Hugl
6d35a27f90
libkwineffects: drop checks for GLSL and NPOT
...
Instead, creating contexts that miss these features should fail directly,
making KWin fall back to software rendering.
While this commit also drops workarounds for broken drivers that do software
emulation for features we need, such workarounds belong into these drivers and
the user can still manually turn off compositing if needed.
2023-09-07 21:13:16 +02:00
Xaver Hugl
0a58bd04d5
libkwineffects: don't query OpenGL extensions twice
2023-09-07 21:13:16 +02:00
Xaver Hugl
ed02051a4a
libkwineffects: move x server version query to xcb utils
2023-09-07 21:13:16 +02:00
Xaver Hugl
05a389c3b3
libkwineffects: move version to string functions to the Version class
2023-09-07 21:13:16 +02:00
Xaver Hugl
a5df88b0de
libkwineffects: move linux kernel version query out of GLPlatform
...
It has nothing to do with OpenGL
2023-09-07 21:13:15 +02:00
Xaver Hugl
e0c7878357
libkwineffects: move version into its own files
2023-09-07 21:11:11 +02:00
Xaver Hugl
5ce02c6811
libkwineffects: drop limited glsl detection
...
It's not actually used anywhere
2023-09-07 16:41:22 +02:00
Xaver Hugl
451947b282
backends/x11/standalone: extract glx context into a separate class
...
This commit also drops most of the code around checks for direct rendering. If
direct rendering isn't supported, creating the OpenGL context will now simply fail,
achieving the same effect
2023-09-07 16:41:22 +02:00
Xaver Hugl
f2dd1b3471
libkwineffects: align variable naming to the rest of KWin
2023-09-07 16:41:22 +02:00
Xaver Hugl
27f90476b4
libkwineffects: rename kwingl* files to gl*
2023-09-07 16:41:22 +02:00
Vlad Zahorodnii
a51277f88a
wayland: Remove QPointer from public SurfaceInterface api
...
QPointer is not meant for return values. There are also performance
considerations to avoid returning QPointer.
2023-09-07 14:14:40 +03:00
Vlad Zahorodnii
dcadf24e64
wayland: Introduce surface state locking capabilities
...
In certain cases it can be useful to delay applying a surface commit. As
an example, the compositor may wait until the committed graphics buffer
is ready for reading to avoid stalling its graphics pipeline.
This change introduces basic surface state locking capabilities and
ports some surface extensions to new helpers to manage associated state.
2023-09-06 13:58:59 +00:00
Vlad Zahorodnii
60251bc1e4
wayland: Properly track subsurface position in parent surface state
...
It's a prerequisite for allowing to delay applying surface state.
2023-09-06 13:58:59 +00:00
Vlad Zahorodnii
25825f3970
wayland: Move subsurface stack in its own struct
2023-09-06 13:58:59 +00:00
Vlad Zahorodnii
a101bc3628
wayland: Property propagate modifier SurfaceState fields
...
Currently, committed fields are contiguously accumulated. With this, it
will be possible to see what fields have been committed when the
committed() signal is emitted.
2023-09-06 13:58:59 +00:00
Vlad Zahorodnii
5fbdd0decc
wayland: Refactor xdg-shell handling
...
It would be nice if xdg-surface and xdg-surface role state are in a
single object so it's easier to stash them. This change refactors
xdg-shell handling to allow that.
xdg-surface state now belongs to xdg-toplevel or xdg-popup state.
2023-09-06 13:58:59 +00:00
Vlad Zahorodnii
1e255265c3
wayland: Post protocol error if popup parent has no surface role
2023-09-06 09:24:21 +00:00
Kai Uwe Broulik
dc2965efad
scene: Set preferred output scale for DND icon
...
Otherwise the icon will have a scale of 1, leading to blurry
drag pixmaps on Wayland.
2023-09-05 18:41:29 +00:00
Nate Graham
8727fcb752
Remove versioning from PlasmaCore module imports
...
It's unneeded in Qt6 and can cause subtle issues.
2023-09-05 09:33:14 -06:00
Xaver Hugl
76c3e57bef
backends/drm: allow cursor updates to be done independently of the scene
...
This way the scene doesn't get rendered when you move the cursor
2023-09-05 14:36:55 +00:00
Xaver Hugl
e9d3d228bb
libkwineffects/kwinglutils: always enable error message printing
...
It makes no sense to lock that behind an env var. If there's errors those
should always be printed so that we know about them without further investigation
2023-09-05 13:23:36 +00:00
Xaver Hugl
69187e86ab
libkwineffects/glvertexbuffer: remove color handling
...
It's a remnant of OpenGL 1 times. If some piece of code wants a specific
color, it should set the uniform of the used shader itself
2023-09-05 13:23:36 +00:00
Xaver Hugl
43cbd2834c
libkwineffects/glvertexbuffer: don't crash if mapping fails
2023-09-05 13:23:36 +00:00
Xaver Hugl
ab3e517d8a
libkwineffects/glvertexbuffer: simplify setAttribLayout
2023-09-05 13:23:36 +00:00
Xaver Hugl
617f3b9000
libkwineffects/glvertexbuffer: add a better helper for uploading vertices
2023-09-05 13:23:36 +00:00
Xaver Hugl
cbe8d21f07
libkwineffects: split kwinglutils into multiple files
...
A single 2000+ line file isn't great to work with
2023-09-05 13:23:36 +00:00
Xaver Hugl
43b9dc7eee
libkwineffects/kwinglutils: use std::bitset instead of a custom implementation
2023-09-05 13:23:36 +00:00
Xaver Hugl
e5f9e54944
libkwineffects/kwinglutils: simplify index buffer implementation
2023-09-05 13:23:36 +00:00
l10n daemon script
c59d0aafa2
GIT_SILENT Sync po/docbooks with svn
2023-09-05 02:13:14 +00:00
Kai Uwe Broulik
23bbc75b12
plugins/{blur,contrast}: Take into account window opacity
...
Fixes excessive blur/contrast behind a semi-transparent window.
2023-09-04 17:53:32 +02:00
Aleix Pol Gonzalez
3d2a3de07e
wayland: Release all keys upon keyboard leaving
...
Biggest most annoying symptom was that the window was rendered unusable
after alt+tab, but any other combination is also problematic.
2023-09-04 10:24:53 +00:00
Mikhail Vinogradov
82be16df29
Try to refresh textInput active focus status
2023-09-04 08:45:43 +00:00
Kai Uwe Broulik
861105248d
screenedge: Don't trigger when a mouse button is pressed
...
Avoids accidentally triggering an edge when dragging a scroll bar or
text selection all the way to the screen edge.
Special case for moving windows, as you want to be able to drag
a window to an edge to switch virtual desktops.
2023-09-04 08:30:01 +00:00
Vlad Zahorodnii
8470ee03dc
Drop Compositor::scheduleRepaint()
...
Its the only user is the standalone X11 backend, but it can use
RenderLoop.
2023-09-04 07:10:44 +00:00
Vlad Zahorodnii
79cb5fc6e2
backends/x11: Port away from Compositor::scheduleRepaint()
...
Compositor::scheduleRepaint() needs some knowledge of the composited
layers, which would be great to get rid of to split wayland and x11
compositing bits.
2023-09-04 07:10:44 +00:00
l10n daemon script
b88e84b120
GIT_SILENT Sync po/docbooks with svn
2023-09-03 02:59:29 +00:00
l10n daemon script
4fe176cb94
GIT_SILENT Sync po/docbooks with svn
2023-09-02 02:22:26 +00:00
Alexander Lohnau
91f027be51
Specify KPackageStructure instead of KPackageType in knsrc files
...
The latter is removed in KF6
CCBUG: 474026
2023-09-01 20:20:07 +00:00
Kai Uwe Broulik
dadd7bb545
debug_console: Support KWin::Window* property type
...
Display the window caption and class name (safe for the icon) like is done
with the windows themselves.
Eases debugging properties, such as "transientFor".
2023-09-01 18:52:03 +00:00
Nicolas Fella
64cc884029
Use keyword signature for target_link_libraries call
2023-09-01 19:45:36 +02:00
Vlad Zahorodnii
b78258e464
backends/drm: Guard against null crtc in DrmPipeline::updateCursor
...
The null check was lost in fe1d4ffbc5
.
BUG: 473963
2023-08-31 14:19:43 +00:00
Nate Graham
07773512c8
tabbox/switchers/thumbnail_grid: remove unnecessary second Math.round()
...
Fixup for 996730d3
2023-08-31 07:38:02 -06:00
Nate Graham
996730d310
tabbox/switchers/thumbnail_grid: refine icon positioning
...
This way it won't overlap the label when using a font with unusual
metrics.
BUG: 473690
2023-08-30 15:17:26 -06:00
Xaver Hugl
1d1981b0f4
backends/drm: make buffer age environment variable work again
...
It can be very useful for debugging
2023-08-30 11:11:33 +00:00
Xaver Hugl
1c18d11206
backends/drm: replace drmModeAtomicCommit with a custom implementation
...
drmModeAtomicCommit does additional allocations and sorting that KWin doesn't
use or need
2023-08-30 10:46:58 +00:00
Vlad Zahorodnii
dee8a3b3a7
Clear decoration focus when window closes
...
If the window closes, we need to reset the focused decoration object.
BUG: 473244
2023-08-30 09:28:03 +00:00
Kai Uwe Broulik
5572e390c4
XdgToplevelWindow: Consider app responsive only if sent ping was received
...
> Pass the serial specified in the event back to the compositor by sending
> a "pong" request back with the specified serial.
2023-08-29 19:18:49 +02:00