Commit Graph

22661 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
6b083ca9bc dri2: declare variables when used in DRI2DrawableGone()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 12:29:49 +01:00
Enrico Weigelt, metux IT consult
1fa1ec50a3 mi: drop ifdef on obsolete DAMAGE symbol
It's always set by meson.build and planned to be removed entirely.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:52:19 +01:00
Enrico Weigelt, metux IT consult
e1dc65bdf0 os: drop ifdef NO_PART_NET code path
This symbol is never defined, so that code path isn't needed.
Disabling "partial network" (thus, not arborting when not all
requested interfaces can't be bound) can be done via command line.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:48:42 +01:00
Enrico Weigelt, metux IT consult
75c751dd92 include: drop including dix-config.h
All xserver sources need to include it at the very top anyways, so
no need to clutter public SDK headers with extra complexity.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:48:39 +01:00
Enrico Weigelt, metux IT consult
e835d2a000 xwin: glx: fix VLA issue
We don't wanna use VLAs, because they're inherently unsafe.
Since the values[] array can never be bigger than attrs,
just use attr's size here.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:47:39 +01:00
Enrico Weigelt, metux IT consult
bb458432fb dri2: clean up devprivates access macros
* remove unnecessary extra define's
* move the accessor into a static inline function

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:30:29 +01:00
Enrico Weigelt, metux IT consult
3cd1e0865d dri2: declare variables when needed in find_attachment()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:28:15 +01:00
Enrico Weigelt, metux IT consult
24f0d145e1 dri2: declare variables where needed in DRI2SwapBuffers()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 11:11:36 +01:00
Enrico Weigelt, metux IT consult
63eeb1ea05 dri2: declare variables where needed in DRI2GetMSC()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:37:09 +01:00
Enrico Weigelt, metux IT consult
31520b857b dri2: declare variables where needed in DRI2Connect()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:36:59 +01:00
Enrico Weigelt, metux IT consult
03e239a823 dri2: declare variables where needed in DRI2ConfigNotify()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:36:49 +01:00
Enrico Weigelt, metux IT consult
5bbb0201f4 dri2: declare variables where needed in DRI2ScreenInit()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:36:37 +01:00
Enrico Weigelt, metux IT consult
6e3715f237 dri2: declare variables where needed in DRI2SwapComplete()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:34:18 +01:00
Enrico Weigelt, metux IT consult
18017bf848 dri2: declare variables where needed DRI2WakeClient()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:34:04 +01:00
Enrico Weigelt, metux IT consult
62cea896f8 dri2: declare variables where needed DRI2WaitMSCComplete()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:33:52 +01:00
Enrico Weigelt, metux IT consult
01f62a1b49 dri2: declare variables where needed in DRI2CanFlip()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:33:38 +01:00
Enrico Weigelt, metux IT consult
a790d65210 dri2: declare variables where needed in DRI2CopyRegion()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:33:24 +01:00
Enrico Weigelt, metux IT consult
e9b9610d45 dri2: declare variables where needed in dri2_copy_region()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:33:11 +01:00
Enrico Weigelt, metux IT consult
baaf408471 composite: rename "screen" fields to "pScreen"
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:32:56 +01:00
Enrico Weigelt, metux IT consult
a66df170ff Xi: rename "screen" fields to "pScreen"
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:32:35 +01:00
Enrico Weigelt, metux IT consult
7cb6eb3f14 Xext: saver: rename "screen" fields to "pScreen"
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:31:30 +01:00
Enrico Weigelt, metux IT consult
b3a17fb4d1 dri2: optimize DRI2GetScreenPrime()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 10:05:15 +01:00
Enrico Weigelt, metux IT consult
ebe62981a6 dri2: declare variables when needed in DRI2InvalidateDrawable()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:29:11 +01:00
Enrico Weigelt, metux IT consult
f23600ee4d dri2: declare variables when needed in update_dri2_drawable_buffers()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:28:58 +01:00
Enrico Weigelt, metux IT consult
d28d18ff00 dix: replace "screen" by "pScreen" in AttachDevice()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:28:45 +01:00
Enrico Weigelt, metux IT consult
a21c9ef420 dri2: declare variables where needed in DRI2BlockClient()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:28:31 +01:00
Enrico Weigelt, metux IT consult
654b491d58 dri2: declare variables where needed in DRI2UpdatePrime()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:28:19 +01:00
Enrico Weigelt, metux IT consult
d8db7c3908 dri2: declare variables when needed in DRI2ThrottleClient()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:28:06 +01:00
Enrico Weigelt, metux IT consult
f79a8f5f78 dri2: declare variables where needed in DRI2SwapLimit()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:27:54 +01:00
Enrico Weigelt, metux IT consult
50839192dc dri2: declare variables where needed in do_get_buffers()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 19:27:42 +01:00
stefan11111
4060cd7d59 kdrive/fbdev: Use ARRAY_SIZE from dix.h
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
34d16e48d4 kdrive/fbdev: Use bool instead of Bool
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
c4037d0518 kdrive/fbdev: Call fbdev_glamor_egl_chose_configs from fbdev_glamor_egl_create_context
We only need the config attribute list from the caller,
we can chose the configs and free them ourselves

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
4a9da08a99 kdrive/fbdev: simplify fbdev_glamor_egl_chose_configs
Now that we're first trying no-config contexts,
there is no need to inject an `EGL_NO_CONFIG_KHR`
as the first config in the returned list

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
446485991d kdrive/fbdev: Try creating a no-config egl context first, and skip config chosing
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
29f75ea334 kdrive/fbdev: Get glamor working with the nvidia 390 driver
Only the render acceleation and xv work for some reason.
glx only wants to create indirect contexts, which don't work.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
d65cabb1d3 kdrive/fbdev: Get glamor working with the nvidia 470 driver
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
5adae6c3b3 kdrive/fbdev: Don't try to accelerate rendering with glamor with a sw driver
It will likely be slower that unaccelerated rendering.
Command-line flags were added for overriding this.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
f3c5b41161 kdrive/fbdev: Set glvnd vendor automatically
This makes glamor hw accel work out of the box

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
49800f024d kdrive/fbdev/fb_glamor.c: Check for egl extensions properly
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14715

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
1f89bcfbdc kdrive/fbdev: Prefer exact GL vendor match when choosing EGLDevices
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
125b7c5bef kdrive/fbdev/fb_glamor.c: Prefix glamor helpers with fbdev_
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
657eb49b85 kdrive/fbdev: Enable X-Video support if available
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
2a898cbaf1 kdrive: Pull ephyr/ephyr_glamor_xv.c into src/ and make generic
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
c4b070319b kdrive/fbdev: Set glvnd vendor with glamor_set_glvnd_vendor
This makes it so that glamor glx can properly initialize and
choose hw accelerated `FBConfig`s, instead of just using softpipe/llvmpipe.

This commit fixes the issue described in https://github.com/X11Libre/xserver/pull/1832#issue-3827524680

Now, `FBConfig`s corresponding to the choosen accelerated `EGLDevice`
are choosen by `glXChooseFBConfig`.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
069fc8f6bb kdrive/fbdev: Uncouple glamor from glx
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
stefan11111
04a30c2719 kdrive/fbdev: Allow forcing glamor to create GL/GLES contexts only
This brings Xfbdev's glamor code in line with glamor/glamor_egl.c

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 19:27:22 +01:00
Enrico Weigelt, metux IT consult
ebd217aafb randr: randrstr.h: minor spelling fix
Fix up to our convention of naming those "pScreen".

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 14:20:22 +01:00
Enrico Weigelt, metux IT consult
a30b4d6fcc Xext: damage: rename "screen" to "pScreen" in DamageExtSubtractWindowClip()
Better align with common naming scheme.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 14:20:04 +01:00
Enrico Weigelt, metux IT consult
c8f0ae939e dri2: declare variables where needed in destroy_buffer()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 14:19:52 +01:00