Subject: Re: XF86 wsfb driver and wscons ioctl
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: tech-x11
Date: 03/06/2005 12:28:59
Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> writes:
> Hmm, but maybe generic raspos handler requires only "bit per pixel,"
> doesn't it? "The actually significant number of bits" is provided
> by info of each color in other members, I think.
I agree, the total "significant bits" is redundant.
> > > - stride in bytes
> >
> > Also the offset to the visible area of the frame buffer, and the total
> > height of the framebuffer (non-visible portion included) would be nice to
> > have.
>
> Sure, but which set of values should we actually have for screen size?
> How about "new" struct wsdisplay_fbinfo like this?
> struct wsdisplay_fbinfo {
> u_int stride; /* horizontal stride in bytes */
> u_int voff; /* offset from the top of VRAM top to start of
> visible area in vertical lines (strides) */
I think voff should be in units of bytes rather than units of
strides (I'm thinking of TGA with stride = width + 4; the video area
probably doesn't start at a multiple of 1028. Besides, the major use
for this field is going to be adding it to a mmap'd pointer, so if it
were in strides, it would always be multiplied by the stride value
anyway.
Otherwise it looks good.
> > - a flag to indicate whether or not colormap changes are accepted? Not
> > entirely necessary, but nice to have.
>
> Can't we check it by a return value of WSDISPLAYIO_GETCMAP or
> WSDISPLAYIO_PUTCMAP?
Is WSDISPLAYIO_GETCMAP sufficent for determining the size of the
colormap (the need to size the red, green, and blue arrays before
calling GETCMAP is what I'm noticing here).
- Nathan