summaryrefslogtreecommitdiff
path: root/hw/xfree86/common/xf86Mode.c
AgeCommit message (Collapse)AuthorFilesLines
2010-01-05modes: Remove the ClockRanges typeAdam Jackson1-9/+5
ba2d39dd5428cb5922b797a1d4ea45b859412b40 introduced warnings: xf86Mode.c: In function ‘xf86CheckModeForDriver’: xf86Mode.c:986: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’ xf86Mode.c:1002: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’ Because I foolishly didn't notice that we had types with nearly identical members named ClockRange and ClockRanges. The latter contained an extra 'strategy' member at the end, which claimed to be needed by the vidmode extension. Of course, this was a lie: the only time we'd use it was in mode validation, for drivers using LOOKUP_CLKDIV2 with non-programmable clocks. The only driver using LOOKUP_CLKDIV2 is rendition, which has a programmable clock. The only driver using the ClockRanges type was smi, which did not use it for its 'strategy' member, so has been fixed to use ClockRange instead. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-29modes: De-duplicate a clock range check.Adam Jackson1-17/+12
Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-07-17xfree86: Remove some #if 0Adam Jackson1-73/+0
This code all lives in xf86Modes.c now anyway
2009-07-17xfree86: Remove TargetRefresh optionAdam Jackson1-29/+0
This was a vestige from the days before we'd make the mode list from the EDID data, and from CRT technology when you could reasonably assume that higher refresh rates were better. Also it did not function as advertised, acting as a high-pass filter instead of a band-pass.
2009-05-16xfree86: Remove superfluous ifdef DEBUG checks.Peter Hutterer1-12/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-14/+14
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-07-21EDID: Various reduced blanking fixes.Adam Jackson1-10/+4
- Use a single common function to compute reducedness. - Call it from both the old-school and new-school mode validation paths. - Define monitor reduced-blanking support in accord with EDID 1.4. - Attempt to filter RB DMT modes away from the "standard" EDID pool if the monitor doesn't claim RB support.
2008-02-29Remove some #if 0 guarding code duplicated in xf86Modes.cAdam Jackson1-140/+0
2007-12-28EDID 1.4: If given a native pixel format, use it when inferring virtual.Adam Jackson1-7/+28
2007-12-13Add infrastructure for validating modes by memory bandwidth.Adam Jackson1-0/+2
2007-12-13Clean up some #if 0.Adam Jackson1-46/+0
2007-07-10Add per-monitor config file option for maximum pixel clock.Adam Jackson1-0/+6
2007-06-27Janitor work. Remove 'defined but not used' warnings from xorg and other ↵Tiago Vignatti1-2/+1
cosmetic.
2007-06-01Need to use minPitch in miScanLineWidth() to get the shrinkedHenry Zhao1-1/+1
linePitch.
2007-02-15Kludge around duplicate code added in hw/xfree86/modes.Keith Packard1-0/+10
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-01-29Restore a few important lines killed in the previous commit.Eric Anholt1-0/+5
Typical results were failure to sync, and a black screen.
2007-01-29Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc().Eric Anholt1-39/+0
Our modes typically come from EDID or default modes, and when the monitor asks for a specific mode, deciding to tweak it usually results in incorrect display. And if the user is specifying a mode by hand, tweaking it then is still pretty rude. Reviewed by: ajax
2006-11-27Move mode handling helpers from ddcProperty.c to xf86Mode.c.Eric Anholt1-0/+24
2006-11-27Merge branch 'randr-1.2'Eric Anholt1-18/+111
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-27Add some mode helper functions from the intel driver.Eric Anholt1-18/+111
This also removes static from some other functions that had been copied out to at least the intel driver, but perhaps others that were doing mode list handling.
2006-09-14Always believe the monitor when it reports a reduced-blanking mode.Adam Jackson1-1/+1
CVT reduced blanking modes are typically only seen on digital connections to LCDs, but there are some monitors that report them as supported over the VGA connector too, which is perfectly legitimate, electrically speaking.
2006-09-14Prefer driver-provided modes when matching name strings to modelines.Adam Jackson1-123/+133
Well, kinda. Strictly we prefer M_T_BUILTIN strongest since those are modes where the driver has said it absolutely can't do anything else (VBE). Then we look for user-defined modes, ie, modelines from the config file. Then we consider modes reported by the monitor via EDID. Finally if nothing has matched yet we consider the default mode pool. Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit take priority over other modes in the same class. This logic ensures that the timings sent to the monitor exactly match the timings it reported as supported, which occasionally don't match the numbers you might get for that mode from CVT or GTF.
2006-09-14Mark EDID modes as driver modes. Infer virtual size from driver modes.Adam Jackson1-1/+90
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-14Expand the default sync ranges to be large enough for 800x600@60.Adam Jackson1-4/+4
2006-09-14Record the maximum dot clock of the monitor, and filter by it.Adam Jackson1-0/+3
2006-09-14Bug #5386: Synthesize modelines from EDID data.Luc Verhaegen1-187/+0
2006-08-17Un-cut-and-paste the mode rejection message.Adam Jackson1-56/+22
2006-08-10Fix a mode sanity check to not break reduced-blanking setups (LCDs).Adam Jackson1-1/+2
2006-07-21Remove RCS tags. Fix Xprint makefile braindamage.Adam Jackson1-2/+0
2006-03-25Mark everything in xf86sym.c as _X_EXPORT.Adam Jackson1-13/+13
2006-03-07Fix cvt -r check again. CH7011 TV encoder had 800x600 PAL hit the check.Luc Verhaegen1-13/+18
2006-01-31Accept modes with less than 25% horizontal blanking again (you can push oldLuc Verhaegen1-9/+13
gtf timing to below 25%), only stop cvt reduced blanking. Users should be free to blow up their monitors if they so choose.
2005-12-28Bug #5153: standalone CVT modeline generator.Luc Verhaegen1-1/+14
- add hw/xfree86/utils/cvt/, cvt.c, cvt.man.pre and Makefile.am. - Adjust configure.ac and hw/xfree86/utils/Makefile.am for cvt. - Add MonPtr->reducedblanking and Option "ReducedBlanking" to the Monitor section. - Check for reduced blanking in xf86CheckModeForMonitor and disallow modes with less than 25% blanking otherwise. - Fix some warnings in hw/xfree86/common/xf86Config.c.
2005-07-03Change <X11/misc.h> and <X11/os.h> to "misc.h" and "os.h".Daniel Stone1-1/+1
2005-07-03Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.Daniel Stone1-0/+4
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-01Change all misc.h and os.h references to <X11/foo.h>.Daniel Stone1-2/+2
2005-05-18Avoid segfaults if the number of user supplied monitor ranges exceed theEgbert Eich1-96/+100
number of preallocated slots. We should really make this dynamic - but I don't think this ever caused a problem so it's more or less academic. A. Avoid that *SyncStart starts before *BlankStart. If *BlankStart > *SyncStart it is made = *SyncStart and its width is made maximal but such that the blank does not exceed *Total. Since the Sync width has the same restrictions as the Blank width monitors should still be able to clamp after the sync pulse. B. Over time mode validation has become inconsistent when people started to add additional features to the mode validation. One such feature is that the mode->Crtc* values have been (ab)used to allow the driver ValidMode() function to pass driver normalized timing values back to the validation function. The introduction of these features made the code less readable and created numerous possibly unintended side effects in the validation semantics. I've attempted to consolidate these changes making the code more consistent and eliminating a number of side effects. This should not cause problems for the majority of drivers, still it should receive testing - especially with ATi Mach64 and Radeon code. (Bugzilla #3325).
2005-04-20Fix includes right throughout the Xserver tree:Daniel Stone1-2/+2
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.
2004-04-23Merging XORG-CURRENT into trunkEgbert Eich1-0/+1
2003-11-25XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folksKaleb Keithley1-90/+267
2003-11-14Initial revisionKaleb Keithley1-0/+1999