Commit Graph

936 Commits

Author SHA1 Message Date
Eric Anholt
1dcc28bcb4 ephyr: Remove the host/server split for video encodings.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:35:06 -07:00
Eric Anholt
28a37757e1 ephyr: Remove the host/server split for XV formats.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:35:04 -07:00
Eric Anholt
41134d393a ephyr: Remove the host/server split for XV attributes.
v2: Fix leaks of xcb replies (caught by Julien)

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:35:01 -07:00
Eric Anholt
1342a93c49 ephyr: Remove the host/server split for XV adaptors.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:59 -07:00
Eric Anholt
fad79d2e3e ephyr: Refactor XV adaptor feature detection.
This obviously wanted a helper function beforehand, but even more so
now that we have XCB.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:56 -07:00
Eric Anholt
7a9c311add ephyr: Remove some pointless indirection in the XV code.
Now that we have XCB on the server side, we don't need to split these
functions out.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:53 -07:00
Eric Anholt
46cf6bf569 ephyr: Move event processing into ephyr.c.
No more extra event structure to translate between hostx.c and
ephyr.c!

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:51 -07:00
Eric Anholt
847c856eff ephyr: Move the host screen info into the kdrive screen private.
We can include xcb bits from the same place as server headers, so
there's no need to hide them any more.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:48 -07:00
Eric Anholt
8dadc78e23 ephyr: Rename and use the proper type for what was host_screen->info.
Now that we can include server headers in talking to host X, we don't
need to hide any more.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:46 -07:00
Eric Anholt
18d836f6dd ephyr: Expose a single function for detecting extensions.
v2: Fix trying to include xcb-dri in the non-dri-build case (Noted by
    Julien)

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:41 -07:00
Eric Anholt
3aacb22d64 ephyr: Drop dead ephyrHostAtomToLocal code.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-09-03 14:34:32 -07:00
Julien Cristau
4aaad0bfbc Xephyr: we're not using Xlib anymore, no need to undef _XSERVER64
Drop obsolete comments about interaction between Xlib code and that
macro, and stop undefining it.

Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:02:03 -07:00
Julien Cristau
0fc2f9f04a Xephyr: handle errors in event loop
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
2013-09-03 11:02:03 -07:00
Julien Cristau
3309a73c82 Xephyr: drop remaining Xlib dependency
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:02:03 -07:00
Julien Cristau
7da2174cf9 Xephyr: move glx code to xcb
v2: Rebase on master, notably adding XCB for
    X_GLXvop_MakeCurrentReadSGI (anholt).
v3: Fix use-after-free (caught by Julien).

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:01:40 -07:00
Julien Cristau
19c2699b95 Xephyr: remove unused DRI1 code
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:01:00 -07:00
Julien Cristau
68b7db19e8 Xephyr: move ephyrdri over to xcb
Require new xcb-xf86dri to get fixed GetDrawableInfo.

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:01:00 -07:00
Julien Cristau
aea119cd05 Xephyr: use xcb-xv instead of libXv
v2: Massive, conflict-filled rebase.  I think I resolved everything
    right, but this host xv code makes my eyes bleed.  Touch-tested XV
    after the rebase (anholt).

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:00:59 -07:00
Julien Cristau
3ea75a59d5 Xephyr: use xcb for event handling
v2: Rebase on indentation changes, squash in a simpler variant of the
    later event compression patch, fix server hang or segfault on
    window close by reimplementing the x_io_error_handler in the new
    XCB event loop (anholt).

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:00:59 -07:00
Julien Cristau
ff26845252 Xephyr: some more hostx.c xcb-ification
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
9b55f76a26 Xephyr: move HostX.visual to xcb
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
126312fb4a Xephyr: replace XKeycodeToKeysym with xcb-keysyms
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
8543d3fdfd Xephyr: delete unused hostx_get_extension_info function
v2: Also remove the prototype (anholt)

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:00:59 -07:00
Julien Cristau
d72c11b9df Xephyr: delete unused proxy code
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
a71ea3f967 Xephyr: xcb-ify visual list construction
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
ac2b0348c0 Xephyr: xcb-ify pointer/keyboard grab
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
1f93e6b350 Xephyr: no need for XDisplayKeycodes
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
73398e5bf6 Xephyr: use xcb-shape instead of XShape*
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-09-03 11:00:59 -07:00
Julien Cristau
a2b73da78d Xephyr: start converting hostx.c over to xcb
v2: Dropped the hostx_load_keymap changes, now that that function is
    gutted (anholt).

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:00:59 -07:00
Julien Cristau
762606b4cd Xephyr: stop loading the host's keymap
This isn't used anywhere.

v2: Rebase to the top of the patch series (anholt)

Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> (v1)
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2013-09-03 11:00:59 -07:00
Eric Anholt
e01a3f65d3 ephyr: Fix warning about XID vs unsigned long * by changing function args
There's no reason to pass the data back out to the caller, since the
caller was dropping it on the floor.  The original data is a CARD32,
so no need to mess with weird unsigned longs.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:49 -07:00
Eric Anholt
f1cefe020b ephyr: Drop is_ok logging.
The only cases that lead to !is_ok are already EPHYR_LOG_ERROR, and it
fixes set-but-unused compiler warnings.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:48 -07:00
Eric Anholt
77c7a2014e kdrive: Fix const cast warnings in arguments processing.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:46 -07:00
Eric Anholt
7107937e47 kdrive: Fix const cast warnings in driver name handling.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:45 -07:00
Eric Anholt
56c405d46a kdrive: Fix a few easy cast warnings.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:44 -07:00
Eric Anholt
a9c48a07ee kdrive: Drop dead code.
This is unused as of the introduction of a helper in
e7150db535

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:41 -07:00
Eric Anholt
873ae962bd ephyr: Fix dead code warning.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:39 -07:00
Eric Anholt
34af2eebe1 ephyr: Fix const-cast warnings for setting window title.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:37 -07:00
Eric Anholt
7edf5066db ephyr: Fix const cast warnings in ephyrhostvideo.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-08-21 09:10:34 -07:00
Peter Hutterer
bbef8e46f2 Replace INCLUDES with AM_CPPFLAGS
newer automake gets quite noisy about this.
hw/xfree86/ddc/Makefile.am:7: warning:
'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
and many more of these.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-08-06 13:08:13 +10:00
Alan Coopersmith
ddc52b9cba Xephyr: Use _XEatDataWords (from Xlib 1.6) instead of _XEatData
Simplifies code and reduces risk of overflow from converting length
field in X replies from words to bytes.

One call to _XEatData is left in ephyrHostGLXGetStringFromServer where
it's already been checked for overflow, and other values have been
subtracted from it to reduce the size of data remaining to be eaten.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-17 18:10:41 -07:00
Alan Coopersmith
1cb182cbdc Xephyr: integer overflow in XF86DRIGetClientDriverName()
clientDriverNameLength is a CARD32 and needs to be bounds checked before
adding one to it to come up with the total size to allocate, to avoid
integer overflow leading to underallocation and writing data from the
network past the end of the allocated buffer.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-07-17 18:10:40 -07:00
Alan Coopersmith
20644e53b3 Xephyr: integer overflow in XF86DRIOpenConnection()
busIdStringLength is a CARD32 and needs to be bounds checked before adding
one to it to come up with the total size to allocate, to avoid integer
overflow leading to underallocation and writing data from the network past
the end of the allocated buffer.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2013-07-17 18:10:40 -07:00
Alan Coopersmith
c37ceda76b Xephyr: integer overflow in ephyrHostGLXGetStringFromServer()
reply.length & reply.size are CARD32s and need to be bounds checked before
multiplying or adding to come up with the total size to allocate, to avoid
integer overflow leading to underallocation and writing data from the
network past the end of the allocated buffer.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-17 18:10:40 -07:00
Peter Hutterer
49521edaf8 ephyr: add -resizeable to the man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-05-15 09:36:00 +10:00
Peter Hutterer
7a4bbfd9f2 ephyr: fix typo in man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-05-15 09:35:59 +10:00
Geert Uytterhoeven
5ab260317a Xfbdev: Wire up Amiga afb4 and afb8 support
Add support for Amiga-style bitplanes, with 4 or 8 bits per pixel.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Keith Packard <keithp@keithp.com>
2013-04-18 13:10:26 +02:00
Geert Uytterhoeven
672bc5bb38 Xfbdev: Wire up Atari iplan2p4 and iplan2p8 support
Add support for Atari-style interleaved bitplanes, with 2 bytes interleave
and 4 or 8 bits per pixel.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
2013-04-18 13:10:26 +02:00
Geert Uytterhoeven
95a3c7536c Xfbdev: Force shadowfb for frame buffers with non-packed pixels
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
2013-04-18 13:10:26 +02:00
Geert Uytterhoeven
0e808110df Xfbdev: Reject unsupported frame buffer types
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
2013-04-18 13:10:26 +02:00