Help fixing csync output with video-ati
Florian Mickler
florian at mickler.org
Sat Mar 20 07:53:23 PDT 2010
Hi,
> > xf86RandRModeConvert(pScrn, randr_mode, &mode);
> > xf86SetModeCrtc(mode, scrn->adjustFlags); (DisplayModePtr mode, int
> > adjustFlags)
> > mode->Crtc<X> = mode-><X>; (not Flags)
> > xf86RandR12CrtcNotify()
> > RRCrtcNotify(randr_crtc, randr_mode, x, y, ...)
> > crtc->mode = mode;
> > RRCrtcChanged(crtc, TRUE)
> >
> > "??" meaning more guesswork than usual was required. :)
> >
well, as far as I understand, the drivers register some mode change
functions, and the serverside randr part calls these driver hooks (or
are these xrandr hooks? ;) )
a quick grep in the ati-driver source (xf86-video-ati) looks promising:
grep -r randr *
configure.ac:XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
man/radeon.man:The output name is the randr output name, e.g., "VGA-0" or "DVI-0";
man/radeon.man:Specify the randr outputs to use with zaphod mode. If you do not specify
man/radeon.man:will assign xrandr output LVDS to the first instance of the driver and
src/radeon_probe.h:#include "randrstr.h"
Binary file src/.drmmode_display.c.swp matches
src/drmmode_display.c: /* bonghits in the randr 1.2 - uses dpms to disable crtc - bad buzz */
src/drmmode_display.c: err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
src/drmmode_display.c: err = RRChangeOutputProperty(output->randr_output, p->atoms[0],
src/drmmode_display.c: err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
src/drmmode_display.c: err = RRChangeOutputProperty(output->randr_output, p->atoms[0],
src/drmmode_display.c: if (crtc->randr_crtc)
src/drmmode_display.c: RRCrtcGammaSet(crtc->randr_crtc, lut_r, lut_g, lut_b);
src/radeon_modes.c:#include "randrstr.h"
src/radeon_modes.c:#include <randrstr.h>
src/radeon_driver.c: "Please use the xrandr 1.2 if you "
src/radeon_driver.c: " xrandr 1.2 support\n");
src/radeon_driver.c: if (crtc->randr_crtc)
src/radeon_driver.c: RRCrtcGammaSet(crtc->randr_crtc, lut_r, lut_g, lut_b);
src/radeon_driver.c: * it changes with randr, rotation, etc.
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, backlight_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, backlight_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, load_detection_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, load_detection_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, coherent_mode_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, coherent_mode_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, tmds_pll_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, tmds_pll_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, rmx_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, rmx_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, monitor_type_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, monitor_type_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, tv_hsize_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, tv_hsize_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, tv_hpos_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, tv_hpos_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, tv_vpos_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, tv_vpos_atom,
src/radeon_output.c: err = RRConfigureOutputProperty(output->randr_output, tv_std_atom,
src/radeon_output.c: err = RRChangeOutputProperty(output->randr_output, tv_std_atom,
src/radeon_output.c: * initialise the static data sos we don't have to re-do at randr change */
cheers,
Flo
More information about the xorg-devel
mailing list