On Thu, Jan 8, 2015 at 2:42 PM, Keith Packard <[email protected]> wrote:
> "Jasper St. Pierre" <[email protected]> writes: > > > The kernel might want this information during modesetting. > > --- > > hw/xfree86/drivers/modesetting/drmmode_display.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c > b/hw/xfree86/drivers/modesetting/drmmode_display.c > > index 824500b..27b7fd8 100644 > > --- a/hw/xfree86/drivers/modesetting/drmmode_display.c > > +++ b/hw/xfree86/drivers/modesetting/drmmode_display.c > > @@ -145,6 +145,7 @@ drmmode_ConvertFromKMode(ScrnInfoPtr scrn, > > mode->VSyncEnd = kmode->vsync_end; > > mode->VTotal = kmode->vtotal; > > mode->VScan = kmode->vscan; > > + mode->VRefresh = kmode->vrefresh; > > You probably want to compute this using xf86ModeVRefresh instead of just > using the kernel value as the kernel holds an int while the X server > makes this a float. > > > > > mode->Flags = kmode->flags; //& FLAG_BITS; > > mode->name = strdup(kmode->name); > > @@ -174,6 +175,7 @@ drmmode_ConvertToKMode(ScrnInfoPtr scrn, > > kmode->vsync_end = mode->VSyncEnd; > > kmode->vtotal = mode->VTotal; > > kmode->vscan = mode->VScan; > > + kmode->vrefresh = xf86ModeVRefresh(mode); > > Why compute this instead of just pulling from mode->VRefresh? > And, you'll need to explicitly round this to the nearest int instead of > truncating. > Because several functions do not properly fill in mode->VRefresh. A simple example is xf86RandRModeConvert. I figured it would be easier when we fill in vrefresh rather than fill all callers. > -- > -keith > -- Jasper
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
