Commit Graph

22553 Commits

Author SHA1 Message Date
stefan11111
0de74bf2e9 modesetting: Simplify shadow functions
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
f06d370c70 modesetting: Fully port away from drmmode_bo
There are still things to simplify and fix

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
119ef93615 modesetting: Remove out in-tree dumb buffer implementation
Since libgbm was split from mesa, and a backend that works
with only dumb buffers was written, there is no reason why we
should roll out own dumb buffer implementation.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
f9589b3c3c Further port away from drmmode_bo
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
4e7201796c modesetting: Further port away from drmmode_bo
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
615ca5fd3c modesetting: Further port away from drmmode_bo
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
99dc40ff07 modesetting: fully port drmmode_bo_import to gbm
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
501b60f1d5 modesetting: move drmmode_bo_import to drmmode_bo.c
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
466ec86669 modesetting: Create only gbm front bo's
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
5acd66c8ee modesetting: Port backing bo the the gbm wrapper
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
12eceb7999 modesetting: Use gbm for probing the depth and bpp of the primary plane
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
26f2887008 modsetting: Port the cursor bo's to the gbm bo wrapper
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
26aa7c0d7e modesetting: Port drmmode_create_front_bo to the new gbm bo wrapper
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
a1872f51fb modesetting: Add infrastructure for creating and mapping gbm bo's
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
55eba2385c modesetting: Create a gbm device even without glamor
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
8be62ebcae modesetting: strip some trailing whitespaces
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
Enrico Weigelt, metux IT consult
b39baf6a07 Xext: shape: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 12:03:24 +01:00
Enrico Weigelt, metux IT consult
e482321d03 Xext: sync: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 12:03:16 +01:00
Enrico Weigelt, metux IT consult
571be2f014 Xext: vidmode: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 12:03:08 +01:00
stefan11111
2e31b2fdc0 modesetting: Check for unaligned pixmaps in modesetting's check_flip2 proc
If we do this in the generic present `check_flip`, we would have to
do it before we call the driver's `check_flip`.
This means that we wouldn't get a reason for the flip failure,
which we still need to report if we are in the middle of a flip.

Thanks to @nkalkhof For helping bisect this in
https://github.com/X11Libre/xserver/issues/1812

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-06 12:03:01 +01:00
stefan11111
1762a02331 modesetting/present.c: Initialze '*reason' in the check_flip2 proc
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-06 12:03:01 +01:00
stefan11111
dba40b75c4 present: revert 8ed09861dc
Part of fixing https://github.com/X11Libre/xserver/issues/1812

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-06 12:03:01 +01:00
Enrico Weigelt, metux IT consult
0343cad62a Xext: xcmisc: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 11:59:43 +01:00
Michel Dänzer
96c23315e4 composite: Skip copying parent pixmap contents when possible
If the parent window has a different depth (which means pWin can't have
valid contents yet) and pWin has effective background other than None.
2026-02-06 11:59:24 +01:00
Michel Dänzer
d6fc3aa717 Revert "composite: Only copy bits from the parent pixmap when absolutely necessary"
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.
2026-02-06 11:59:24 +01:00
Enrico Weigelt, metux IT consult
7c8851daca dri2: minor spelling fix: "screen" -> "pScreen"
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 11:58:47 +01:00
Enrico Weigelt, metux IT consult
2e7d7cec64 dri2: declare variables when needed in dri2WakeClient()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-06 11:58:24 +01:00
Enrico Weigelt, metux IT consult
f1fd3151ec Xext: xv: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-05 15:26:51 +01:00
Enrico Weigelt, metux IT consult
3780ef3ef1 xkb: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-05 15:26:33 +01:00
Enrico Weigelt, metux IT consult
08e62055ce dbe: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-05 15:26:09 +01:00
Enrico Weigelt, metux IT consult
b8ca69d8b7 xkb: declare variables when needed
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-05 15:25:48 +01:00
Enrico Weigelt, metux IT consult
54993683d2 xquartz: drop ifdef DAMAGE
It's always set anyways and planned to be removed.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-05 11:58:11 +01:00
stefan11111
a7454facc6 modesetting: Don't rely on gl for setting the cursor mask interleave
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>
2026-02-04 19:32:36 +01:00
Enrico Weigelt, metux IT consult
d05e018a59 xfree86: xlibre-server.h: announce new EDID parsing feature
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>
2026-02-04 17:25:13 +01:00
Enrico Weigelt, metux IT consult
3bd2c8aa1c render: drop internal server reset support
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-04 15:49:58 +01:00
Enrico Weigelt, metux IT consult
4395caee14 Xi: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping
much easier.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-04 12:52:48 +01:00
Enrico Weigelt, metux IT consult
e8ec547b93 xfree86: vgahw: rename scrninfp to pScrnInfo
Improve naming consisency.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-03 17:16:17 +01:00
Enrico Weigelt, metux IT consult
3cb0735a48 xfree86: ddc: new entry point for EDID parsing
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>
2026-02-03 16:57:02 +01:00
Enrico Weigelt, metux IT consult
25290ac9ee xfree86: ddc: simplify xf86InterpretEDID()
It's doing nothing but calling xf86InterpretEDID().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-03 16:40:18 +01:00
Enrico Weigelt, metux IT consult
847788ba72 Xnest: drop support for "full regeneration"
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>
2026-02-03 15:46:18 +01:00
Enrico Weigelt, metux IT consult
54b9c49987 Xext: xres: ProcXResQueryClientIds() use x_rpcbuf_t
Use x_rpcbuf_t instead of old own "Fragments" type for payload assembly.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-03 15:45:26 +01:00
Enrico Weigelt, metux IT consult
8cbf96e7b4 .github: fix title of commit signoff check
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-03 15:25:58 +01:00
Enrico Weigelt, metux IT consult
4642d6207f os: unexport SeatId and move it to dix settings
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>
2026-02-03 11:34:14 +01:00
Enrico Weigelt, metux IT consult
569f6f936f kdrive: mode KD_* defines into kinput.c
Only locally used there, so no need to keep them in global header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-03 10:44:52 +01:00
Enrico Weigelt, metux IT consult
a550540f67 xfree86: ddc: add xf86Monitor_gtf_supported()
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>
2026-02-02 19:32:38 +01:00
stefan11111
61aa2ede91 modesetting: Work around vm cursor pitch quirks
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>
2026-02-02 11:12:41 +01:00
Enrico Weigelt, metux IT consult
4ee2a5e16a dix: inline SProcGrabButton()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-31 16:20:28 +01:00
stefan11111
3913c997a9 kdrive/ephyr: Fix typo when checking for EGL_KHR_platform_x11
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-31 16:16:31 +01:00
Enrico Weigelt, metux IT consult
28d930b16c dix: inline SProcQueryColor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-31 16:16:19 +01:00
Enrico Weigelt, metux IT consult
3e4bb9a0d9 xfree86: exa: drop ifdef HAVE_XORG_CONFIG_H
Not really needed, because <xorg-config.h> is always present anyways.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-30 17:54:30 +01:00