Commit Graph

22183 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
064e5f2ddf os: drop OsCleanup()
Since we're always terminating now, everbody can call UnlockServer()
directly, so we don't need that extra function anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-20 11:19:02 +01:00
Enrico Weigelt, metux IT consult
1ae9646936 pseudoramiX: unexport noPseudoramiXExtension
Not used by any driver (not even by xf86 at all), so no need to
keep it exported. Also disposing the now empty nonsdk_extinit.h,
which also isn't used by any drivers.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-19 13:32:31 +01:00
Enrico Weigelt, metux IT consult
25d99353ee xkb: unexport XkbGetCoreMap() and XkbSetRepeatKeys()
Not needed by external drivers, so no need to keep them public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-19 13:32:12 +01:00
Enrico Weigelt, metux IT consult
c06805b93a include: move ScreenSaverStuffPtr into scrnintstr.h
ScreenSaverStuffRec is defined in scrnintstr.h, and users of
ScreenSaverStuffPtr already including it, so let's move also this
typedef there.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-19 13:30:48 +01:00
Enrico Weigelt, metux IT consult
a0dff9e681 render: replace ProcRenderVector[] by trivial switch/case
Not that the entries cannot change anymore, there's no need for having
a separate call table anymore - simply use switch/case.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-19 13:29:35 +01:00
Enrico Weigelt, metux IT consult
dda346463e fb: wfbrename: drop unused symbol fbGeneration
Just fallout from mfb removal back 17 years ago.

See: f31bd087e8
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-19 13:28:54 +01:00
Enrico Weigelt, metux IT consult
f27e12c918 dix: drop DE_RESET and associated cmdline args
Drop the -reset flag, so Xserver now either simply continues (w/o going
through internal reset) when last client disconnected or terminates
when -terminate is given.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-18 18:22:25 +01:00
Marc-Alexandre Espiaut
45ff802682 dix: _colormap_find_resource(): fix -Wunused-parameter warning
Signed-off-by: Marc-Alexandre Espiaut <76531574+malespiaut@users.noreply.github.com>
2025-11-18 13:30:32 +01:00
Marc-Alexandre Espiaut
0588be6d1e dix: FreeClientPixels(): fix -Wunused-parameter warning
Signed-off-by: Marc-Alexandre Espiaut <76531574+malespiaut@users.noreply.github.com>
2025-11-18 13:30:32 +01:00
Chase
fcbb2bafce treewide: replace __FUNCTION__ by __func__
prefer C99 standard over non-standard legacy symbols

Signed-off-by: Chase <chinkle3@illinois.edu>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-18 13:29:47 +01:00
stefan11111
434331e129 modesetting: Split chosing gbm format into drmmode_gbm_format_for_depth
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-17 18:55:20 +01:00
stefan11111
68e3e9fcb1 modesetting: rename drmmode_bo_has_bo to drmmode_bo_get_bo
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-17 18:55:20 +01:00
stefan11111
db77a579c6 modesetting: don't return a value from drmmode_bo_destroy
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-17 18:55:20 +01:00
stefan11111
49c9aaac82 modesetting: Move the compatibility GBM_BO_USE_FRONT_RENDERING define to the top of the file
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-17 18:55:20 +01:00
Chase
e0481acb79 xf86Crtc.c: fix formatting 2025-11-17 18:53:47 +01:00
Chase
594d05757d xkb.c: const correctness 2025-11-17 18:45:29 +01:00
Chase
2fff53d35d Xtransutil.c: minor formatting fix 2025-11-17 13:16:45 +01:00
Chase
ba33b36f7a xnest icons: const correctness 2025-11-17 12:53:09 +01:00
Enrico Weigelt, metux IT consult
40f0a4237c include: regionstr.h: drop unused legacy macros
Those aren't used by any drivers anymore (and shouldn't be).

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-12 15:39:50 +01:00
stefan11111
0ec0f00c23 glx: revert cb85ceae2d
This commit broke glx after server reset.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-11 10:46:29 +01:00
stefan11111
631dc9d275 dix: partially revert 8399c4e263
Turns out that glx does need this one.

Assuming no external modules need this,
it should be fine to keep this in a private header.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-11 10:46:29 +01:00
Enrico Weigelt, metux IT consult
ec3232e36e dix: move ReplyNotSwappd() out of public header
Internal, non-publich function - should not be in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-11 10:43:11 +01:00
Enrico Weigelt, metux IT consult
932f4be393 include: windowstr.h: drop unused Guarantee* defines
They aren't used anymore since about two decades, so no need to
keep them around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-11 10:42:54 +01:00
Enrico Weigelt, metux IT consult
f813cb569f dix: move swaprep.h and swapreq.h into dix
These aren't public includes, so they're better placed in dix.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-11 10:42:40 +01:00
Marc-Alexandre Espiaut
bef8267f04 config: socket_handler(): fix -Wunused-parameter warning
Signed-off-by: Marc-Alexandre Espiaut <ma.dev@espiaut.fr>
2025-11-10 11:10:00 +01:00
stefan11111
8bb2fc9d76 modesetting: Create the front buffer with GBM_BO_USE_FRONT_RENDERING
Also renamed `drmmode_create_bo` to `drmmode_create_front_bo`,
better reflecting how it is used.

According to the mesa docs: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gbm/main/gbm.h :
```
   /**
    * The buffer will be used for front buffer rendering.  On some
    * platforms this may (for example) disable framebuffer compression
    * to avoid problems with compression flags data being out of sync
    * with pixel data.
    */
   GBM_BO_USE_FRONT_RENDERING = (1 << 6),
```

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-10 11:08:59 +01:00
Enrico Weigelt, metux IT consult
7a8f12361d os: move OS_COMM_* defines into os/connection.c
They're only used inside os/connection.c, so no need to have them
in some header and expose them to other areas.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-10 11:07:58 +01:00
Enrico Weigelt, metux IT consult
445ee2da93 include: mark XNFasprintf() as deprecated
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-10 11:07:42 +01:00
Enrico Weigelt, metux IT consult
1e62e5f417 xfree86: pci_ids: drop unused ifndef IRIS
This symbol was never defined. Just a fallout from copying over
this file from MESA.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-10 11:05:30 +01:00
stefan11111
53f1095118 modesetting: Fix leak when disabling hw cursor
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-10 10:31:55 +01:00
stefan11111
bd540a8f46 modesetting: don't probe size_hints if the cursor is already probed
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-10 10:28:00 +01:00
stefan11111
ed49ae8fe7 modesetting: clean up drmmode_crtc_create_planes
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-10 10:28:00 +01:00
stefan11111
e5df974aab modesetting: get the SIZE_HINTS cursor plane property in drmmode_crtc_create_planes
We were duplicating this code needlessly and in an error-prone way.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-10 10:28:00 +01:00
Enrico Weigelt, metux IT consult
51bafc8244 render: drop SProcRenderDispatch() and SProcRenderVector[]
Now that we don't have any SProc*'s anymore (everything now done by the
corresponding Proc*'s), there's no need for SProcRenderDispatch() entry
point and the SProcRenderVector[] call table anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-09 17:22:26 +01:00
Enrico Weigelt, metux IT consult
b0b9a624d8 os: replace ETEST macro by ossock_wouldblock()
Move this to a little function (which also has a better name now)
inside the already platform specific ossock.c

Also removing the EMSGSIZE check: we're using TCP or local unix
socket, so EMSGSIZE is never returned.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-08 10:46:03 +01:00
Enrico Weigelt, metux IT consult
037a2e5675 include: unexport CURSOR_BITS_SIZE() and CURSOR_REC_SIZE() macros
Not used by any drivers, so no need to keep them public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-08 10:45:43 +01:00
Enrico Weigelt, metux IT consult
5f8edd4560 glamor: fix parameter indentions on asprintf() calls
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 19:19:06 +01:00
Enrico Weigelt, metux IT consult
226211f7a7 glamor: replace XNFasprintf() by asprintf()
Just use standard libc functions instead of own (incomplete)
implementations.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 19:19:06 +01:00
Enrico Weigelt, metux IT consult
cd3b208bde os: osdep: drop unused OsFlushFunc
Not used anymore for over two decades now, so no need to keep it around.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 19:12:08 +01:00
Enrico Weigelt, metux IT consult
6bc92a5674 modesetting: replace tabs by whitespace
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 16:42:27 +01:00
stefan11111
516239c164 modesetting: Fix -Wunused-variable warnings
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-11-07 15:38:15 +01:00
Enrico Weigelt, metux IT consult
1c706efc2b include: dixfontstr.h: drop unused PADGLYPHWIDTHBYTES defines
Not used anywhere anymore, so no need to keep them around.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 09:32:40 +01:00
Enrico Weigelt, metux IT consult
94f7925f01 dix: move IMAGE_BUFSIZE define out of public header
It's just a tuning parameter (that nobody touched for aeons) for
DoGetImage(), inside dix/dispatch.c

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 09:32:17 +01:00
Enrico Weigelt, metux IT consult
b3a5b5b61c os: drop unused Xscnprintf() and Xvscnprintf()
Not used anywhere (not even in drivers), so no need to keep them anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 09:31:48 +01:00
Enrico Weigelt, metux IT consult
0c7799b916 glamor: replace XNFvasprintf() by vasprintf()
No need for carrying around our own (incomplete) implementation
of a standard libc function.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-07 09:31:10 +01:00
notbabaisyou
6c924809e4 modesetting: Make the async-flipping key global. 2025-11-06 15:56:07 +01:00
Qiang Yu
c5fad50afe modesetting: fix PRESENT_FLIP_REASON_BUFFER_FORMAT gets overwritten
When dmabuf_capable is enabled, ms_present_check_unflip may return
with reason PRESENT_FLIP_REASON_BUFFER_FORMAT to be reported back
to client by PresentCompleteModeSuboptimalCopy. We should not
overwrite it by page flip reasons anyway when exit.

This fix also avoid changing vblank->exec_msc in present_scmd_pixmap()
which caused by page flip reasons to prevent a present to be executed
immediatly. So that we can cancel pending vblanks when new vblanks with
same msc arrive. This happens when application just starts.

This problem can be observed at least using radeonsi OGL driver, start
xserver with dmabuf_capable enabled, no window manager, glxgears will
stuck for the first several seconds. If using a composite window manager
like Mutter, we can't observe the glxgears stuck, but the prensent
complete event still shows unexpected Copy mode instead of
PresentCompleteModeSuboptimalCopy or Skip mode.

glxgears window msc is 0 at the beginning, it will send present request
with target msc = 1, 2, 3, ... N before server send back the complete
event for target msc = 1. But server side window msc is way bigger than N,
so it will think all these present requests are outdated and just show the
Nth request at the next vblank. [1 .. N-1] requests should be skipped.
But without this fix, all [1 .. N] presents will be executed with Copy
mode which causes stuck.

Fixes: a94dd953 ("modesetting: add support for TearFree page flips")
2025-11-06 15:56:07 +01:00
notbabaisyou
e26da636bf modesetting: Allow selecting more optimal modifiers. 2025-11-06 15:56:07 +01:00
notbabaisyou
0c6cb9532b modesetting: Omit DRM_FORMAT_MOD_INVALID.
Previously it was possible for the invalid modifier to be placed in the IN_FORMATS or IN_FORMATS_ASYNC arrays, this is of course not wanted as this can cause problems with devices that lack support for explicit modifiers.
2025-11-06 15:56:07 +01:00
Ville Syrjälä
d3ec45f01c modesetting: Use IN_FORMATS_ASYNC for async flips
Use the IN_FORMATS_ASYNC blob (as opposed to the normal
IN_FORMATS blob) to determine which formats/modifiers are
supported. This will allow the client to allocate buffers
which can actually be async flipped.

In order to guarantee that the most optimal modifier is
always used we also need to force a modifier renegotiation
when swicthing between sync and async flips. Otherwise eg.
sync flips might end up using a less optimal sync+async
modifier instead of a more optimal sync-only modifier.

Signed-off-by: notbabaisyou <though-went-some-simple@proton.me>
Link: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1816
2025-11-06 15:56:07 +01:00