Commit graph

2776 commits

Author SHA1 Message Date
Keith Packard
00cfd1f765 typo in built-in module log message 2007-04-16 09:39:47 -07:00
Keith Packard
e2e7c47a52 RandR 1.2 spec says CRTC info contains screen-relative geometry.
Was reporting mode size instead of adjusting for rotation.
2007-04-15 22:59:19 -03:00
Keith Packard
1328a288e9 Add quirk for Acer AL1706 monitor to force 60hz refresh.
This Acer monitor reports support for 75hz refresh via EDID, and yet when
that rate is delivered, the monitor does not sync and reports out of range.
Use the existing 60hz quirk for this monitor.
2007-04-13 15:04:29 -03:00
Keith Packard
efcec7dbd3 Rotate screen size as needed from RandR 1.1 change requests.
Screen size must reflect rotated mode size when setting rotated mode using
RandR 1.1 SetScreenConfig request.
2007-04-09 14:29:46 -07:00
Keith Packard
dc6c4f6989 Disable CRTC when SetSingleMode has no matching mode. Update RandR as well.
xf86SetSingleMode tries to resize all crtcs to match the selected mode. When
a CRTC has no matching mode, it now disables the CRTC (instead of crashing).

Also, poke the RandR extension when xf86SetSingleMode is done so that
appropriate events can be delivered, and so that future RandR queries return
correct information.
2007-04-09 14:12:27 -07:00
Keith Packard
7cf3a0e0b9 In AIGLX EnterVT processing, invoke driver EnterVT before resuming glx.
As the driver EnterVT function generally re-enables the hardware and
prepares it for rendering, it must be called before any gl functions are
called which could touch the hardware.
(cherry picked from commit f24391dbfd)
2007-04-09 12:59:10 -07:00
Keith Packard
970cacb264 Bump to version 1.2.99.905 (1.3 RC5) 2007-04-05 23:48:40 -07:00
Matthieu Herrb
44c4bd5df3 CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory Corruption
(cherry picked from commit 645d87cf8e)
2007-04-05 23:32:56 -07:00
Tomas Janousek
44ea7a3e0d Bug #10296: Fix timer rescheduling.
(cherry picked from commit 8c7f56d92d)
2007-04-05 23:32:56 -07:00
Keith Packard
042ef1f573 Bump version to 1.2.99.904 (1.3 RC4) 2007-04-05 23:21:19 -07:00
Keith Packard
56262a4ee9 Don't erase current crtc for outputs on CloseScreen
Erasing this variable causes some outputs (SDVO on intel) to fail
to be correctly reset at server reset time.
2007-04-02 14:15:36 -07:00
Keith Packard
00e33f87f4 Set version to 1.2.99.903 (1.3 RC3) 2007-03-26 21:21:50 -07:00
Michel Dänzer
4fd2d3aedf Bump video driver ABI version to 1.2.
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 788cfce911)

Conflicts:

	hw/xfree86/common/xf86Module.h

Avoid picking up XInput ABI change.
2007-03-26 20:41:14 -07:00
Michel Dänzer
dc914ced69 Add per-drawable Xv colour key helper function.
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 a232693c8c)

Conflicts:

	hw/xfree86/common/xf86Module.h

Avoid picking up XInput ABI version change.
2007-03-26 20:39:43 -07:00
Michel Dänzer
96636598ee fbdevhw: Only deal with RGB weight if default visual is True- or DirectColor.
(cherry picked from commit 14d6a9b327)
2007-03-26 20:32:37 -07:00
Michel Dänzer
7679b2c613 fbdevhw: Consider mode set equal to mode requested if virtual width is larger.
(cherry picked from commit 27a01e100b)
2007-03-26 20:32:31 -07:00
Michel Dänzer
1c2793d3ec fbdevhw: Override RGB offsets and masks after setting initial mode.
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 dc5eb45232)
2007-03-26 20:32:25 -07:00
Michel Dänzer
d7bcad9c69 fbdevhw: Use displayWidth for fbdev virtual width when appropriate.
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 d077c0da47)
2007-03-26 20:32:20 -07:00
Michel Dänzer
28af734cb7 fbdevhw: Fix some issues with the previous commit.
Fix a TRACE_ENTER typo and only update the internal fbdev mode state cache
after actually setting a mode.
(cherry picked from commit c385bcf0bd)
2007-03-26 20:32:14 -07:00
Michel Dänzer
c0459d7476 fbdevhw: Consolidate modeset ioctl calling, report failure if it modifies mode.
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 f6815cb68b)
2007-03-26 20:32:07 -07:00
Keith Packard
57e87e0d00 Make pending properties force mode set. And, remove AttachScreen calls.
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-23 23:41:36 -07:00
Keith Packard
36e5227215 Ensure that crtc desired values track most recent mode.
desiredX and desiredY were not recorded during xf86InitialConfiguration.
desiredX, desiredY and desiredRotation were not recorded during
xf86SetSingleMode.
2007-03-23 14:39:49 -07:00
Keith Packard
945aa0aa55 Incorrect extra memory copy in RRChangeOutputProperty.
Left over from previous version of the code, this memmove will break when
the mode is not Replace.
2007-03-23 01:17:14 -07:00
Keith Packard
8eb288fbd6 Fix Pending property API, adding RRPostPendingProperty.
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-23 01:05:55 -07:00
Keith Packard
9ca7ba5d60 Make sure RandR events are delivered from RRCrtcSet.
Some paths were skipping the event delivery stage.
2007-03-23 01:03:40 -07:00
Keith Packard
492c768065 Clean up xf86CrtcRec and xf86OutputRec objects at CloseScreen.
Erase pointers to structures which are freed at server reset time.
2007-03-23 00:59:11 -07:00
Keith Packard
16f4c0c175 Clear allocated RandR screen private structure.
Use xcalloc instead of xalloc when allocating this structure to ensure
consistent contents at startup.
2007-03-23 00:57:18 -07:00
Keith Packard
f8db7665dc Clean up Rotate state on server reset.
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-20 07:17:27 -07:00
Keith Packard
0f80340a52 Slow down DDC I2C bus using a RiseFallTime of 20us for old monitors.
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-17 20:14:05 -07:00
Keith Packard
52fccb9d9f Remove extra (and wrong) I2C ByteTimeout setting in DDC code.
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-17 17:29:23 -07:00
Keith Packard
f521308ad2 Correct ref counting of RRMode structures
RRModes are referenced by the resource db, RROutput and RRCrtc structures.
Ensure that the mode reference count is decremented each time a reference is
lost from one of these sources. The missing destroys were in
RRCrtcDestroyResource and RROutputDestroyResource, which only happen at
server reset time, so modes would be unavailable in subsequent server
generations.
2007-03-15 20:26:07 -07:00
Keith Packard
b14f003b0e Don't wedge when rotating more than one CRTC.
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-15 16:16:16 -07:00
Keith Packard
5b77bf2d02 Allow xf86_reload_cursors during server init.
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-15 10:50:45 -07:00
Keith Packard
4d81c99a46 Create driver-independent CRTC-based cursor layer.
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-14 23:59:29 -07:00
Keith Packard
0ebe537983 Update to version 1.2.99.902 2007-03-14 16:36:13 -07:00
Keith Packard
f8636dd4a2 Revert "Xext: Update device's lastx/lasty when sending a motion event with XTest."
This reverts commit 4c5837c940.
There is no lastx/lasty in a valuator on this branch.
2007-03-14 12:00:06 -07:00
Peter Hutterer
4c5837c940 Xext: Update device's lastx/lasty when sending a motion event with XTest.
(cherry picked from commit 68c64ad7b1)
2007-03-14 11:43:27 -07:00
Drew Parsons
d3c3d31782 Xprint: shorten font filename to fit in tar length limit
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 d5aba03fef)
2007-03-14 11:42:56 -07:00
Keith Packard
318faed5a8 Revert "Xprint includes a filename which is too long for tar."
This reverts commit 73904d953f.
The next patch will fix the filenames so that they work with tar.
2007-03-14 11:42:42 -07:00
Keith Packard
ae9d5aa479 Remove stale monitor data when output becomes disconnected.
Remove parsed EDID and EDID property from disconnected outputs.
2007-03-07 20:52:31 -08:00
Keith Packard
a59c31b0f7 Add hw/xfree86/docs/README.modes, documenting new mode setting APIs.
This document covers both API and xorg.conf usage of the new mode setting
APIs.
2007-03-06 23:19:30 -08:00
Keith Packard
558a4f5588 Add xf86CrtcScreenInit to share initialization across drivers.
xf86CrtcScreenInit performs initialization that needs to happen at
ScreenInit time.
2007-03-06 23:15:34 -08:00
Keith Packard
3f5cedf00a Allow relative positions to use output names or monitor identifiers.
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-05 23:49:35 -08:00
Keith Packard
843077f23a Use EDID data to set screen physical size at server startup.
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-05 23:36:00 -08:00
Keith Packard
bcade98cca Add xf86SetDesiredModes to apply desired modes to crtcs.
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-05 22:07:01 -08:00
Keith Packard
5a595c1f76 Move xf86SetSingleMode into X server from intel driver.
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-05 10:38:59 -08:00
Keith Packard
73904d953f Xprint includes a filename which is too long for tar. 2007-03-04 21:07:35 -08:00
Keith Packard
cb86fced0e Set version to 1.3-rc1 (1.2.99.901). 2007-03-04 19:48:40 -08:00
Alan Coopersmith
e707604ab3 Sun bug 6529003: Xorg should not be including <sys/immu.h> on Solaris
<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-04 19:19:18 -08:00
Dave Airlie
6b63fb399a add a standard connector type and name for us as an output property
(cherry picked from commit 8ba5e8d820)
2007-03-04 19:10:33 -08:00