|
From: Bryan S. <br...@bo...> - 2002-06-21 03:30:07
|
I'm using version 0.1.5 of the radeonfb driver that Ani Joshi posted on
this list earlier this month with kernel 2.4.19pre10, and I've run into
a problem with the colors not being right in 16bit color mode. In 15bit
color mode, everything seems to look good...
Since running `fbset 800x600-75 -depth 16` seems to want to switch to
15bit color and not 16bit color, I had to use `fbset 800x600-75 -depth
16 -rgba 5,6,5,0` to get into 16bit color mode. However, once I'm in
16bit color and try to view some jpegs using fbi, the colors are messed
up.
Based of of how the colors in the images are changing, I'm guessing
that the video card is only using the lower 5 bits of green instead of
all 6 bits (chopping off the most significant bit.) This causes colors
that were only 50% green before to become 100% green (and 25% green
before to become 50%.)
Any ideas would be helpful. I tried looking at the code myself, but I'm
still quite new to the framebuffer code. However, this part looked kind
of strange to me:
/* For 565, the green component is mixed one order below */
if (rinfo->depth == 16) {
OUTREG(PALETTE_INDEX, pindex>>1);
OUTREG(PALETTE_DATA, (rinfo->palette[regno>>1].red << 16) |
(green << 8) | (rinfo->palette[regno>>1].blue));
green = rinfo->palette[regno<<1].green;
}
BTW, I have a Radeon 8500 (QL).
Thanks,
Bryan
|