Commit Graph

22658 Commits

Author SHA1 Message Date
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
Enrico Weigelt, metux IT consult
a63c86d463 dri2: declare variables when needed in DRI2GetScreen()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 14:19:44 +01:00
Enrico Weigelt, metux IT consult
ceb272462b dri2: declare variables when needed in create_buffer()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-09 14:19:35 +01:00
stefan11111
e30646b37d modesetting: Use more conservative cursor bo flags
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00