It's doing nothing but calling ProcXF86BigfontQueryVersion(), so
we can call that function directly in the swapped dispatcher and
get rid of SProcXF86BigfontQueryVersion() entirely.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Instead of everybody directly accessing the (internal) screenInfo struct,
let those consumers only interested in first screen use a little helper.
Also caching the value if it's needed several times.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Don't need actually need that extra macro, we can just write
&GEClientPrivateKeyRec in those few places.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Several of the SProcRender*() functions aren't actually needed, because
they're doing exactly the same as their ProcRender*() counterparts.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Since Xinerama stuff doesn't tweak the call tables anymore, there's no need
to use them anymore - instead call the corresponding handlers directly.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
In order to consolidate protocol parsing (eg. byte-swapping) and dispatch
(eg. getting rid of the ugly call tables), we first need to untwist the
horribly complicated Xinerama machinery: it's using call tables which are
dynamically tweaked (when Xinerama is switched on/off), and even more call
tables for the byte-swap functions.
Simplifying the code flow by adding trivial demux handlers, which are calling
either into classic/single-mode or xinerama handlers, depending on whether
Xinerama is active.
Follow-up commits can now move the byte-wapping into here and drop the call tables.
After that, the currently duplicated parsing can also be moved in here, and
finally split off the classic/single-mode functions into protocol handling vs.
business logic, so we can finally stop faking requests from Xinerama side into
the classic handlers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
In ProcXF86BigfontQueryVersion(), return the retval of the
X_SEND_REPLY_SIMPLE() call.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
We only have one global screenInfo struct ever, and many other parts of the
Xserver can only operate on global screenInfo, so it's time to phase out
this extra pointer. Once the same has done on the other DDXes, it will
be dropped from InitOutput()'s parameter list.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Move the walking loops on Xinerama screens into lambda-esque macros:
the callers look quite like we've been using lambda functions and
closures, but actually are just fancy macro trickery.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Naming all index variables on looping over screens `walkScreenIdx`,
in order to make transition to upcoming generic screen walk macros easier.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
When iterating screen lists, consistently use the same variable name
`walkScreenIdx` for holding current screen index everywhere.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
No need to have a hole bunch of extra functions, if we can just easily
inline the few relevant lines.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Use x_rpcbuf_t for payload assembly and X_SEND_REPLY_WITH_RPCBUF()
for sending it all out.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
scfb driver is the native frame-buffer driver used on both FreeBSD and DragonFlyBSD,
It was not enabled as a fallback on DragonFlyBSD, so enabled it.
The driver:
https://github.com/rayddteam/xf86-video-scfb
Signed-off-by: b-aaz <b-aazbsd@proton.me>
Old compilers used on some platforms (e.g. DragonFlyBSD) do not support __has_builtin, so now we fall back to #if define if __has_builtin is not found.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
It's so trivial that those few lines can easily be inlined into
the actual request handler.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Simply do the action on matched screen inside the loop instead of
saving the found client and acting on it later (if found).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
* make the code easier to read
* preparation for moving the looping into lambda-esque macros
(the code inside the loops doesn't compile in here, but does when
moved to separate functions)
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's so trivial that those few lines can easily be inlined into
the actual request handler.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's so trivial that those few lines can easily be inlined into
the actual request handler.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's so trivial that those few lines can easily be inlined into
the actual request handler.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
SHM can *only* be used locally by definition, so the case of having
a byte-swapped client doesn't exist at all.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's so trivial that those few lines can easily be inlined into
the actual request handler.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
When a xinerama-enabled handler is calling into the plain one, there's
no need to go through extra call table - we can call them directly.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Use x_rpcbuf_t for payload assembly and X_SEND_REPLY_WITH_RPCBUF()
for sending it all out.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Their latest releases have still configured wrong submodule URLs,
so we need to use master here.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>