On 3/29/20 1:54 AM, Nico Huber wrote:
On 28.03.20 11:43, Michal Zygowski wrote:
I used the same picture laoding code and the same image. The only thing that changed was the graphics initialization: VGA ROM vs libgfxinit.
If you want to change the encoding (I never tried this) PLANE_CTL bit 20 seems to do the trick. For older generations, 0xe << 26 instead of 0x6 << 26 in PRI_CTL.
I have used SeaBIOS with the same bootsplash image. AFAIK it searches for a compatible (for given image resolution) VESA mode and displays the boot splash. The image was a JPG 1024x768 pixels (32bpp I guess).
Looks like SeaBIOS hard-codes the RGB encoding deep in the jpeg decoder. The macro PIC_32() in `src/jpeg.c`. Would be better to take the frame- buffer format into account there.
If the framebuffer holds information about the decoding, I think this will be better way of handling the issue. At this point it will be quite trivial. IIRC coreboot has the same problem with its jpeg decoder, noticed same color pattern BGR. Thanks again.
Michał
Nico _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org