summaryrefslogtreecommitdiff
path: root/randr
AgeCommit message (Collapse)AuthorFilesLines
2008-04-07Merge branch 'master' into dcdc_reworkPeter Hutterer5-10/+40
Conflicts: Xext/xevie.c dix/dispatch.c
2008-03-17Make xf86SetDesiredModes aware of current output configurationJesse Barnes1-0/+1
By adding a new output callback, ->get_crtc, xf86SetDesiredModes is able to avoid turning off outputs & CRTCs if the current output<->CRTC mappings are the same as the desired configuration. This helps avoid flickering displays at startup time, which speeds things up a little and looks better.
2008-03-12Return randr interface version in xf86CrtcScreenInit()Matthias Hopf1-0/+2
Necessary to allow drivers to be run-time backwards compatible when using the modes/ functions w/o providing their own copy.
2008-03-06Allow RandR get output property to call into driversJesse Barnes3-6/+34
In order to report accurate values to users of the RandR property interface, it's sometimes necessary to ask the driver to update the value (for example when backlight brightness changes without the server's knowledge, due to hotkey events or direct sysfs banging). This patch wires up the core server code with a new xf86CrtcFuncs callback, get_property, to allow for this. The new code is available under the RANDR_13_INTERFACE define, which in turn depends on the RANDR_12_INTERFACE code.
2008-03-01clean some "unused" warningsGeorge Sapountzis1-1/+0
2008-02-28XACE: Fix instances of DixUnknownAccess at hook callsites.Eamon Walsh1-3/+3
2008-01-03Merge branch 'master' into mpxPeter Hutterer5-28/+18
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
2007-11-20Revert "registry: Register RANDR extension protocol names."Eamon Walsh1-68/+0
This reverts commit c827db57e4d9ca14c82b099dcfc9b7a0c0b5ba0a. Moving all the names into dix/registry.c
2007-11-20Revert "registry: Register XINERAMA extension protocol names."Eamon Walsh1-21/+5
This reverts commit b9f5ab98c8dea36dcce1ad15fd2e059a77e77c39. Moving all the names into dix/registry.c
2007-11-19Merge branch 'master' into XACE-SELINUXEamon Walsh2-1/+3
Conflicts: hw/xnest/Pixmap.c include/dix.h
2007-11-18Bug #12531: RRModesForScreen can fail to allocate.Jernej Azarija1-0/+2
2007-11-15Allocate RRCrtcRecs with calloc.Adam Jackson1-1/+1
2007-11-14Merge branch 'master' into XACE-SELINUXEamon Walsh1-1/+2
Conflicts: Xext/xace.c Xext/xace.h
2007-11-12Only clear crtc of output if it is the one we're actually working on.Matthias Hopf1-1/+2
Upon recreation of the RandR internal data structures in RRCrtcNotify() the crtc of an output could be NULLed if the crtc was shared (cloned) between two outputs and one of them got another crtc assigned.
2007-11-07Merge branch 'master' into mpxPeter Hutterer4-13/+17
Conflicts: Xi/extinit.c Xi/grabdev.c Xi/setmode.c Xi/ungrdev.c dix/devices.c dix/events.c dix/getevents.c include/dix.h mi/midispcur.c mi/misprite.c xkb/xkbActions.c xkb/xkbEvents.c xkb/xkbPrKeyEv.c
2007-11-05Merge branch 'master' into XACE-SELINUXEamon Walsh1-2/+2
Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
2007-11-05RandR: Remove usage of allocaDaniel Stone1-2/+2
Replace with heap allocations.
2007-10-15registry: Add some missing #include's.Eamon Walsh3-0/+3
2007-10-15registry: Register RANDR extension protocol names.Eamon Walsh1-0/+68
2007-10-15registry: Register XINERAMA extension protocol names.Eamon Walsh1-5/+21
2007-10-11dix: Add a new "registry" mechanism for registering string names of things.Eamon Walsh3-8/+2
Supports protocol requests, events, and errors, and resource names. Modify XRES extension to use it.
2007-09-19Merge branch 'master' into XACE-SELINUXEamon Walsh3-11/+15
Conflicts: afb/afbpntwin.c afb/afbscrinit.c afb/afbwindow.c cfb/cfb.h cfb/cfballpriv.c cfb/cfbscrinit.c cfb/cfbwindow.c configure.ac fb/wfbrename.h hw/xfree86/xf4bpp/ppcIO.c hw/xfree86/xf4bpp/ppcPntWin.c hw/xfree86/xf4bpp/ppcWindow.c hw/xfree86/xf8_32bpp/cfbscrinit.c mfb/mfb.h mfb/mfbpntwin.c mfb/mfbscrinit.c mfb/mfbwindow.c mi/miexpose.c Note: conflicts caused by devPrivates rework vs. paintwindow changes.
2007-09-15Initialize output->pendingProperties.Tilman Sauerbeck1-0/+1
2007-09-05randr: RRPointerScreenConfigured needs to move all pointers.Peter Hutterer1-14/+23
Previous version only moved the VCP, causing "bogus pointer events" lateron. Now we run through the device list, updating each pointer separately if necessary. Also stick a big warning into RRPointerMoved, not sure what device we need to work on here.
2007-08-31[RANDR] Don't mark Xinerama as active if no crtcs are enabled. (bug #11504).Adam Jackson1-7/+7
Clients expect any Xinerama-enabled screen to report at least one monitor, but with RandR, there may not be any enabled crtcs. In this case, tell the client that Xinerama is not active.
2007-08-31[RANDR] Compare only milliseconds of config time. (Bug #6502)Marius Gedminas1-4/+7
The timestamp transferred in the X protocol is a 32-bit number of milliseconds. The timestamp stored in the server is a structure that contains two fields: months (!) and milliseconds. When the server passes the config timestamp to the client, it discards the months part and sends only the milliseconds part. When the server receives the config timestamp from the client, it tries to guess the "months" part by looking at the current time and then maybe adding or subtracting one. The guess is wrong after the server has been running long enough (several hours). I have added two ErrorF calls around the 'if' statement that returns RRSetConfigInvalidConfigTimestamp in randr/randr.c and my Xorg.0.log has this: randr request got good config time: 0:-2103495671 for the first few successful xrandr calls, and randr request failed with RRSetConfigInvalidConfigTime: client passed 1:-2103495671, server has 0:-2103495671 when it fails. The server has been running for 8 and a half hours. The obvious fix would be to ignore the months field and only compare the milliseconds.
2007-08-28devPrivates rework: since API is already broken, switch everythingEamon Walsh2-18/+8
over to new system. Need to update documentation and address some remaining vestiges of old system such as CursorRec structure, fb "offman" structure, and FontRec privates.
2007-08-12Merge branch 'master' into mpxPeter Hutterer5-22/+15
Conflicts: Xi/exevents.c dix/devices.c dix/getevents.c include/dix.h mi/mieq.c
2007-08-08RRScanOldConfig cannot use RRFirstOutput before output is configured.Keith Packard1-1/+1
RRFirstOutput returns the first active output, which won't be set until after RRScanOldConfig is finished running. Instead, just use the first output (which is the only output present with an old driver, after all).
2007-08-07RRScanOldConfig wasn't getting crtcs set correctlyKeith Packard1-3/+4
The output crtc is set by RRCrtcNotify, which is called at the end of RRScanOldConfig. Several uses of output->crtc in this function were wrong.
2007-08-07Decrement mode count when removing RandR output mode.Keith Packard1-0/+1
Removing an output mode without decrementing the mode count scrambles the output mode array badly.
2007-07-31Fix a crash when rotating the screen.Aaron Plattner1-3/+6
Remember output->crtc before setting a NULL mode because RRCrtcNotify now sets output->crtc to NULL. Use the saved crtc to set the new mode.
2007-07-25Fix the output->crtc initialization in the old randr setupGustavo Pichorim Boiko1-0/+1
2007-07-23Set the crtc before the output change is notifiedGustavo Pichorim Boiko4-15/+2
Set the new randr crtc of the output before the output change notification is delivered to the clients. Remove RROutputSetCrtc as it is not really necessary. All we have to do is set the output's crtc on RRCrtcNotify
2007-07-14Screen size bounds check in ProcRRSetCrtcConfig not masking out reflections.Keith Packard1-1/+1
When checking how to validate the selected mode and position against the current screen size, the test against 90/270 rotation did not mask out reflection, so that when reflection was specified, the 90/270 test would never succeed. This caused incorrect bounds checking and would return an error to the user instead of rotating the screen.
2007-06-19Merge branch 'master' into mpxPeter Hutterer2-3/+10
Conflicts: dix/devices.c hw/xfree86/common/xf86Xinput.c hw/xfree86/loader/xf86sym.c mi/mieq.c
2007-05-24Fix build of composite, dix, and randr when Xinerama is disabled.Luo Jie2-3/+10
2007-04-27Merge branch 'master' into mpxPeter Hutterer2-2/+12
Conflicts: dix/devices.c dix/events.c
2007-04-26Enable event delivery for multiple heads.Paulo Ricardo Zanoni1-1/+7
Requires moving the spriteTrace into the DeviceIntRec and adjusting a few functions to take in device argument, most notably XYToWindow(). Cursor rendering on the second screen is busted.
2007-04-25Disable RANDR's fake Xinerama protocol when there's more than one screen.Adam Jackson1-0/+8
... in the protocol sense. Xinerama doesn't have any provision for more than one protocol screen each with its own geometry. Red Hat bug #231257.
2007-04-16RandR 1.2 spec says CRTC info contains screen-relative geometry.Keith Packard1-2/+4
Was reporting mode size instead of adjusting for rotation. (cherry picked from commit e2e7c47a528447e90cff6cf10d2ce457742ef48d)
2007-04-12Merge branch 'master' into mpxPeter Hutterer1-8/+23
Conflicts: configure.ac dix/events.c hw/xfree86/common/xf86Xinput.c
2007-04-10Rotate screen size as needed from RandR 1.1 change requests.Keith Packard1-3/+10
Screen size must reflect rotated mode size when setting rotated mode using RandR 1.1 SetScreenConfig request. (cherry picked from commit efcec7dbd3c2736c7b421d29c4d37e231aa681d2)
2007-04-03Swap RRScreenChangeNotifyEvent dimensions when the screen has one crtc and ↵Aaron Plattner1-5/+13
it's rotated. RandR 1.1 clients expect the size fields in this event to be the unrotated dimensions of the screen. This behavior is "weird", but that's the way the old code worked so we need to be bug-compatible with it.
2007-04-02Merge branch 'master' into mpxPeter Hutterer9-268/+608
Conflicts: Xi/closedev.c Xi/exevents.c Xi/extinit.c Xi/listdev.c dix/window.c hw/xfree86/common/xf86Xinput.c include/extinit.h mi/mipointer.c
2007-03-24Make pending properties force mode set. And, remove AttachScreen calls.Keith Packard6-147/+138
Yes, two changes in one commit. Sorry 'bout that. The first change ensures that when pending property values have been changed, a mode set to the current mode will actually do something, rather than being identified as a no-op. In addition, the driver no longer needs to manage the migration of pending to current values, that is handled both within the xf86 mode setting code (to deal with non-RandR changes) as well as within the RandR extension itself. The second change eliminates the two-call Create/AttachScreen stuff that was done in a failed attempt to create RandR resources before the screen structures were allocated. Merging these back into the Create function is cleaner. (cherry picked from commit 57e87e0d006cbf1f5b175fe02eeb981f741d92f0) Conflicts: randr/randrstr.h randr/rrcrtc.c I think master and server-1.3-branch are more in sync now.
2007-03-23Incorrect extra memory copy in RRChangeOutputProperty.Keith Packard1-2/+0
Left over from previous version of the code, this memmove will break when the mode is not Replace. (cherry picked from commit 945aa0aa556429b50dea8e8ebc0008304b093eb7)
2007-03-23Fix Pending property API, adding RRPostPendingProperty.Keith Packard2-58/+98
Pending Properties take effect when the driver says they do, so provide an API to tell DIX when a property effect is made. Also, allow driver to reject property values in RRChangeOutputProperty. (cherry picked from commit 8eb288fbd69e2ffd02521d2c6a964c8180d08ec8)
2007-03-23Make sure RandR events are delivered from RRCrtcSet.Keith Packard1-43/+50
Some paths were skipping the event delivery stage. (cherry picked from commit 9ca7ba5d6012295a77ed773c656e786440da973d)
2007-03-23Clear allocated RandR screen private structure.Keith Packard1-1/+1
Use xcalloc instead of xalloc when allocating this structure to ensure consistent contents at startup. (cherry picked from commit 16f4c0c1750824f2e5a001cef82a4122a7a2beb0)