From: "Antonino A. Daplas" <adaplas@hotpop.com>
To: Joshua Kwan <joshk@triplehelix.org>
Cc: linux-kernel mailing list <linux-kernel@vger.kernel.org>,
linux-fbdev-devel@lists.sourceforge.net
Subject: Re: Problem with current fb_get_color_depth function
Date: Mon, 11 Oct 2004 08:33:10 +0800 [thread overview]
Message-ID: <200410110832.19978.adaplas@hotpop.com> (raw)
In-Reply-To: <20041010225903.GA2418@darjeeling.triplehelix.org>
On Monday 11 October 2004 06:59, Joshua Kwan wrote:
> because on advice from Andrew Suffield and Matthew Garrett the first
> conditional was a roundabout way to check for grayscale displays, where
> you can't actually have 24 bits (8 + 8 + 8) of gray. So it is suitable
> to just return one of the values arbitrarily. But I noticed there was
> also a grayscale variable, so I substituted that for the conditional
> and my logo reappeared again :)
>
> So is radeonfb or fb_get_color_depth at fault here? Or was the logo
> never appropriate for my display in the first place? (Unlikely, the
> CLUT224 linux logo always displayed perfectly for me until now.)
>
This is because radeonfb chooses directcolor for its visual. With RGB565,
the depth == 16, true. However, unlike truecolor where color values are
hardwired to linear values, directcolor looks at the hardware CLUT.
So, with directcolor RGB656, these are the CLUT lengths:
Red and Blue = 32 (2 ^ 5)
Green = 64 (2 ^ 6)
(And you can see this in radeonfb_base:radeonfb_setcolreg())
if (rinfo->bpp == 16) {
pindex = regno * 8;
if (rinfo->depth == 16 && regno > 63)
return 1;
if (rinfo->depth == 15 && regno > 31)
return 1;
However, linux_logo_224 requires a CLUT with these lengths:
Red = Green = Blue = 224;
So, linux_logo_224 cannot be drawn when visual is directcolor at RGB555 or
RGB565 because the logo clut requirements exceeds the hardware clut
capability. You need to use a logo image with a lower depth such as the
16-color logo, linux_logo_16.
In short, fb_get_color_depth() and radeonfb both do the correct thing, but
you need a logo with a lower color depth. Or choose RGB888 or higher, or
set the visual to truecolor.
Tony
PS: Note that this behavior is the same as 2.4 behavior (224-color logo is
only chosen if directcolor and bpp >= 24). It might have worked before, and
this is probably due to the directcolor clut being ramped to truecolor
values. However, the correct solution is to use a 16-color logo.
next prev parent reply other threads:[~2004-10-11 0:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-10 22:59 Problem with current fb_get_color_depth function Joshua Kwan
2004-10-11 0:33 ` Antonino A. Daplas [this message]
2004-11-02 5:55 ` Joshua Kwan
2004-11-02 12:04 ` [Linux-fbdev-devel] " Antonino A. Daplas
2004-11-02 12:04 ` Antonino A. Daplas
2004-11-02 12:19 ` Geert Uytterhoeven
2004-11-02 22:10 ` Antonino A. Daplas
2004-11-02 22:10 ` [Linux-fbdev-devel] " Antonino A. Daplas
2004-11-11 8:27 ` Joshua Kwan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200410110832.19978.adaplas@hotpop.com \
--to=adaplas@hotpop.com \
--cc=adaplas@pol.net \
--cc=joshk@triplehelix.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.