summaryrefslogtreecommitdiff
path: root/tools/virtual.c
AgeCommit message (Collapse)Author
2014-01-20intel-virtual-output: Tidy some DBG for copying new modesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-20intel-virtual-output: Print error events for debuggingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-20intel-virtual-output: Disable remote display if SetCrtcConfig failsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-20intel-virtual-output: Clone modes onto remote displayChris Wilson
If the user adds a mode to the VIRTUAL display and then attempts to use it, add that mode to the remote display. Reported-by: Christoph Bessei <admin@schwarzwald-falke.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73816 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-27intel-virtual-output: Trim remote framebuffer to fitChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-27intel-virtual-output: Workaround mutter always using the same timestampChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-26intel-virtual-output: mute spurious warningsKirill Müller
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72027
2013-11-26intel-virtual-output: Clone remote EDID for virtual outputsChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=72020 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-26intel-virtual-output: Correct clip region of rotated outputs in source ↵Chris Wilson
framebuffer Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71846 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-25intel-virtual-output: Include transforms when computing required fb sizeChris Wilson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71846 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-25intel-virtual-output: Tweak DBG messages for copying rotationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-25Remove uneeded headersZdenek Kabelac
Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
2013-11-22Revert "intel-virtual-output: Only track the most recent visibility status ↵Chris Wilson
of the cursor" This reverts commit abf1a16914d993cc150005879375d4bb17fdccf3. We need to track visibility over all clones on a display, not just the last. Regression from commit abf1a16914d993cc150005879375d4bb17fdccf3 [2.99.906] Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Nov 8 17:09:35 2013 +0000 intel-virtual-output: Only track the most recent visibility status of the curso Reported-by: Kirill Müller <mail@kirill-mueller.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71838 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-19intel-virtual-output: Check for failure to create a cloneChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-19intel-virtual-output: Fix trivial and unlikely fd leak from bumblebee failureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-12intel-virtual-output: Manually adjust screen sizeChris Wilson
When we modify the outputs and end up with a different screen size, we need to actually tell the display to resize with an explicit XRRSetScreenSize. Reported-by: Jethro Beekman <freedesktop-bugs@jbeekman.nl> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71441 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-11intel-virtual-output: Fix format specifiers for Visual DBGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-11intel-virtual-output: Fix cut'n'paste DBG errorChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-11intel-virtual-output: Avoid the infinite loop around XPendingChris Wilson
XPending() reports if there are any events pending and does not perform any dequeuing itself - ergo for a remote display while (XPending()) ; becomes an infinite loop should there be an event pending. References: https://bugs.freedesktop.org/show_bug.cgi?id=71345 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-10intel-virtual-output: Do not hide the cursor on the local/source displayChris Wilson
Whilst we want to take over and hide the cursor on the remote displays, on the source we need to not interfere with the host. Reported-by: Jethro Beekman <freedesktop-bugs@jbeekman.nl> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71439 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Only track the most recent visibility status of the cursorChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Fix forced synchronisation of clonesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Tighten bad_visual() checksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Disable event tracking after a failureChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Add DBG for the latest XSyncChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Perform an explicit syncChris Wilson
If we fail to track rendering using ShmCompletionEvents and begin to drop frames, insert an explicit XSync. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Check for pending events before skipping drawChris Wilson
Make sure we check if the destination display has caught up before skipping a frame. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-08intel-virtual-output: Add some DBG for bad_visual()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04intel-virtual-overlay: Error out if no X11 SHM header is definedChris Wilson
Make the error explicit rather than dieing later with unknown constants. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-23intel-virtual-overlay: Grab the server around mode manipulationsChris Wilson
Prevent other clients from seeing the intermediate states. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-20intel-virtual-output: Hide the remote cursor on initial connectionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-18intel: Compile fixes for base install of SLED11.sp3Chris Wilson
Highlights of that distribution include xorg-xserver-1.6.5, kernel 3.0.76 and gcc-4.3. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-08intel-virtual-output: Debug option for forcing full redrawsChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=68987 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-06intel-virtual-output: Unregister our singleton on a clean shutdownChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-06intel-virtual-output: Only wake up for a change in a visible cursorChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-06intel-virtual-output: Make the flush for recreating Damage explicitChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Just request Damage BBoxChris Wilson
As we ourselves only track the BBox of damage on the virtual outputs, we can ask X to amalgamate the damage events as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-overlay: Reset damage across modesetsChris Wilson
Some versions of the Xserver lose Damage tracking across the modeset, causing a loss of damage notifications and repainting to cease on the virtual outputs. We can workaround this by reattaching the damage every time we receive notification that the local Screen configuration changes. Reported-and-tested-by: Severin Strobl <fd@severin-strobl.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68987 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Reset the damage just prior to reading it backChris Wilson
Slightly more efficient command packing and reduces a damage race slightly... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: We don't need to enable the timer for reconfigureChris Wilson
The timer will be enabled if a reconfiguration actually takes place and we mark the damaged region to be redrawn. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Just walk the list of clones attached to the displayChris Wilson
Rather searching the entire array of all clones, just walk the presorted list from the display. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Defer reenabling damage events until after we drawChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Flush the damage received message back to the local ↵Chris Wilson
display After processing the Damage notification, we need to send a message back to the Xserver to clear the pending damage before we will be sent more events. To make sure that message is sent we need to flush the output, as we may never flush the output queue otherwise. Reported-by: Severin Strobl <fd@severin-strobl.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68987 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Track active clonesChris Wilson
For the frequent operations, such as moving the cursor or updating damage, it is more efficient to walk the list of active outputs (as the discrete GPUs support lots of outputs!) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-05intel-virtual-output: Reserve space for the '\0' in the sprintfChris Wilson
Even though we don't use the trailing NUL byte for our comparisons, sprintf will write it, so we need make space for it. Reported-by: Severin Strobl <fd@severin-strobl.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68987 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-03intel-virtual-output: Clear send flags when doing XSyncChris Wilson
When falling back to using XSync rather than XSendEvent it is imperative that we remember to clear the flag so that we don't keep on performing the synchronous RTT every time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-02intel-virtual-output: Remember to mark the timer as active when moving the mouseChris Wilson
Otherwise we throttle mouse updates to the next display update... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-02intel-virtual-output: Don't clobber the XID inside the ShmSegmentInfoChris Wilson
As there is an XID inside the ShmSegmentInfo we cannot share one between both endpoints, or else it gets clobbered and rendering is lost (unless by happy coincidence the last XID is available in both Xservers). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-02intel-virtual-output: Remove the stray 1Chris Wilson
The 'output-is-changed' flags was accidentally initialised to 01 rather than 0, causing all attached outputs to be considered to have changed everytime. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-02intel-virtual-output: Don't set the SHM active flag along !SHM composite pathsChris Wilson
Otherwise we may end up waiting for an event that will never be sent. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>