Kernel/aarch64: Change RPi::Framebuffer::PixelOrder to BGR

This is what the WindowServer expects. Confusingly the pixel format for
MULTIBOOT_FRAMEBUFFER_TYPE_RGB is actually BGRx8888.
This commit is contained in:
Timon Kruiper 2023-04-11 19:57:20 +02:00 committed by Linus Groh
parent baa5cb9e30
commit 4927eb5396
Notes: sideshowbarker 2024-07-17 23:07:41 +09:00

View file

@ -48,7 +48,7 @@ Framebuffer::Framebuffer()
// message_queue.set_virtual_offset.y = 0;
message_queue.set_depth.depth_bits = 32;
message_queue.set_pixel_order.pixel_order = FramebufferSetPixelOrderMboxMessage::PixelOrder::RGB;
message_queue.set_pixel_order.pixel_order = FramebufferSetPixelOrderMboxMessage::PixelOrder::BGR;
message_queue.allocate_buffer.alignment = 4096;
if (!Mailbox::the().send_queue(&message_queue, sizeof(message_queue))) {
@ -127,7 +127,8 @@ void Framebuffer::initialize()
multiboot_framebuffer_height = framebuffer.height();
multiboot_framebuffer_pitch = framebuffer.pitch();
VERIFY(framebuffer.pixel_order() == PixelOrder::RGB);
// NOTE: The required pixel format for MULTIBOOT_FRAMEBUFFER_TYPE_RGB is actually BGRx8888.
VERIFY(framebuffer.pixel_order() == PixelOrder::BGR);
multiboot_framebuffer_type = MULTIBOOT_FRAMEBUFFER_TYPE_RGB;
}
}