|
From: Bryan S. <br...@bo...> - 2002-06-25 16:41:23
|
On Mon, Jun 24, 2002 at 05:24:11AM +0200, Benjamin Herrenschmidt wrote:
>>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).
>
>I wrote that part and it works just fine on my powerbook... at least
>with the radeonfb version that is in my tree, but I don't think it
>differs from the official one in this regard. You can try making sure
>it's properly setting 32 palette entries for green when using that
>mode.
I thought that piece of code looked weird because it's setting green
equal to rinfo->palette[regno<<1].green, but doesn't seem to ever use
green during the rest of the function...
BTW, don't you mean 64 palette entries for green (being that it's 6
bits)? Anyways, I took some time this weekend to look over the code
some more, and I really doubt my problems originates in that function.
As I understand it, the palette (colormap?) will only be used when
displaying colors in text mode.
My problem seems to affect many more colors (practically all 65536 of
them), but I've yet to track it down. I put in a request on ATI's
website to get access to the specs (hoping that'll help me), but I
haven't heard anything back from them yet.
Thanks,
Bryan
PS I'll try checking out your tree the next time I get a chance and see
if I still see the problem.
|