[PATCH 05/18] fbdev: initialize yoffset of varinfo
Marc Chalain
marc.chalain at gmail.com
Fri Jun 21 02:43:42 PDT 2013
2013/6/21 David Herrmann <dh.herrmann at gmail.com>
> Hi
>
> On Fri, Jun 21, 2013 at 10:49 AM, mchalain [marc.chalain at gmail.com]
> <marc.chalain at gmail.com> wrote:
> > From: mchalain <marc.chalain at gmail.com>
> >
> > it initializes varinfo.yoffset. varinfo.yoffset has to
> > point on the beginning of the video memory.
> > The card uses this value to push on the screen a part of
> > the video memory when this one is larger than the screen.
> >
> > ---
> > weston/src/compositor-fbdev.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/weston/src/compositor-fbdev.c
> b/weston/src/compositor-fbdev.c
> > index adfb67a..d2aee9b 100644
> > --- a/weston/src/compositor-fbdev.c
> > +++ b/weston/src/compositor-fbdev.c
> > @@ -368,6 +368,11 @@ fbdev_query_screen_info(struct fbdev_output
> *output, int fd,
> > return -1;
> > }
> >
> > + if (varinfo.yoffset != 0) {
> > + varinfo.yoffset = 0;
> > + if (ioctl(fd, FBIOPAN_DISPLAY, &varinfo) < 0)
> > + return -1;
> > + }
>
> Why do you need this? It's unnecessary. We call FBIOPUT_VSCREENINFO
> after fbdev_query_screen_info(), anyway. Furthermore, not all drivers
> support panning even though the yoffset may be non-zero (you need
> FBIOPUT_VSCREENINFO then).
>
> I think you can just drop this here but keep the yoffset=0 below.
>
>
where do you use FBIOPUT_VSCREENINFO ? I only find inside
fbdev_set_screen_info but this function is called only when the output is
reenable not at the startup.
It seems strange that FBIOPAN_DISPLAY is not supported by some devices. I
used this one to not set all the varinfo on the device and to be faster.
If yoffset may be non-zero this backend shouldn't work this kind of devices
and we have to change the painting functions.
> return 1;
> > }
> >
> > @@ -404,6 +409,7 @@ fbdev_set_screen_info(struct fbdev_output *output,
> int fd,
> > varinfo.blue.length = 8;
> > varinfo.blue.msb_right = 0;
> >
> > + varinfo.yoffset = 0;
>
> Yep, this is definitely needed.
>
> Regards
> David
>
> > /* Set the device's screen information. */
> > if (ioctl(fd, FBIOPUT_VSCREENINFO, &varinfo) < 0) {
> > return -1;
> > --
> > 1.7.9.5
> >
> > _______________________________________________
> > wayland-devel mailing list
> > wayland-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130621/f37e55ff/attachment.html>
More information about the wayland-devel
mailing list