* color map vs. pseudo-palette vs. RAMDAC registers
@ 2005-10-24 7:48 Rolf Offermanns
2005-10-24 7:57 ` Geert Uytterhoeven
0 siblings, 1 reply; 4+ messages in thread
From: Rolf Offermanns @ 2005-10-24 7:48 UTC (permalink / raw)
To: linux-fbdev-devel
Hi All,
I tried to understand the skeletonfb driver code, and I am confused by some
comments in it:
I do not understand what the color map and pseudo palette stuff is used for.
From the c file:
--------------------------------------------------------------------
Pseudocolor:
* cmap is not used
* DAC[X] is programmed to (red, green, blue)
--------------------------------------------------------------------
Does that mean, I do not need to allocate a color map, if my driver would only
support pseudocolor visual? Is pseudocolor always used for 8bpp or are there
situations where 16bpp pseudocolor makes sense?
-----------------------------------------------------------------------------
Truecolor:
* does not use RAMDAC (usually has 3 of them).
* var->{color}.offset contains start of bitfield
* var->{color}.length contains length of bitfield
* cmap is programmed to (red << red.offset) |
(green << green.offset) |
(blue << blue.offset) |
(transp << transp.offset)
* RAMDAC does not exist
-----------------------------------------------------------------------------
Now I am lost:
-> does not use RAMDAC.
I understand this. It states the same in my chip reference. But what means
"usually has 3 of them" in this context?
-> cmap is programmed to...
In the code that follows this comment, not the cmap is programmed, but the
pseudo palette.
1. Why do I need a pseudo palette and where does its size 16 comes from?
2. What do I need a color map for?
-> RAMDAC does not exist <-> "usually has 3 of them"
???
Please shed some light on me.
Thanks,
Rolf
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: color map vs. pseudo-palette vs. RAMDAC registers
2005-10-24 7:48 color map vs. pseudo-palette vs. RAMDAC registers Rolf Offermanns
@ 2005-10-24 7:57 ` Geert Uytterhoeven
2005-10-24 11:01 ` Rolf Offermanns
0 siblings, 1 reply; 4+ messages in thread
From: Geert Uytterhoeven @ 2005-10-24 7:57 UTC (permalink / raw)
To: Linux Frame Buffer Device Development
On Mon, 24 Oct 2005, Rolf Offermanns wrote:
> I tried to understand the skeletonfb driver code, and I am confused by some
> comments in it:
>
> I do not understand what the color map and pseudo palette stuff is used for.
>
> >From the c file:
> --------------------------------------------------------------------
> Pseudocolor:
> * cmap is not used
That should be `pseudo palette is not used'.
> * DAC[X] is programmed to (red, green, blue)
> --------------------------------------------------------------------
> Does that mean, I do not need to allocate a color map, if my driver would only
It means you don't have to fill in the pseudo palette in this mode.
> support pseudocolor visual? Is pseudocolor always used for 8bpp or are there
> situations where 16bpp pseudocolor makes sense?
Pseudocolor is not always 8 bpp (1, 2, 4 are common values as well), but large
values are very uncommon, since 16 bpp pseudocolor would mean a 65536-entries
colormap.
> -----------------------------------------------------------------------------
> Truecolor:
> * does not use RAMDAC (usually has 3 of them).
> * var->{color}.offset contains start of bitfield
> * var->{color}.length contains length of bitfield
> * cmap is programmed to (red << red.offset) |
> (green << green.offset) |
> (blue << blue.offset) |
> (transp << transp.offset)
> * RAMDAC does not exist
> -----------------------------------------------------------------------------
> Now I am lost:
> -> does not use RAMDAC.
> I understand this. It states the same in my chip reference. But what means
> "usually has 3 of them" in this context?
Red, green, and blue.
> -> cmap is programmed to...
> In the code that follows this comment, not the cmap is programmed, but the
> pseudo palette.
That should be `pseudo palette' again.
> 1. Why do I need a pseudo palette and where does its size 16 comes from?
It's used to translate from the 16 text console colors to actual pixel values.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: color map vs. pseudo-palette vs. RAMDAC registers
2005-10-24 7:57 ` Geert Uytterhoeven
@ 2005-10-24 11:01 ` Rolf Offermanns
2005-10-24 11:19 ` Geert Uytterhoeven
0 siblings, 1 reply; 4+ messages in thread
From: Rolf Offermanns @ 2005-10-24 11:01 UTC (permalink / raw)
To: linux-fbdev-devel; +Cc: Geert Uytterhoeven
On Monday 24 October 2005 09:57, Geert Uytterhoeven wrote:
> > --------------------------------------------------------------------
> > Pseudocolor:
> > * cmap is not used
>
> That should be `pseudo palette is not used'.
>
> > * DAC[X] is programmed to (red, green, blue)
> > --------------------------------------------------------------------
> > Does that mean, I do not need to allocate a color map, if my driver would
> > only
>
> It means you don't have to fill in the pseudo palette in this mode.
OK.
> > support pseudocolor visual? Is pseudocolor always used for 8bpp or are
> > there situations where 16bpp pseudocolor makes sense?
>
> Pseudocolor is not always 8 bpp (1, 2, 4 are common values as well), but
> large values are very uncommon, since 16 bpp pseudocolor would mean a
> 65536-entries colormap.
OK.
> > -------------------------------------------------------------------------
> >---- Truecolor:
> > * does not use RAMDAC (usually has 3 of them).
> > * var->{color}.offset contains start of bitfield
> > * var->{color}.length contains length of bitfield
> > * cmap is programmed to (red << red.offset) |
> > (green << green.offset) |
> > (blue << blue.offset) |
> > (transp << transp.offset)
> > * RAMDAC does not exist
> > -------------------------------------------------------------------------
> >---- Now I am lost:
> > -> does not use RAMDAC.
> > I understand this. It states the same in my chip reference. But what
> > means "usually has 3 of them" in this context?
>
> Red, green, and blue.
OK. But this is for H/W with DirectColor support where each color has its own
CLUT, right?
> > -> cmap is programmed to...
> > In the code that follows this comment, not the cmap is programmed, but
> > the pseudo palette.
>
> That should be `pseudo palette' again.
OK.
>
> > 1. Why do I need a pseudo palette and where does its size 16 comes from?
>
> It's used to translate from the 16 text console colors to actual pixel
> values.
OK, and these 16 color can be set/defined by text mode apps, right?
Thanks for these explanations Gerd. Shall I provide a patch for the skeletonfb
driver comments?
The one thing, I still do not understand is:
What are color maps used for in the different visuals? In pseudo mode they are
not used at all. In TrueColor mode there should be no need to map anything?
I checked the documentation again, but there must be something I have
overread.
Could you please explain this?
Thanks,
Rolf
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: color map vs. pseudo-palette vs. RAMDAC registers
2005-10-24 11:01 ` Rolf Offermanns
@ 2005-10-24 11:19 ` Geert Uytterhoeven
0 siblings, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2005-10-24 11:19 UTC (permalink / raw)
To: Rolf Offermanns; +Cc: Linux Frame Buffer Device Development
On Mon, 24 Oct 2005, Rolf Offermanns wrote:
> On Monday 24 October 2005 09:57, Geert Uytterhoeven wrote:
> > > -------------------------------------------------------------------------
> > >---- Truecolor:
> > > * does not use RAMDAC (usually has 3 of them).
> > > * var->{color}.offset contains start of bitfield
> > > * var->{color}.length contains length of bitfield
> > > * cmap is programmed to (red << red.offset) |
> > > (green << green.offset) |
> > > (blue << blue.offset) |
> > > (transp << transp.offset)
> > > * RAMDAC does not exist
> > > -------------------------------------------------------------------------
> > >---- Now I am lost:
> > > -> does not use RAMDAC.
> > > I understand this. It states the same in my chip reference. But what
> > > means "usually has 3 of them" in this context?
> >
> > Red, green, and blue.
> OK. But this is for H/W with DirectColor support where each color has its own
> CLUT, right?
No, `RAM' part of the RAMDAC is used for both pseudocolor and directcolor.
> Thanks for these explanations Gerd. Shall I provide a patch for the skeletonfb
> driver comments?
Please do so, thx!
> The one thing, I still do not understand is:
> What are color maps used for in the different visuals? In pseudo mode they are
> not used at all. In TrueColor mode there should be no need to map anything?
> I checked the documentation again, but there must be something I have
> overread.
Colormaps are definitely used in pseudocolor mode, since they specify how to
map the index in the pixel value to the actual color.
In truecolor mode colormaps are indeed not used.
In directcolor mode colormaps specify how the red, green, and blue (and alpha)
indices in the pixel values are mapped to actual values for the color
components.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-10-24 11:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-24 7:48 color map vs. pseudo-palette vs. RAMDAC registers Rolf Offermanns
2005-10-24 7:57 ` Geert Uytterhoeven
2005-10-24 11:01 ` Rolf Offermanns
2005-10-24 11:19 ` Geert Uytterhoeven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.