xserver/hw/xfree86/common
Enrico Weigelt, metux IT consult b0f94e1c5c dix: add CreateScreenResources callback mechanism
Right now, extensions that need to be called after the CreateScreenResources
proc had been run, must wrap the screen proc vector directly (all of them
forming kind of daisy chain), and so - when called - temporarily restore the
previous one, call it, wrap again, and if the call was successful finally
doing it's own stuff. (same is done for many other procs)

While that approach is looking nice and elegant on the drawing board, it's
complicated, dangerous like a chainsaw and makes debugging hard, leading to
pretty blurred API borders.

Instead introducing a simple approach for letting extension hook into a
post-CreateScreenResources callback list safely, w/o having to care much
about side effects with the call chain. Extensions now can simply register
their business logic and get called back - w/o ever having to mess with the
ScreenRec's internal structures.

Note that these hooks are executed *AFTER* the original CreateScreenResources()
proc had been called SUCCESSFULLY (returned TRUE), so callees can rely on
the DDX/driver had already done it's job.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 16:46:47 +02:00
..
.gitignore Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
compiler.h compiler.h: drop translation of Sun compiler platform defines to gcc 2024-07-28 23:26:37 +00:00
dgaproc.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +00:00
dgaproc_priv.h xfree86: common: move non-exported funcs from dgaproc.h to separate header 2024-02-29 10:27:08 +00:00
extramodes xfree86: add default modes for 16:9 and 16:10 2018-01-18 14:16:35 -05:00
meson.build xfree86: drop xf86VGAarbiter.h 2025-06-12 16:24:32 +02:00
modeline2c.awk xfree86: make modeline2c.awk put a newline at the end of xf86DefModeSet.c 2025-04-19 17:02:15 +00:00
vesamodes
xaarop.h xfree86: Drop some dead XAA decls from SDK headers 2012-07-25 14:03:31 -07:00
xf86.h xfree86: xf86.h: dont include propertyst.h 2025-06-12 16:30:20 +02:00
xf86AutoConfig.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Bus.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Bus.h xfree86: Remove vestigial lastScrnFlag 2018-09-12 20:47:15 +00:00
xf86Config.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86Config.h xfree86: unexport xf86SetVerbosity() and xf86SetLogVerbosity() 2024-10-10 18:25:54 +00:00
xf86Configure.c xfree86: common: extra safety checks for NULL pointers 2025-06-12 16:33:45 +02:00
xf86Cursor.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86DGA.c xfree86: dga: use CloseScreen hook 2025-06-12 16:45:56 +02:00
xf86DPMS.c xfree86: xf86Option: unexport xf86MarkOptionUsed() 2025-06-12 16:23:25 +02:00
xf86Events.c xfree86: common: extra safety checks for NULL pointers 2025-06-12 16:33:45 +02:00
xf86Extensions.c xfree86: xf86Option: unexport xf86MarkOptionUsed() 2025-06-12 16:23:25 +02:00
xf86Extensions.h xf86: Re-export extension disable flags 2012-07-16 18:24:49 -07:00
xf86Globals.c Revert "xfree86: Remove -flippixels" 2024-01-03 19:43:16 +00:00
xf86Helper.c xfree86: make xf86VIDrvMsgVerb() static 2025-06-12 16:23:55 +02:00
xf86InPriv.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Init.c randr: unexport and document RRProviderAutoConfigGpuScreen() 2025-06-12 16:29:30 +02:00
xf86MatchDrivers.h xfree86: unexport xf86PlatformMatchDriver() 2025-02-07 00:38:58 +02:00
xf86Mode.c rename old symbol PANORAMIX to XINERAMA 2025-02-06 15:51:27 +00:00
xf86Module.h xfree86: loader: drop unused MODULETEARDOWNPROTO() macro 2025-06-12 16:20:54 +02:00
xf86Module_priv.h xfree86: common: unexport UnloadModule() and UnloadSubModule() 2025-02-06 23:09:02 +00:00
xf86Opt.h xfree86: xf86Option: unexport xf86MarkOptionUsedByName() 2025-06-12 16:23:28 +02:00
xf86Opt_priv.h xfree86: xf86Option: unexport xf86MarkOptionUsedByName() 2025-06-12 16:23:28 +02:00
xf86Option.c xfree86: common: gracefully handle allocation failure 2025-06-12 16:33:40 +02:00
xf86Optionstr.h hw/xfree86: Lots of constant string support 2014-01-12 10:14:48 -08:00
xf86PM.c xfree86: use LogMessageVerb() instead of xf86MsgVerb() 2025-02-07 22:40:06 +00:00
xf86PciInfo.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86Priv.h xfree86: xf86Priv.h: dont include propertyst.h 2025-06-12 16:30:45 +02:00
xf86Privstr.h Remove check for useSIGIO option 2020-12-08 11:23:31 -05:00
xf86RandR.c xfree86: randr: use CloseScreen hook 2025-06-12 16:45:59 +02:00
xf86VGAarbiter.c xfree86: drop obsolete xf86VGAarbiterDeviceDecodes() 2025-06-12 16:24:26 +02:00
xf86VGAarbiterPriv.h xfree86: Hold input_lock across SPRITE functions in VGA arbiter 2017-12-13 12:06:31 -05:00
xf86VGAarbiter_priv.h xfree86: drop xf86VGAarbiter.h 2025-06-12 16:24:32 +02:00
xf86VidMode.c vidmode: remove redundant DIX function 2016-02-29 16:29:14 -05:00
xf86Xinput.c xfree86: make xf86PostKeyEvent() static 2025-06-12 16:23:52 +02:00
xf86Xinput.h xfree86: unexport xf86RemoveInputEventDrainCallback() 2025-06-12 16:24:15 +02:00
xf86Xinput_priv.h xfree86: unexport xf86RemoveInputEventDrainCallback() 2025-06-12 16:24:15 +02:00
xf86cmap.c xfree86: cmap: use CloseScreen hook 2025-06-12 16:46:02 +02:00
xf86cmap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86fbBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00:00
xf86fbman.c xfree86: fbman: use CloseScreen hook 2025-06-12 16:46:05 +02:00
xf86fbman.h xfree86: fbman: move FBManagerFuncs into x86fbman.c 2025-06-12 16:21:41 +02:00
xf86noBus.c xfree86: unexport os-support functions 2024-04-18 00:40:39 +00:00
xf86pciBus.c xfree86: common: use LogMessageVerb() instead of xf86Msg() 2025-02-07 22:40:06 +00:00
xf86pciBus.h xfree86: Improved autoconfig drivers matching 2017-05-09 17:36:05 -07:00
xf86platformBus.c dix: add CreateScreenResources callback mechanism 2025-06-12 16:46:47 +02:00
xf86platformBus.h xfree86: unexport xf86PlatformMatchDriver() 2025-02-07 00:38:58 +02:00
xf86sbusBus.c xfree86: sbus: use CloseScreen hook 2025-06-12 16:46:08 +02:00
xf86sbusBus.h xfree86: common: move private defs out of xf86sbusBus.h 2025-02-06 23:51:33 +00:00
xf86sbusBus_priv.h xfree86: common: move private defs out of xf86sbusBus.h 2025-02-06 23:51:33 +00:00
xf86str.h Extend Linux #ifdef to FreeBSD OS. 2023-10-22 16:08:21 +00:00
xf86xv.c xfree86: xv: use CloseScreen hook 2025-06-12 16:46:12 +02:00
xf86xv.h xfree86: xv: drop unused xf86XVFillKeyHelperPort() 2025-06-12 16:21:45 +02:00
xf86xvmc.c xfree86: xvmc: use CloseScreen hook 2025-06-12 16:46:15 +02:00
xf86xvmc.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86xvpriv.h xfree86: xvmc: use CloseScreen hook 2025-06-12 16:46:15 +02:00
xisb.c xfree86: xisb: drop unused XisbTrace() 2025-06-12 16:22:10 +02:00
xisb.h xfree86: xisb: drop unused XisbTrace() 2025-06-12 16:22:10 +02:00
xorgHelper.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgVersion.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00