Commit Graph

137 Commits

Author SHA1 Message Date
Adam Jackson
8bfd88ca61 Revert accidental edid changes from previous commit. 2008-09-19 12:13:43 -04:00
Adam Jackson
69b79c1a66 Update to SGI FreeB 2.0.
Under the terms of version 1.1, "once Covered Code has been published
under a particular version of the License, Recipient may, for the
duration of the License, continue to use it under the terms of that
version, or choose to use such Covered Code under the terms of any
subsequent version published by SGI."

FreeB 2.0 license refers to "dates of first publication".  They are here
taken to be 1991-2000, as noted in the original license text:

 ** Original Code. The Original Code is: OpenGL Sample Implementation,
 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
 ** Copyright in any portions created by third parties is as indicated
 ** elsewhere herein. All Rights Reserved.

Official FreeB 2.0 text:

http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf

As always, this code has not been tested for conformance with the OpenGL
specification.  OpenGL conformance testing is available from
http://khronos.org/ and is required for use of the OpenGL logo in
product advertising and promotion.
2008-09-19 12:02:28 -04:00
Adam Jackson
76ed409acd EDID: Publish the whole block on the root window if we've got it. 2008-08-25 10:44:45 -04:00
Xavier Bestel
bb2cacd33e Cosmetic fix to EDID decoding. 2008-07-29 13:06:10 -04:00
Adam Jackson
66d7c9de82 Declare xf86InterpretEEDID() properly. 2008-07-01 10:55:54 -04:00
Adam Jackson
4fc18b5fc3 Hexdump the whole EDID block if extensions present. 2008-06-30 16:04:54 -04:00
Adam Jackson
b4fbc31e10 Actually fetch all blocks of EEDID if asked to. 2008-06-30 16:04:54 -04:00
Peter Hutterer
64677f6a16 xfree86: fix offset error in EDID parsing. #15964
X.Org Bug 15964 <http://bugs.freedesktop.org/show_bug.cgi?id=15964>
2008-05-27 21:18:35 +09:30
Adam Jackson
933ffcdf7d Compile fix. 2008-03-28 17:53:55 -04:00
Adam Jackson
9e8451d869 Add E-EDID segment selection. 2008-03-28 17:43:10 -04:00
Adam Jackson
0b4aef4d6d Refactor DDC2 code to allow for proper segmented addressing. 2008-03-28 17:43:01 -04:00
Adam Jackson
88ece11d6c Start E-EDID support in the DDC module.
Since there's no way to safely know how many blocks xf86DoEDID_DDC2 would
return, add a new xf86DoEEDID entrypoint to do that, and implement the
one in terms of the other.
2008-03-28 17:39:23 -04:00
James Cloos
613852ce6a Fix some documentation typos 2008-03-03 16:11:05 -05:00
George Sapountzis
3d64290547 clean some "unused" warnings 2008-03-01 19:49:24 +02:00
Adam Jackson
b7eb92774a EDID 1.4: Print additional CVT support data in the log. 2008-02-29 16:01:15 -05:00
Adam Jackson
31014d88af EDID 1.4: Decode additional CVT support information.
Table 3.28: Display Range Limits & CVT Support Definition
2008-02-29 16:01:15 -05:00
Adam Jackson
d1c48955f8 Fix CVT abuse in DDCModesFromStandardTiming.
CVT is enough different from GTF that it should not be used on monitors
that aren't expecting it.  This brings us closer to what the spec says
the correct behaviour is.
2008-02-29 16:01:15 -05:00
Adam Jackson
bae459cfc4 Don't carp on EDID 1.4 blocks anymore.
Also whine more loudly when we get something other than 1.x.
2007-12-28 16:53:17 -05:00
Adam Jackson
70b2d6cfeb Check the gamma value, not its address. 2007-12-28 16:53:17 -05:00
Adam Jackson
592d814ee0 EDID 1.4: Additional semantics for display feature bits.
First mode is _always_ preferred in 1.4; the bit that used to mean this
now means that the preferred mode is also the native pixel format.  The
old "is GTF" bit now means "is continuous-frequency" instead.

Section 3.6.4, Table 3.14: Feature Support, Notes 4 and 5.
2007-12-28 16:53:17 -05:00
Adam Jackson
322d0103ae EDID 1.4: Alternate color encodings for digital inputs.
Section 3.6.4, Table 3.14: Feature support.
2007-12-28 16:53:17 -05:00
Adam Jackson
f1f43caf7e EDID 1.4: Allow for gamma definition in extension blocks.
Section 3.6.3, Table 3.13: Display Transfer Characteristics (Gamma)
2007-12-28 16:53:16 -05:00
Adam Jackson
861ee38817 EDID 1.4: Additional aspect ratio semantics for screen size fields.
Section 3.6.2, Table 3.12: Horizontal and Vertical Screen Size or
Aspect Ratio.
2007-12-28 16:53:16 -05:00
Adam Jackson
14b5c8a447 EDID 1.4: Extended support for digital interfaces.
Section 3.6.1, Table 3.11: Video Input Definition.
2007-12-28 16:53:16 -05:00
Adam Jackson
a948216dcc EDID 1.4: Decode CVT 3-byte codes and add them to the mode pool.
Section 3.10.3.8: CVT 3 Byte Code Descriptor Definition.
2007-12-28 16:53:16 -05:00
Adam Jackson
f6df66cc89 EDID 1.4: Trivial support for new detailed sections.
Nothing actually decoded yet, but at least we print what they are.

New in EDID 1.4:
- Color Management Data (0xF9), Section 3.10.3.7
- CVT 3 Byte Code Descriptor (0xF8), Section 3.10.3.8
- Established Timings III Descriptor (0xF7), section 3.10.3.9
- Manufacturer-specified data tag (0x00 - 0x0F), section 3.10.3.12
2007-12-28 16:53:16 -05:00
Adam Jackson
bac3ecde39 EDID 1.4: Allow for sync range offsets.
Table 3.26: Display Range Limits & Timing Descriptor Block Definition
2007-12-28 16:53:16 -05:00
Adam Jackson
1faba797cb Death to libcwrapper.
This has been deprecated since 1.1.  Since we're breaking ABI again anyway,
remove it entirely.
2007-12-03 14:12:58 -05:00
Eric Anholt
988f446fe0 [EDID] Ignore reserved bits in deciding monitor vs detailed timing descriptor.
Even though they're defined to zero by the spec, we've seen an EDID block
where the (empty) ASCII strings were stuffed in a byte early, leading to the
descriptor being considered a detailed timing instead.
2007-09-24 20:26:31 -07:00
Keith Packard
ac979c1651 MakeAtom needs length without trailing NUL. sizeof("string") includes NUL.
I made a mistake in some new code using MakeAtom, passing the size of the
string instead of the length of the string. Figuring there might be other
such mistakes, I reviewed the server code and found four bugs of the same
form.
2007-07-14 12:13:17 -07:00
Adam Jackson
0e1384d831 Delete VDIF support; it was never used anyway. 2007-06-02 16:07:20 -04:00
Adam Jackson
6c8152d6ee Remove old edid_modes.c, it lives in hw/xfree86/modes/ now. 2007-04-26 14:59:04 -04:00
Adam Jackson
5ba4d9eedf Refuse to create tiny modes from EDID detailed timing. 2007-03-28 12:03:19 -04:00
Adam Jackson
2e3cc861f9 Since ddc, i2c, and ramdac are in core now, remove their ModuleData stubs. 2007-03-25 22:01:34 -04:00
Keith Packard
720f302d24 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 23:38:53 -07:00
Keith Packard
b5a8a71e64 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 23:38:43 -07:00
Keith Packard
f350909d16 Kludge around duplicate code added in hw/xfree86/modes.
Code added in hw/xfree86/modes came from the server-1.3-branch.
Portions of this code had previously been integrated into xf86Mode.c
and edid_modes.c.

To preserve hw/xfree86/modes as much as possible, the duplicate code from
the other files has been disabled; a more careful review would figure out
where that code actually belonged.
2007-02-15 21:50:48 -08:00
Keith Packard
d4eb4d0650 Merge crtc/output-based mode selection code.
This code comes from the intel driver, so there's no history in this tree.

As the crtc/output-based mode selection code uses ddc, the ddc and i2c
modules have been merged into the server. Attempts to load them are safely
ignored now.
2007-02-15 20:36:20 -08:00
Adam Jackson
fb8364bca3 Accept EDID > 1.3 but < 2.0 if we find it, assume it's compatible. 2006-12-10 11:24:05 -05:00
Eric Anholt
f62ac3ec39 Separate DDC mode list creation from MonPtr creation.
This will be used by the intel driver, and likely other RandR 1.2 drivers.
2006-11-28 11:13:43 -08:00
Eric Anholt
fbd0944338 Replace bad mode name-setting code with xf86SetModeDefaultName(). 2006-11-28 11:13:43 -08:00
Eric Anholt
4ad0bde661 Clean up a bunch of long lines and trailing whitespace. 2006-11-28 11:13:43 -08:00
Eric Anholt
05778432dc Move code to get a mode list from EDID data from ddcProperty.c to edid_modes.c. 2006-11-28 11:13:42 -08:00
Eric Anholt
38ecc66cd9 Typo that was missed in testing. 2006-11-28 11:13:42 -08:00
Eric Anholt
16f8f10dc2 Move mode handling helpers from ddcProperty.c to xf86Mode.c. 2006-11-27 16:21:31 -08:00
Eric Anholt
b4b0d901d9 Merge branch 'randr-1.2'
Conflicts:

	dix/events.c
	dix/getevents.c
	hw/xfree86/common/xf86Mode.c
	hw/xfree86/dri/Makefile.am
	hw/xfree86/os-support/drm/xf86drm.c
	hw/xfree86/os-support/xf86drm.h
2006-11-27 15:43:15 -08:00
Keith Packard
2be1ac15ae Remove smashing of CFLAGS from server build.
CFLAGS is a user variable, extracted from the environment at configure time
and settable by the user at build time. We must not override this variable.
2006-09-18 12:11:18 -07:00
Adam Jackson
81ef1b6d60 Mark EDID modes as driver modes. Infer virtual size from driver modes.
This allows the server to guess an appropriate initial virtual size and
resolution.  The heuristic is to select the largest driver-reported mode
that matches the monitor's physical aspect ratio.  We revalidate this
estimate after mode validation, since we may have filtered away all
modes that would fill that size.

Also, the EDID preferred timing is now marked as M_T_PREFERRED as well.
2006-09-14 19:18:58 -04:00
Adam Jackson
71a15a7d57 Publish the raw EDID block as a property on the root window.
This was removed in the patch for bug #5386, but is still useful.
2006-09-14 19:00:10 -04:00
Adam Jackson
72af975f9c Fix up EDID blocks where the max pixclock exceeds the preferred mode clock.
Base EDID only lets you specify the maximum dotclock in tens of MHz, which
is too fuzzy for some monitors.  1600x1200@60 is just over 160MHz, but if
the monitor really can't handle any mode at 170MHz, then 160 is more
correct.  Fix up the EDID block before the driver can see it in this case,
so we don't spuriously reject modes.
2006-09-14 18:56:34 -04:00
Adam Jackson
334f7db9f6 Allow hsync and vsync ranges to be overridden independently again. 2006-09-14 18:46:10 -04:00
Adam Jackson
ced46e1777 Record all standard timings from EDID as modes, instead of just the first five. 2006-09-14 18:41:59 -04:00
Adam Jackson
d89fee68d0 Record the maximum dot clock of the monitor, and filter by it. 2006-09-14 18:41:15 -04:00
Adam Jackson
fa8ef71668 Don't translate monitor gamma to X gamma.
The X gamma is used to set the output ramp of the card.  Setting a 2.2 output
gamma going into a 2.2 monitor gives an effective gamma of 4.84, which is
very much not what you want.
2006-09-14 18:33:00 -04:00
Luc Verhaegen
511c60bc73 Bug #5386: Synthesize modelines from EDID data. 2006-09-14 18:30:36 -04:00
Adam Jackson
63dfaa1d5b Delete internal usage of the symbol ref/req lists. 2006-07-21 18:47:18 -04:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone
84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Eric Anholt
76aaf7eae7 Add a couple of (doxygen) comments I wrote while looking at modesetting. 2006-06-18 19:47:51 -07:00
Adam Jackson
52fc7c8dc7 Ensure all *ModuleData symbols are marked _X_EXPORT. Start removing
XFree86LOADER ifdefs, non-loadable hasn't been supported for a while
    now. Remove completely gratuitious REMOVE_LOADER_CHECK_MODULE_INFO
    ifdefs surrounding a call to a function added in XFree86 4.1 (!).
    Miscellaneous static markings.
2006-06-05 03:00:24 +00:00
Adam Jackson
fb6f61b50f Bug #4806: Dump the raw EDID contents in hex to the log file for better
debugging. (Philip Prindeville)
2006-04-04 12:36:16 +00:00
Eric Anholt
c3d1403672 Remove libcwrapper usage from xorg server modules. The libcwrapper is only
of (marginal) use in the drivers, and that usage remains.
2006-02-10 22:00:30 +00:00
Luc Verhaegen
f4898b4093 Further bug #5386 fixes: Fix some problems with the EDID code: Some
bitoffsets were wrong. Unknown Detailed Sections weren't handled
    properly and defaulted to Detailed Timing.
2006-01-31 14:49:43 +00:00
Kevin E Martin
7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Kevin E Martin
da5d66f2ff Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Adam Jackson
de95d8ee19 Bug #4859: Don't segfault on bad DDC read. (Tony Houghton) 2005-11-18 18:02:24 +00:00
Alan Coopersmith
13e0db19d8 Adding more doc files & fbdevhw man page 2005-10-01 06:19:02 +00:00
Daniel Stone
825a95a1fa Remove use of dix-config and xorg-config.h from public headers. 2005-08-24 11:18:35 +00:00
Adam Jackson
4f9e76ed6a Dear libtool: Loadable modules do not need version numbers. kthnxbye. 2005-07-13 22:09:52 +00:00
Daniel Stone
0bb669638f Change <X11/misc.h> and <X11/os.h> to "misc.h" and "os.h". 2005-07-03 08:53:54 +00:00
Daniel Stone
e03198972c Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
    source files in the xserver/xorg tree, predicated on defines of
    HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
    <X11/fonts/foo.h>.
2005-07-03 07:02:09 +00:00
Daniel Stone
826a6f029f Continuing Makefile cleanup; add DIX_CFLAGS and XORG_CFLAGS everywhere. 2005-07-02 18:59:44 +00:00
Daniel Stone
9b1debcdb6 Change all misc.h and os.h references to <X11/foo.h>. 2005-07-01 22:43:43 +00:00
Daniel Stone
ded56b1a74 Adding initial build system. 2005-07-01 20:29:53 +00:00
Daniel Stone
292c4cff26 Fix includes right throughout the Xserver tree:
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
    <X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
2005-04-20 12:25:48 +00:00
Egbert Eich
b6301dc410 Minor format fix.
Added explanatory comment and debug code.
Added comment.
2005-01-11 14:59:02 +00:00
Egbert Eich
522c878fca Removing unneeded private FreeType2 symbol.
Updating to EDID 1.3. (Bugzilla# 1490, Jay Cotton, Egbert Eich).
Removing unneeded code.
Fixed KGA handling for i810. KGA handling for chips derived from C&T chips
    is slightly different. The changes make the code consistent with the
    C&T (chips) and i740 drivers.
2004-11-02 08:54:53 +00:00
Egbert Eich
7c08707869 - Make DDC code more VESA compliant: when MaxClock is set to 0xFF it means
'no value specified'. Therefore setting it to 0.
2004-08-27 12:32:14 +00:00
Matthieu Herrb
defcfe3c7e programs/Xserver/hw/xfree86/ddc/xf86DDC.h
programs/Xserver/hw/xfree86/vgahw/vgaHW.c
programs/Xserver/hw/xfree86/vgahw/vgaHW.h
programs/Xserver/miext/shadow/shadow.h
programs/Xserver/miext/shadow/shpacked.c
programs/Xserver/miext/shadow/shplanar.c
programs/Xserver/miext/shadow/shrotate.c Fix glitches in pointer to
    functions declarations.
2004-08-03 09:33:54 +00:00
Adam Jackson
706b2a7e02 Change several LoaderSymbol calls introduced by the bug #400 patch to
*Weak() resolver functions.
2004-07-31 01:21:19 +00:00
Egbert Eich
2fb5886200 Merging XORG-CURRENT into trunk 2004-04-23 19:54:30 +00:00
Egbert Eich
dae90c3af9 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:34:49 +00:00
Egbert Eich
867451f1ab Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:50 +00:00
Egbert Eich
df0313d35b readding XFree86's cvs IDs 2004-02-26 13:36:15 +00:00
Egbert Eich
147aae87fd Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:53 +00:00
Kaleb Keithley
adc7f9a4eb XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:29:01 +00:00
Kaleb Keithley
9508a382f8 Initial revision 2003-11-14 16:48:57 +00:00