Commit graph

6691 commits

Author SHA1 Message Date
David Reveman
959d4db486 Don't send completion event all screens are done. 2008-10-30 03:37:29 -04:00
David Reveman
56c7a1a834 Move some definitions and macros into shmint.h. 2008-10-30 03:37:29 -04:00
David Reveman
923aa2295e Call wrapped dispatch functions properly from PanoramiX functions. 2008-10-30 03:37:29 -04:00
David Reveman
86f072b236 Move dmxShmPutImage to dmxshm.c. 2008-10-30 03:37:29 -04:00
David Reveman
5555d828f3 Add MIT-SHM stubs to DMX. 2008-10-30 03:37:28 -04:00
David Reveman
0e248b7bdb Add dispatch tables for MIT-SHM extension. 2008-10-30 03:37:28 -04:00
David Reveman
84eda62ada Fix broken dmxShmPutImage implementation. 2008-10-30 03:37:28 -04:00
David Reveman
cb8c3e79ad Optimization to ProcPanoramiXShmGetImage for redirected windows. 2008-10-30 03:37:28 -04:00
David Reveman
b1161e43fe Much more efficient implementation of dmxShmPutImage. 2008-10-30 03:37:28 -04:00
David Reveman
00eedc704d Add offscreen optimization to dmxShmPutImage. 2008-10-30 03:37:27 -04:00
David Reveman
40cf9d64ee No need to configure back-end server window in CopyWindow. This
should all be taken care of in dmxPositionWindow.
2008-10-30 03:37:27 -04:00
David Reveman
2bf83e521a Remove ugly preprocessor code and make sure wrapped DestroyWindow,
PositionWindow, RealizeWindow, UnrealizeWindow, RestackWindow and
ReparentWindow functions are called.
2008-10-30 03:37:27 -04:00
David Reveman
e0a250c488 Add atKeynames.h to EXTRA_DIST. 2008-10-30 03:37:26 -04:00
David Reveman
de0d02abc1 Some very useful PanoramiX optimizations for redirected windows. 2008-10-30 03:37:26 -04:00
David Reveman
9529fbbfe1 Properly translate list of properties. 2008-10-30 03:37:26 -04:00
David Reveman
71b08b5d92 Use XCB and minimal blocking in dmxGetImage. 2008-10-30 03:37:26 -04:00
David Reveman
b2a9bd694d Make sure we set all fields used by XRRUpdateConfiguration. 2008-10-30 03:37:26 -04:00
David Reveman
56f82e2538 Use XCB and minimal blocking when retrieving atoms and atom names. 2008-10-30 03:37:26 -04:00
David Reveman
d6fcb6c516 Don't use xcb_get_input_focus_unchecked. 2008-10-30 03:37:25 -04:00
David Reveman
32d23b8cf2 Use dmxAtom where possible. 2008-10-30 03:37:25 -04:00
David Reveman
ea6ab98a98 Fix typo. 2008-10-30 03:37:25 -04:00
David Reveman
09fffa12ea Use dmxBEAtom where possible. 2008-10-30 03:37:25 -04:00
David Reveman
e598c34e7d Add atom tables. 2008-10-30 03:37:25 -04:00
David Reveman
ce24735445 Add dmxAtom and dmxBEAtom functions. 2008-10-30 03:37:24 -04:00
David Reveman
228f91820e Remove XShapeInputSelected call. 2008-10-30 03:37:24 -04:00
David Reveman
6f17500de1 Make dmxBEDispatch reentrant. 2008-10-30 03:37:23 -04:00
David Reveman
b94d36eb95 Asynchronous pointer grabbing. 2008-10-30 03:37:23 -04:00
David Reveman
c3f40d7171 Ungrab pointer before calling DeactivateGrab. 2008-10-30 03:37:23 -04:00
David Reveman
3ee3336ac2 Make sure all pending sync replies are processed before closing
display.
2008-10-30 03:37:22 -04:00
David Reveman
7903f53f78 Improve reply processing and sync batch handling. 2008-10-30 03:37:22 -04:00
David Reveman
e43b271db3 Asynchronous reply processing using XCB and more efficient
sync batch processing.
2008-10-30 03:37:21 -04:00
David Reveman
e92aa7be90 Use XCB for event processing. 2008-10-30 03:37:21 -04:00
David Reveman
4b7d3bbe7c Add initial pointer grab support. Passive pointer grabs are
currently disabled.
2008-10-30 03:37:20 -04:00
David Reveman
2150960fb4 Add stubs for pointer grab handling. 2008-10-30 03:37:20 -04:00
David Reveman
6efa8f16d3 Move DMX randr code into dmxrandr.c and dmxrandr.h. 2008-10-30 03:37:20 -04:00
David Reveman
3cc512cddd Make sure we have recent version of xi. 2008-10-30 03:37:19 -04:00
David Reveman
1c649c8e5d Add initial XVideo support to DMX. 2008-10-30 03:37:19 -04:00
David Reveman
ea4520ac30 Avoid destroying still attached back-end server pictures in
dmxBEDestroyResources.
2008-10-30 03:37:19 -04:00
David Reveman
152b5940c9 Only use XInput Extension if 2.0 or greater. 2008-10-30 03:37:18 -04:00
David Reveman
a2646f4f88 Improved system for tracking key/button state. 2008-10-30 03:37:18 -04:00
David Reveman
e82a24c0b9 Don't automatically add input devices of from back-end servers
with virtual frame buffers.
2008-10-30 03:37:17 -04:00
David Reveman
c596e2a03e Allow server to be started without any input devices. 2008-10-30 03:37:17 -04:00
David Reveman
442a1cce7a Add initial support of back-end XInput extension. 2008-10-30 03:37:16 -04:00
David Reveman
96322ebffc Add dmxCloseDisplay and make dmxOpenDisplay properly initilize
syncCookie and use AddEnableDevice.
2008-10-30 03:37:16 -04:00
David Reveman
bfd41ad4cb Use XCB for much more efficient sync batching.
Collect sync request for during the sync interval time just
like before but instead of using XSync to send get-input-focus
requests and block for replies when the sync interval timer
fires, we're now just sending get-input-focus requests using
XCB and give each back-end server the sync-interval time to
respond before we block.

This provides significantly better performance, especially
with high latency connections.

The default sync batch interval of 100ms provides good
performance for back-ends servers with round-trip times
somewhat less than 100ms and is not long enough to make
the batch processing noticeably on low latency connections.
2008-10-30 03:37:15 -04:00
David Reveman
4d692bd15b Don't trigger the sync timer in block handler. Just flush output
buffers.
2008-10-30 03:37:15 -04:00
David Reveman
07c6aca7d7 Avoid drawing to pixmaps without back-end resources. 2008-10-30 03:37:15 -04:00
David Reveman
1c93025aa4 No need for this anymore. 2008-10-30 03:37:14 -04:00
David Reveman
cdca74c1ba Avoid creating window tree on back-end servers with virtual
framebuffers.
2008-10-30 03:37:14 -04:00
David Reveman
810e522b9c Make dmxProcRenderCompositeGlyphs handle source pictures properly. 2008-10-30 03:37:14 -04:00