25310 Commits (ea9d6ef4b3f6679583fe77d020055fb34a1d3a56)
 

Author SHA1 Message Date
Vlad Zahorodnii 7887f7c38b wayland: Remove some properties from public XdgPositioner api
Most of these properties have no use after introducing placement().
1 year ago
Vlad Zahorodnii df8ddb609b wayland: Keep transaction entries for deleted surfaces
If a transaction entry is removed, the graphics buffer reference will
be dropped and it's possible that the TransactionDmaBufLocker is going
to be destroyed as well.

If that happens, the transaction may remain in the locked state.
1 year ago
Vlad Zahorodnii 693fa8a968 wayland: Properly clear transaction list in TransactionDmaBufLocker
Transaction::unlock() can destroy buffer reference and thus also destroy
TransactionDmaBufLocker.
1 year ago
Vlad Zahorodnii 00c12aa766 wayland: Desynchronize transactions of the same client
At the moment transactions from the same client are applied in the
commit order even if the trasactions affect unrelated surfaces.

This patch desynchronizes transactions affecting unrelated surfaces.

With this, if a client updates two surfaces (as an example, Firefox with
two windows) and one of its surfaces takes longer to render, the other
surface is not going to be slowed down.

Another nice thing is that it removes client from Transaction, which
might be potentially useful to the Workspace for coordinated resize or
something.
1 year ago
Vlad Zahorodnii 4b6c83be12 wayland: Move unconstraining logic to XdgPositioner
This makes unconstraining code more reusable (in case of applet popups
use xdg-positioner too), and in general, it makes sense for better
encapsulation.
1 year ago
Xaver Hugl 23238b175a backends/drm: fix the hardware cursor with atomic modesetting + no modifier support
Unless we have explicit information of the opposite, buffers for the cursor need to be linear
1 year ago
Xaver Hugl 14f6103373 backends/drm: don't signal commit failure for the cursor
RenderLoop isn't built to handle that yet
1 year ago
Fushan Wen dded168d93 thumbnail_grid: use MouseArea as delegate root 1 year ago
Fushan Wen 463c18f9fa thumbnail_grid: allow screen reader to announce window name when pressing Alt+Tab
CCBUG: 472643
1 year ago
Vlad Zahorodnii dbad45d052 wayland: Introduce transactions
Transactions provide a way to apply new surface state to multiple
surfaces atomically.

A transaction can be locked. In which case, it's not going to be applied
until all locks are dropped. For example, this can be used to delay
applying new surface state until the committed buffers become idle.
1 year ago
Vlad Zahorodnii 79a0bc3f80 utils: Add static FileDescriptor::isReadable() overload 1 year ago
Vlad Zahorodnii 58904a358f wayland: Fix copying subsurface order state
When merging surface state to a fresh state container, subsurface order
state may be lost because subsurfaceOrderChanged can be false.
1 year ago
Vlad Zahorodnii 305847625f Revert "wayland: Property propagate modifier SurfaceState fields"
This reverts commit a101bc3628.
1 year ago
Vlad Zahorodnii 41e5409b23 wayland: Move frame callback destructor to SurfaceState destructor 1 year ago
Xaver Hugl 4c397a9526 backends/drm: split commits for the cursor and primary plane
And reorder and merge atomic commits where possible to ensure the cursor always
stays smooth

BUG: 472663
1 year ago
Vlad Zahorodnii 2e42d7193d wayland: Assign tablet cursor surface role 1 year ago
Vlad Zahorodnii 51e8cfc41b wayland: Refactor SurfaceRole
After introducing SurfaceExtension, SurfaceRole has lost its commit()
function. It serves informative purpose now only.

Shell surface implementations don't have to inherit from SurfaceRole.

By making SurfaceRole act more like a value type, it's possible to fix
role handling in wl_pointer.set_cursor.
1 year ago
Vlad Zahorodnii 36a548ad9f Disable Xinerama specific workarounds for layer shell windows
They should not be needed for layer shell windows and in fact can break
some cases where things are expected to work properly.
1 year ago
Vlad Zahorodnii 67dcf53e80 autotests: Add more test cases in LayerShellV1WindowTest::testPlacementArea 1 year ago
l10n daemon script 9df7954b66 GIT_SILENT Sync po/docbooks with svn 1 year ago
Vlad Zahorodnii 7d626363e4 autotests: Remove old kernel checks
CI runners have been upgraded.
1 year ago
Xaver Hugl 32ae9dd7d1 libkwineffects: rename major and minor methods
There's "major" and "minor" defines that can get implicitly included, for
example with musl libc. To prevent that from breaking compilation, rename
the methods
1 year ago
Fushan Wen f0c8a0c482
plugins/qpa: implement platform accessibility
This allows screen readers to read window titles in a tabbox.

BUG: 472643
FIXED-IN: 5.27.9
1 year ago
l10n daemon script 1fea924c34 GIT_SILENT Sync po/docbooks with svn 1 year ago
Ser Freeman 1236e3e83b effects/maximize: Set oldGeometry only on windowMaximizedStateAboutToChange
Since there is now exist the signal right before maximize, use it to
set oldGeometry instead of storing previous values every time with
windowFrameGeometryChanged.

This fixes the effect under Wayland.
1 year ago
Vlad Zahorodnii 6dd6e176e3 Move X11Compositor and WaylandCompositor in their own files 1 year ago
Vlad Zahorodnii 14ab38b596 composite.h -> compositor.h 1 year ago
Vlad Zahorodnii 9cf6011ba4 autotests: Don't be so paranoid about compositing type
In many cases it's irrelevant, what we care about is whether given effect
is loaded and performs its function. So remove these paranoid checks
except the tests where it's important to use OpenGL compositing.
1 year ago
l10n daemon script faea125299 GIT_SILENT Sync po/docbooks with svn 1 year ago
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
1 year ago
Xaver Hugl c0e44378ca libkwineffects: move render time query check to OpenGlContext 1 year ago
Xaver Hugl e401f3ff11 libkwineffects: drop gallium detection
It's not used anywhere
1 year ago
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.
1 year ago
Xaver Hugl 0a58bd04d5 libkwineffects: don't query OpenGL extensions twice 1 year ago
Xaver Hugl ed02051a4a libkwineffects: move x server version query to xcb utils 1 year ago
Xaver Hugl 05a389c3b3 libkwineffects: move version to string functions to the Version class 1 year ago
Xaver Hugl a5df88b0de libkwineffects: move linux kernel version query out of GLPlatform
It has nothing to do with OpenGL
1 year ago
Xaver Hugl e0c7878357 libkwineffects: move version into its own files 1 year ago
Xaver Hugl 5ce02c6811 libkwineffects: drop limited glsl detection
It's not actually used anywhere
1 year ago
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
1 year ago
Xaver Hugl f2dd1b3471 libkwineffects: align variable naming to the rest of KWin 1 year ago
Xaver Hugl 27f90476b4 libkwineffects: rename kwingl* files to gl* 1 year ago
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.
1 year ago
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.
1 year ago
Vlad Zahorodnii 60251bc1e4 wayland: Properly track subsurface position in parent surface state
It's a prerequisite for allowing to delay applying surface state.
1 year ago
Vlad Zahorodnii 25825f3970 wayland: Move subsurface stack in its own struct 1 year ago
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.
1 year ago
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.
1 year ago
Vlad Zahorodnii 1e255265c3 wayland: Post protocol error if popup parent has no surface role 1 year ago
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.
1 year ago