Re: [Linux-fbdev-devel] Re: [PATCH] fbdev: colormap fixes

Jon Smirl
2005-07-28T21:50:40Z

On 7/28/05, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Thu, 28 Jul 2005, Jon Smirl wrote:
> > I've verified now that all ATI R300+ chips have 10bit cmaps. These are
> > pretty common so I'd be in favor of making this into a binary
> > attribute where I can get/set the whole table at once. Given that
> > OpenGL is already supporting 12 and 16 bits these tables are only
> > going to get much larger.
> >
> > 1024 entries * 5 fields * 2 bytes = 10KB -- too big for a text attribute.
> >
> > 65536 entries * 5 fields * 2 bytes = 655KB -- way too big for a text attribute.
> >
> > The bits_per_pixel sysfs attribute is an easy way to tell how many
> > entries you need. You can just set it at 4, 8, 10, etc until you get
> > an error. Now you know the max. 2^n and you know how many entries.
>
> No, bits_per_pixel can be (much) larger than the color map size. E.g. a simple
> ARGB8888 directcolor mode has bits_per_pixel = 32 and color map size = 256.

So I have the bits_per_pixel attribute wrong in sysfs. It needs to be
bits_per_color and then let the driver sort it out. Otherwise there
is no way to set ARGB8888 versus ARGB2101010. With bits per color you
would set 8 or 10.

If that isn't good enough I can switch the attribute to take strings
like ARGB8888.

What do you think, should I just switch to fbconfig names and a binary
cmap attribute?

--
Jon Smirl
jonsmirl@gmail.com