This reverts commit 2ab2454151
In the pParent->drawable.depth == pWin->drawable.depth case, pWin may
already have valid contents, which need to be copied to the new pixmap.
If glamor isn't used, gl isn't initialized.
This can lead to the wrong cursor mask interleave value to be used.
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
Adding a #define in xlibre-server.h that drivers can #ifdef on,
in order to check for the new EDID parsing API.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The old ones didn't know the block size, so couldn't deduce the block
type version. With upcoming new features, eg. HDR, we need to know the
block type version in order to know what we can extract from it.
This new function should now be used by all drivers, the old ones shall
be phased out.
That commit should be backported to 25.0 and 25.1 releases, so drivers
can remain compatible with all existing release lines.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This is (rarely used) special mode where, at server regeneration
(when last client exited), Xnest is additionally terminating and
restarting it's upstream connection, thus also recreating it's
main window, etc.
That mode is only meant for special debug scenarios, not suited for
practical use. And the same can be achieved by just terminating the
whole Xnest process (-terminate cmdline arg) and restrting it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Not used by any external module/driver, so no need to keep it
public. Also move it to the new dix settings code and rename it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
replacement for GTF_SUPPORTED() macro that's not a good API isolation
at all. Drivers should use that function instead for checking whether
the monitor supports GTF.
Should be backported to older releases, too - so drivers don't need
extra per-Xserver-version tweaks.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
When running in a virtual machine, the cursor pitch
may not behave the same as it does on bare metal.
This patch disables a power consumption optimization
when running in a vm, working around the cursor pitch issues.
This means that some vm users who previously had a working
cursor pitch may now see some increased power consumption.
Fixes: https://github.com/X11Libre/xserver/issues/1816
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
Not used by external drivers, and not part of ABI (just an inline),
so no need to keep it it public SDK header.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
ms_do_pageflip function temporary creates and destroy drmmode_bo object, but
the structure is stack ( values goes uninitialized). This became problem
because in f4362fc4ec drmmode_bo struct got extra
fields which is checked during drmmode_bo_destroy and causes crash.
Signed-off-by: Tautvis <gtautvis@gmail.com>
When a group indicator (or a latched indicator of any kind) is defined,
e.g.:
indicator "Scroll Lock" { groups = Group2; }
the logical and physical indicator state may desync across multiple
connected keyboards.
This is caused by XkbPushLockedStateToSlaves only pushing locked_mods to
the slave devices. Pushing locked_group (as well as latched groups/mods)
along with locked_mods resolves the issue.
The issue is not observed with API calls because a different code path
is taken (avoiding XkbPushLockedStateToSlaves altogether).
Signed-off-by: Alexander Melnyk <inboxnumberzero@zoho.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2120>
Moved the cursor glyph cropping into a separate function that handles reflections and rotations.
Also, x/y are indexes into the buffer, so they should be clamped to width/height len - 1 for correctness.
Signed-off-by: John Studnicka <contact@zentec.dev>