1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 11:57:35 +00:00

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

View file

@ -48,7 +48,7 @@ Framebuffer::Framebuffer()
// message_queue.set_virtual_offset.y = 0; // message_queue.set_virtual_offset.y = 0;
message_queue.set_depth.depth_bits = 32; 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; message_queue.allocate_buffer.alignment = 4096;
if (!Mailbox::the().send_queue(&message_queue, sizeof(message_queue))) { if (!Mailbox::the().send_queue(&message_queue, sizeof(message_queue))) {
@ -127,7 +127,8 @@ void Framebuffer::initialize()
multiboot_framebuffer_height = framebuffer.height(); multiboot_framebuffer_height = framebuffer.height();
multiboot_framebuffer_pitch = framebuffer.pitch(); 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; multiboot_framebuffer_type = MULTIBOOT_FRAMEBUFFER_TYPE_RGB;
} }
} }