Hello, ... and I forgot to attach the patch. Let's try this again. I'd like to add an ioctl() to wsdisplay which replaces WSDISPLAYIO_GTYPE, WSDISPLAYIO_GINFO and WSDISPLAYIO_LINEBYTES by returning a struct that gives a more complete and useful description of the mappable framebuffer. See attached patch for a preliminary proposal. Pixel size and encoding are combined into a single value which can be either split up or used in switch() statements - the latter is probably going to be much more common. This would take care of the following problems: - the present ioctl()s don't tell us enough to actually draw into a framebuffer - for example there is nothing about actual colour encoding - because of this the xf86-video-wsfb driver ( and any other userland tool that tries to draw into a framebuffer without actual hardware knowledge ) can't really be all that generic - currently it has a pile of code that tries to guess the pixel encoding from whatever WSDISPLAYIO_GTYPE returns which doesn't help at all with new, previously unsupported hardware. The fbi_flags member is unused for now, it could encode things like acceleration support ( using a yet to be defined interface ), hardware cursor, overlays etc. Anything I missed? Comments? have fun Michael
Attachment:
wsconsio.h.patch
Description: Binary data