summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-12-30Merge branch 'cygwin-patches-for-1.14' into cygwin-release-1.14xserver-cygwin-1.14.5-1cygwin-release-1.14Jon TURNEY3-33/+36
2013-12-30Merge tag 'xorg-server-1.14.5' into cygwin-release-1.14Jon TURNEY17-24/+240
xorg-server-1.14.5
2013-12-30Add the names for Windows 8.1, Windows Server 2012 R2cygwin-patches-for-1.14Jon TURNEY2-2/+22
Add marketing names for Windows 6.3 versions Manifest for compatbility so we don't get lied to by GetVersionEx() Also, make description in manifest a bit more generic Add marketing name for Windows 5.2 workstation Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2013-12-30Just generate the WGL wrappers we needJon TURNEY1-31/+14
Just generate the WGL wrappers we need, rather than for everything in wgl.xml This avoids generating a lot of unused wrappers, and also avoids compilation requiring a wglext.h at least as new as wgl.xml
2013-12-12bump version from 1.14.4.901 to 1.14.5xorg-server-1.14.5Matt Dew1-3/+3
2013-12-10Merge branch 'cygwin-patches-for-1.14' into cygwin-release-1.14xserver-cygwin-1.14.4-2Jon TURNEY2-48/+31
2013-12-09Improve reliability of clipboard X->Windows pastesJon TURNEY2-48/+31
Sometimes, particularly with large clipboard pastes to Windows, we could end up waiting for the timeout to expire, rather than pasting the data. Various changes to improve reliability: 1. Use XFlush() not XSync() in winProcessXEventsTimeout(). It makes no sense to ensure we have received replies to outstanding requests if we are going to wait for them using select() 2. Add XFlush() to winClipboardProc() Make sure we have sent any requests before we wait using select() 3. Don't use FD_ISSET() to check which fd is ready This looks like a select() bug in that it sometimes returns 0 with an empty fd set before the timeout expires, but a fd appears to be ready. Add select() return value to debug output when we are warning that this has happened. 4. Drain event queues before entering select() Unconditionally drain event queues before entering select(). This is the recommended way of writing select() and X event processing loops. winClipboardFlushXEvents() checks using XPending(), and winClipboardFlushWindowsMessageQueue() checks using PeekMessage() so this is safe against blocking, but means that may not need to enter select() at all sometimes.
2013-11-21bump version to 1.14.4.901xorg-server-1.14.4.901Matt Dew1-3/+3
2013-11-16Merge commit '7ddc6f7f1ed0e0f85b2d617c59d75d5de1cd2d5a' into server-1.14-branchMatt Dew3-4/+7
2013-11-16sync: fix corner-case in triggering idle alarmsPeter Hutterer1-1/+10
ProcessInputEvent() resets the device idle times. If idle time was higher than the lower bracket, this should trigger an event in the idle time wakeup handler. If processing is slow, the idle time may advance past the lower bracket between the reset and the time the BlockHandler is called. In that case, we'd never schedule a wakeup to handle the event, causing us to randomly miss events. Ran tests with a neg transition trigger on 5ms with 200 repeats of the test and it succeeded. Anything below that gets a bit tricky to make sure the server sees the same idle time as the client usleeps for. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit f36f5a65f639b6524191d888d5bf89e73027156c)
2013-11-13xfree86: Fix build without libpciaccessJeremy Huddleston Sequoia1-1/+4
Regression fix from commit 04ab07ca19236d6c9a947e065fb69b0dd0d16639 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Connor Behan <connor.behan@gmail.com> (cherry picked from commit 4a251f5883b042cd902c192060a0be2b11148f2b)
2013-11-13XQuartz: Don't sleep forever on exit if usleep() returns an errorJeremy Huddleston Sequoia1-1/+1
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit f70a8bf3714d89bccaad36841ef9149e91ad3bba)
2013-11-13XQuartz: Update Info.plist copyright yearsJeremy Huddleston Sequoia1-2/+2
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit ebcc1c214c466582d7b92826b4860256fd9c582a)
2013-11-11Merge branch 'cygwin-patches-for-1.14' into cygwin-release-1.14xserver-cygwin-1.14.4-1Jon TURNEY1-0/+4
2013-11-11Merge tag 'xorg-server-1.14.4' into cygwin-release-1.14Jon TURNEY18-94/+210
xorg-server-1.14.4
2013-11-11Fix a potential crash in winRedrawScreenShadowDDNL()Jon TURNEY1-0/+4
Seen during shutdown when using '-depth 8'
2013-11-06glx: Add support for the new DRI loader entrypoint.Eric Anholt1-2/+22
This is going to be exposed (and not the old entrypoint) for some DRI drivers once the megadrivers series lands, and the plan is to eventually transition all drivers to that. Hopefully this is unobtrusive enough to merge to stable X servers so that they can be compatible with new Mesa versions. v2: typo fix in the comment Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-05Merge commit '94b7f26aeda31cf55ff9b7c04f390ba6d35977e4' into server-1.14-branchMatt Dew2-6/+3
2013-11-05randr: deliver Output and Crtc events of attached output providers.Michal Srb1-0/+24
Consider all attached output providers when looking for changed outputs and crtcs. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 85ae44f07fa21b4a48d95d736dc8135bd4f751d0)
2013-11-05randr: send RRResourceChangeNotify event (abi unbreak)Michal Srb5-0/+54
Send RRResourceChangeNotify event when provider, output or crtc was created or destroyed. I.e. when the list of resources returned by RRGetScreenResources and RRGetProviders changes. [airlied: move structure member to avoid ABI breakage] Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit a9ca93dcf9a711b3d60fbad31cbd44e0c82b6f42)
2013-11-05randr: send RRProviderChangeNotify event (abi unbreak)Michal Srb3-0/+65
Send RRProviderChangeNotify event when a provider becomes output source or offload sink. [airlied: unbreak the ABI for 1.14 backport.] Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 4b39ea8a918fe6117bf34dc1cba67a4e56d0d1fb)
2013-11-05randr: report changes when we disconnect a GPU slaveDave Airlie2-1/+4
When we disconnect an output/offload slave set the changed bits, so a later TellChanged can do something. Then when we remove a GPU slave device, sent change notification to the protocol screen. This allows hot unplugged USB devices to disappear in clients. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 9d26e8eaf5a2d7c3e65670ac20254c60f665c463)
2013-11-05randr: only respected changed on the protocol screenDave Airlie1-1/+1
We don't want to know about changes on the non-protocol screen, we will fix up setchanged to make sure non-protocol screens update the protocol screens when they have a change. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit e233bda3e7c68234b34a8b7ad04b27c6e2009a8f)
2013-11-05randr: make SetChanged modify the main protocol screen not the gpu screenDave Airlie1-1/+15
When SetChanged is called we now modify the main protocol screen, not the the gpu screen. Since changed stuff should work at the protocol level. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit b3f70f38edebac87afe9351538365292f1aaaff3)
2013-11-05randr: don't directly set changed bits in randr screenDave Airlie6-4/+16
Introduce a wrapper interface so we can fix things up for multi-gpu situations later. This just introduces the API for now. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit f9c8248b8326ad01f33f31531c6b2479baf80f02)
2013-11-05randr: Fix a copypasta bug in CRTC confinementAdam Jackson1-1/+1
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 1c8beedfe4343377fa3504f8ab71430cc137b22c)
2013-11-05xfree86: detach scanout pixmaps when detaching output GPUsAaron Plattner1-3/+16
Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a chicken-and-egg problem by detaching GPU screens when their providers are destroyed, which happens before CloseScreen is called. However, this created a new problem: the GPU screen tears down its RandR crtc objects during CloseScreen and if one of them is active, it tries to detach the scanout pixmap then. This crashes because RRCrtcDetachScanoutPixmap tries to get the master screen's screen pixmap, but crtc->pScreen->current_master is already NULL at that point. It doesn't make sense for an unbound GPU screen to still be scanning out its former master screen's pixmap, so detach them first when the provider is destroyed. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit bdd1e22cbde9ea2324e4e1991c9e152f22f88151)
2013-11-05Revert "Merge commit 'f98d6cfa0de41cf33e7555342753897c07af84ef' into ↵Dave Airlie10-194/+9
server-1.14-branch" This reverts commit ad2fa50b5371f6e71a66d47e73304599c90f9118, reversing changes made to bab4908579f6b034ea38f8df2f8dc1f9f026f5e1. oops i broke ABI. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-02miext/damage: Partial revert of "Only wrap into the GC ops chain if there's ↵Jeremy Huddleston Sequoia1-4/+1
a listener (v3)" Fixes regression from: 4dc2a76740d921c824a4d8193f39dd373475f02a http://lists.x.org/archives/xorg-devel/2013-May/036241.html https://trac.macports.org/ticket/38993 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit abf5d5ac12437ebe156b4dd500c2acd69eea3654)
2013-11-02XQuartz: Bump bundle version to 2.7.5Jeremy Huddleston Sequoia1-2/+2
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2013-10-31Merge commit 'f98d6cfa0de41cf33e7555342753897c07af84ef' into server-1.14-branchMatt Dew10-9/+194
2013-10-31xfree86: Find primary entity when bus types are nominally differentConnor Behan1-1/+3
As of server 1.13, systems with DRM and Udev will have BUS_PLATFORM as their primary bus type. However, drivers not implementing a platformProbe function will still create entities of type BUS_PCI. We need to account for this when checking for the primary entity. Signed-off-by: Connor Behan <connor.behan@gmail.com> Acked-by: Tormod Volden <debian.tormod@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-10-31bump version from 1.14.3.901, to 1.14.4xorg-server-1.14.4Matt Dew1-3/+3
2013-11-01randr: deliver Output and Crtc events of attached output providers.Michal Srb1-0/+24
Consider all attached output providers when looking for changed outputs and crtcs. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-01randr: send RRResourceChangeNotify eventMichal Srb5-0/+54
Send RRResourceChangeNotify event when provider, output or crtc was created or destroyed. I.e. when the list of resources returned by RRGetScreenResources and RRGetProviders changes. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-01randr: send RRProviderChangeNotify eventMichal Srb3-0/+65
Send RRProviderChangeNotify event when a provider becomes output source or offload sink. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Michal Srb <msrb@suse.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-11-01randr: report changes when we disconnect a GPU slaveDave Airlie2-1/+4
When we disconnect an output/offload slave set the changed bits, so a later TellChanged can do something. Then when we remove a GPU slave device, sent change notification to the protocol screen. This allows hot unplugged USB devices to disappear in clients. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-01randr: only respected changed on the protocol screenDave Airlie1-1/+1
We don't want to know about changes on the non-protocol screen, we will fix up setchanged to make sure non-protocol screens update the protocol screens when they have a change. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-01randr: make SetChanged modify the main protocol screen not the gpu screenDave Airlie1-1/+15
When SetChanged is called we now modify the main protocol screen, not the the gpu screen. Since changed stuff should work at the protocol level. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-01randr: don't directly set changed bits in randr screenDave Airlie6-4/+16
Introduce a wrapper interface so we can fix things up for multi-gpu situations later. This just introduces the API for now. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-11-01randr: Fix a copypasta bug in CRTC confinementAdam Jackson1-1/+1
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2013-11-01xfree86: detach scanout pixmaps when detaching output GPUsAaron Plattner1-3/+16
Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a chicken-and-egg problem by detaching GPU screens when their providers are destroyed, which happens before CloseScreen is called. However, this created a new problem: the GPU screen tears down its RandR crtc objects during CloseScreen and if one of them is active, it tries to detach the scanout pixmap then. This crashes because RRCrtcDetachScanoutPixmap tries to get the master screen's screen pixmap, but crtc->pScreen->current_master is already NULL at that point. It doesn't make sense for an unbound GPU screen to still be scanning out its former master screen's pixmap, so detach them first when the provider is destroyed. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2013-10-26Bump version from 1.14.3 to 1.14.3.901.xorg-server-1.14.3.901Matt Dew1-3/+3
2013-10-22sync: split updating and triggering a counter upPeter Hutterer1-2/+11
Now that the brackets are always the nearest change points (regardless of transition) we need to update the counters whenever we check for any updates. Otherwise we end up with a situation where counter->value is out of date and an alarm doesn't trigger because we're still using the value from last time something actually triggered. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 2523a445a09a75a8baf642608d099a5e12d5437f)
2013-10-22sync: always set the brackets (#59644)Peter Hutterer1-0/+20
The current code sets bracket_greater to the first trigger after the current value, and bracket_less to the last trigger before the current value. For example, the idle timer with three negative and three positive transitions would set this: nt1 nt2 nt3 |--------|------|--|------- idle --|---|--|-----> t pt1 pt2 pt3 bracket_less == nt2 bracket_greater == pt2 This is an optimization so we can skip code paths in the block/wakeup handlers if the current value doesn't meet any of the trigger requirements. Those handlers largely do a if (bracket_less is less than current value && bracket_greater is greater than current value) return, nothing to do However, unless the bracket values are updated at the correct time, the following may happen: nt |--------------|---------- idle ------|--------> t pt In this case, neither bracket is set, we're past the pos transition and not yet at the neg transition. idle may now go past nt, but the brackets are not updated. If idle is then reset to 0, no alarm is triggered for nt. Likewise, idle may now go past pt and no alarm is triggered. Changing an alarm or triggering an alarm will re-calculate the brackets, so this bug is somewhat random. If any other client triggers an alarm when the brackets are wrongly NULL, the recalculation will set them this bug may not appear. This patch changes the behavior, so that the brackets are always the nearest positive or negative transitions to the current counter value. In the example above, nt will trigger a wakeup and a re-calculation of the brackets, so that going past it in the negative direction will then cause the proper alarm triggers. Or, in Keith's words: Timer currently past a positive trigger No bracket values, because no trigger in range Timer moves backwards before the positive trigger Brackets not reset, even though there is now a trigger in range Timer moves forward past the positive trigger Trigger doesn't fire because brackets not set Setting the LT bracket in this case will cause everything to get re-evaluated when the sync value moves backwards before the trigger value. X.Org Bug 59644 <http://bugs.freedesktop.org/show_bug.cgi?id=59644> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit e57ec99b03b2ad840c384a97ab2766ce9da0f5cc)
2013-10-22sync: if the idle time was reset, force alarms to trigger (#70476)Peter Hutterer3-7/+69
The time between the idle reset and the IdleTimeWakeupHandler to be called is indeterminate. Clients with an PositiveTransition or NegativeTransition alarm on a low threshold may miss an alarm. Work around this by keeping a reset flag for each device. When the WakeupHandler triggers and the reset flag is set, we force a re-calculation of everything and pretend the current idle time is zero. Immediately after is the next calculation with the real idle time. Relatively reproducible test case: Set up a XSyncNegativeTransition alarm for a threshold of 1 ms. May trigger, may not. X.Org Bug 70476 <http://bugs.freedesktop.org/show_bug.cgi?id=70476> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 06b87aa528d7a739ba20101a1f83b1a428691a01)
2013-10-22dix: provide accessor methods for the last device event timePeter Hutterer9-23/+41
And now that we have the accessors, localize it. No functional changes, just preparing for a future change. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit efc1035ca958f2c9d266338a308518a0834b1773)
2013-10-22sync: supply the counter from IdleTimeBlockHandlerPeter Hutterer1-1/+1
The main idletime counter has an initialized deviceid, might as well be supplying it properly. Without this, we'd only ever check the XIAllDevices counter, so the wait would never be adjusted for the device-specific triggers. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit b7c9bd9cf276e92a73be57ff2ed32b47a80f13fb)
2013-10-22sync: always call BracketValues when recalculating upper/lower bracketsPeter Hutterer1-3/+2
Both ServertimeBracketValues and IdleTimeBracketValues copy the value into there SysCounter privates. Call it for a NULL set as well, so we don't end up with stale pointers and we can remove the block/wakeup handlers. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 2efe49c1029f959fe80879bcf50df42e8b80451d)
2013-10-22sync: compress two if statementsPeter Hutterer1-32/+19
No functional changes, just merges a > and == condition into a >= condition. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 5c7cfd4c6978834551848e1be62af240102e39b5)