summaryrefslogtreecommitdiff
path: root/hw
AgeCommit message (Collapse)AuthorFilesLines
2007-03-26Bump video driver ABI version to 1.2.Michel Dänzer1-1/+1
This is necessary because server-1.2-branch bumped to 1.1 for xf86CVTMode and we have xf86XVFillKeyHelperDrawable on top of that. (cherry picked from commit 788cfce911793a26aed16f38f30678ecee82c873) Conflicts: hw/xfree86/common/xf86Module.h Avoid picking up XInput ABI change.
2007-03-26Add per-drawable Xv colour key helper function.Michel Dänzer4-3/+68
This allows overlay Xv adaptors to work slightly better with compositing managers. Bump the video driver ABI minor so drivers only need to check for this at build time. (cherry picked from commit a232693c8c2a206aac47c07b133c071938204e0b) Conflicts: hw/xfree86/common/xf86Module.h Avoid picking up XInput ABI version change.
2007-03-26fbdevhw: Only deal with RGB weight if default visual is True- or DirectColor.Michel Dänzer1-12/+22
(cherry picked from commit 14d6a9b327381a6bb2dac59c62728e5fd0f0bcfb)
2007-03-26fbdevhw: Consider mode set equal to mode requested if virtual width is larger.Michel Dänzer1-17/+17
(cherry picked from commit 27a01e100bff21ac0b70c6d72071d7226fc91264)
2007-03-26fbdevhw: Override RGB offsets and masks after setting initial mode.Michel Dänzer1-0/+11
This is a hack, but it should be a NOP for all the setups that worked before and actually seems to fix some others... Based on a patch by Peter Teichmann from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338241 . (cherry picked from commit dc5eb4523298f966bd5fd9ae6672160034b5e82c)
2007-03-26fbdevhw: Use displayWidth for fbdev virtual width when appropriate.Michel Dänzer1-1/+2
The fbdev API doesn't allow setting the pitch explicitly, so we have to set the virtual width to the pitch we're using for drawing. This fixes corruption after changing the virtual width with RandR. (cherry picked from commit d077c0da470ab7291e8d838eaace57b066477d6f)
2007-03-26fbdevhw: Fix some issues with the previous commit.Michel Dänzer1-2/+3
Fix a TRACE_ENTER typo and only update the internal fbdev mode state cache after actually setting a mode. (cherry picked from commit c385bcf0bde38dd869f7065f859dd4b4126f5690)
2007-03-26fbdevhw: Consolidate modeset ioctl calling, report failure if it modifies mode.Michel Dänzer1-47/+82
The fbdev API allows the driver to 'accept' modes it doesn't really support by modifying it to the nearest supported mode. Without this check, e.g. vesafb would appear to accept all modes, even though it actually can't set any modes other than the bootup mode at all. (cherry picked from commit f6815cb68b0f6698497348fc6e4214dacef33b95)
2007-03-23Make pending properties force mode set. And, remove AttachScreen calls.Keith Packard2-4/+9
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.
2007-03-23Ensure that crtc desired values track most recent mode.Keith Packard1-0/+7
desiredX and desiredY were not recorded during xf86InitialConfiguration. desiredX, desiredY and desiredRotation were not recorded during xf86SetSingleMode.
2007-03-23Fix Pending property API, adding RRPostPendingProperty.Keith Packard1-1/+1
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.
2007-03-23Clean up xf86CrtcRec and xf86OutputRec objects at CloseScreen.Keith Packard1-0/+14
Erase pointers to structures which are freed at server reset time.
2007-03-20Clean up Rotate state on server reset.Keith Packard4-18/+79
The rotation state is stored in the xf86_config structure which is not re-initialized at server reset time. Clean it up at CloseScreen time.
2007-03-17Slow down DDC I2C bus using a RiseFallTime of 20us for old monitors.Keith Packard1-0/+6
This time value makes the bus run slowly enough for even the least reliable of monitors. Thanks to Pavel Troller for finding the necessary change.
2007-03-17Remove extra (and wrong) I2C ByteTimeout setting in DDC code.Keith Packard1-1/+0
The DDC code sets the I2C timeouts to VESA standards, except that it had an extra setting of the ByteTimeout value which was wrong (off by a factor of 50). Removing this should help DDC work on many more monitors. Note that the Intel driver duplicated these settings, along with the error. Yay for cult and paste coding.
2007-03-15Don't wedge when rotating more than one CRTC.Keith Packard2-14/+20
Rotation block handler was re-registering the rotation damage structure, creating an infinite loop in the damage code. Track registration of the damage structure to avoid this.
2007-03-15Allow xf86_reload_cursors during server init.Keith Packard1-4/+16
xf86_reload_cursors is supposed to be called from the crtc mode setting commit hook; as that happens during server initialization, check for this case.
2007-03-14Create driver-independent CRTC-based cursor layer.Keith Packard9-13/+710
This moves most of the cursor management code out of the intel driver and into the general server code. Of course, the hope is that this code will be useful for other driver writers as well. Check out xf86Crtc.h for the usage information, making sure you add the needed hooks to the crtc funcs structure for your driver.
2007-03-14Xprint: shorten font filename to fit in tar length limitDrew Parsons7-12/+12
The length of the Xprint font file NewCenturySchlbk-BoldItalic.pmf pushes the full path over the traditional 100 character limit for tarballs (when module version number is included). Shorten it to NewCentSchlbk-BoldItal.pmf to get back below the limit and rename other font files in that family to match. (cherry picked from commit d5aba03feff41722c72b4c6193f09d141cbf1678)
2007-03-14Revert "Xprint includes a filename which is too long for tar."Keith Packard1-0/+1
This reverts commit 73904d953f2f9cbe941a215ba240b46bc7a61357. The next patch will fix the filenames so that they work with tar.
2007-03-07Remove stale monitor data when output becomes disconnected.Keith Packard1-0/+3
Remove parsed EDID and EDID property from disconnected outputs.
2007-03-06Add hw/xfree86/docs/README.modes, documenting new mode setting APIs.Keith Packard1-0/+474
This document covers both API and xorg.conf usage of the new mode setting APIs.
2007-03-06Add xf86CrtcScreenInit to share initialization across drivers.Keith Packard3-19/+59
xf86CrtcScreenInit performs initialization that needs to happen at ScreenInit time.
2007-03-05Allow relative positions to use output names or monitor identifiers.Keith Packard1-5/+9
Previous version used monitor identifiers if present, otherwise output names. That caused existing working configurations to break when additional information was added to the configuration file.
2007-03-05Use EDID data to set screen physical size at server startup.Keith Packard1-2/+22
Screen physical size is set to a random value before the RandR code gets control, override that and reset it to a value based on the compat_output physical size (if available). If that output has no physical size, just use 96dpi as the default resolution and set the physical size as appropriate.
2007-03-05Add xf86SetDesiredModes to apply desired modes to crtcs.Keith Packard3-0/+68
xf86SetDesiredModes applies the desired modes to each crtc (as selected by xf86InitialConfiguration initially and modified by successful mode settings afterwards). For crtcs without a desired mode, pScrn->currentMode is used to select something workable.
2007-03-05Move xf86SetSingleMode into X server from intel driver.Keith Packard2-0/+132
This function applies a single mode to the screen (as from RandR 1.1, XFree86-VidModeExtension or XFree86-DGA) using a policy that selects one output to reconfigure to the requested mode and then makes all other outputs fit within that size.
2007-03-04Xprint includes a filename which is too long for tar.xorg-server-1.2.99.901Keith Packard1-1/+0
2007-03-04Sun bug 6529003: Xorg should not be including <sys/immu.h> on SolarisAlan Coopersmith1-1/+1
<sys/immu.h> was removed from the latest Solaris Nevada build, but it's been useless to Xorg for a long time (it only declared a couple of kernel variables) <http://bugs.opensolaris.org/view_bug.do?bug_id=6529003>
2007-03-04add a standard connector type and name for us as an output propertyDave Airlie2-0/+29
(cherry picked from commit 8ba5e8d82014b774a52f3e050ddbbb8bde4e0933)
2007-03-04modes: add commit/prepare hooksDave Airlie2-5/+29
(cherry picked from commit 2e31872e05c2408d53ba0182bcddc5dabb3615fe)
2007-03-04Remove debugging ErrorF from rotation code.Keith Packard1-13/+4
2007-03-04Handle non-zero origin rotated crtc. Damage crtc area on re-rotate.Keith Packard1-28/+60
Box transformation from source to dest area was broken, leaving the wrong areas painted when the crtc origin was non-zero. When rotating from left to right, the pixmap doesn't get reallocated, and so no damage was left in the pixmap from xf86RotatePrepare. Separately damage the whole crtc area when this occurs to repaint the area.
2007-03-03Add a canGrow argument to xf86InitialConfiguration.Aaron Plattner2-25/+55
canGrow indicates to the DDX that the driver can enlarge the desktop via the xf86_config->funcs->resize hook. If so, xf86InitialConfiguration will set virtual[XY] to match the configuration it chooses and will leave the crtc config size ranges alone. If FALSE, it will bloat the screen to fit the largest probed mode and also set the crtc config max size to limit the desktop to the initial virtual[XY] size.
2007-03-03Add a screen resize hook to xf86CrtcConfigRec.Aaron Plattner3-11/+43
This hook is called when the DDX needs to resize the screen. The driver is responsible for changing virtualX and virtualY, along with any other related screen properties (devPrivate.ptr, devKind, displayWidth, etc.). Use the size range from the crtc config instead of randrp->virtual[XY] when reporting the min and max screen sizes to the DDX.
2007-03-04Xprint: fix font symlinksDrew Parsons4-3/+4
Change symlinks to Xprint base fonts in model/PSdefault using local relative links. This facilitates moving the Xprint config files, for instance for FHS compliance placing data files in /usr/share rather than /usr/lib. Also ensures NewCenturySchlbk-BoldItalic.pmf is installed.
2007-02-23Don't install libi2c.aAdam Jackson1-1/+1
2007-02-20Eliminate RRModeRec devPrivate field.Keith Packard1-44/+103
The xf86 mode setting code was mis-using this field to try and store a pointer to a DisplayModeRec, however, each output has its own copy of every DisplayModeRec leaving the one in in the RRModeRec devPrivate field pointing at a random DisplayModeRec. Instead of attempting to rectify this, eliminating the devPrivate entirely turned out to be very easy; the DDX code now accepts an arbitrary RRModeRec structure and set that to the hardware, converting it on the fly to a DisplayModeRec as needed.
2007-02-18Add support for user-defined modelines in RandR.Keith Packard1-0/+50
The RandR protocol spec has several requests in support of user-defined modes, but the implementation was stubbed out inside the X server. Fill out the DIX portion and start on the xf86 DDX portion. It might be necessary to add more code to the DDX to insert the user-defined modes into the output mode list.
2007-02-17Merge branch 'server-1.3-origin' into server-1.3-branchKeith Packard12-29/+70
2007-02-17Check for __sparc as well as __sparc__ for compatibility with Sun ccAlan Coopersmith7-14/+14
(gcc defines __sparc__, Sun cc defines __sparc) (cherry picked from commit f9f7d7f3be53c808abb5eaceb7a1abc55744a210)
2007-02-17Add ast driver/device info to Xorg server & config utilitiesCarl Switzky3-0/+10
(cherry picked from commit edd5f1745461f995670969cb736d1569ca94643f)
2007-02-17Add an RDTSC implementation to the x86 emulator.Aaron Plattner1-1/+35
This instruction is being used in some debug VBIOSes. This implementation doesn't even try to be accurate. Instead, it just increments the counter by a fixed amount every time an rdtsc instruction in encountered, to avoid divides by zero.
2007-02-17Fix bus error on startup in 64-bit XephyrAlan Coopersmith1-14/+9
hostx_get_visual_masks takes unsigned long * arguments, but was being passed pointers to CARD32's. (cherry picked from commit 5dcad9e9d7d9993d65f989219bee94a060bbf476)
2007-02-17kdrive/ephyr: free screen structDaniel Stone1-0/+2
Free screen->driver on screenFini, instead of just leaking it. (cherry picked from commit 0f6dd4aea6176507dbe1c90c950d332fecbcaacb)
2007-02-16Don't set subpixel order during startup; the screen won't be ready.Keith Packard1-1/+2
in xf86CrtcSetMode, scrn->pScreen will be NULL during server startup time, so don't try to set the subpixel order. subpixel order will be set in the randr initialization anyways.
2007-02-16Ensure drivers can use new modes header files.Keith Packard7-15/+21
New modes header files required a few minor changes to be used by external drivers, the most notable of which is the publication of the config file parser header files.
2007-02-16Respect rotation in initial screen size computation.Keith Packard1-2/+2
2007-02-16Enable startup-time rotation; change rotation pixmap creation API.Keith Packard7-77/+172
Add monitor "Rotate" option taking one of "normal", "left", "inverted" or "right". However, because initial mode selection is made before the screen is completely initialized, we cannot create the shadow pixmap object at this point. Pend the shadow pixmap creation until the block handler. Note that this code is not completely functional yet.
2007-02-15Report correct RandR 1.0 sizeID. Report correct subpixel order.Keith Packard4-0/+77
RandR 1.0 sizeID must be computed the same way every time, so when reporting it in the ScreenChangeNotify event, just construct the usual 1.0 data block and use that. subpixel geometry information can be computed by looking at the connected outputs and finding any with subpixel geometry and using one of those for the global screen subpixel geometry. This might be improved by reporting None if more than one screen has information and they conflict.