From: James S. <jsi...@su...> - 2001-01-17 20:11:31
|
> On 1/17/01 2:33 AM, Geert Uytterhoeven wrote: > > > On Tue, 16 Jan 2001, Takashi Oe wrote: > >> Could there be a multiple color version as well? For 2.4, I have my own > >> fb_set_cmap to do that since a cmap access requires a synchronization with > >> vsync for the first one on my machine, and I don't want to do the > >> synchronization for every cmap change. > >> > [...] > > Can't you buffer the xxxfb_setcolreg() calls and execute them in the vsync > > interrupt handler? Busy waiting until vsync is a bad idea. > > Yes, the vsync irq handler is the way it's done currently for one fb. > Howerver, there is another regrettably more popular fb with the same > requirement without the vsync irq routed to cpu; that is, the busy waiting > seems to be the only way.... Okay. This answered my previous question. It pretty much comes down to choosing between xxxfb_setcolreg or xxxfb_set_cmap. Their are pros and cons to having each: xxxfb_setcolreg PRO: can change a individual register without having to monkey with the entire CLUT. CONS: Hardware designs. Some hardware require vsync when changing the color palette. xxxfb_set_cmap PRO: More flexiable with bizarre hardware. Also works nice with hardware that has more than one CLUT. In this case we can cache a bunch of color maps and switch the index around. CONS: Can't change a subset of teh CLUT table easily. |