From c2d09b64ca16b7398167bce927ae40eed8f06070 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 1 Jul 2025 13:51:22 +0300 Subject: [PATCH] Kernel: Drop 24 bpp support from double buffer I don't even know why this was supported, I am not planning on making the fb anything other than 32 bpp --- kernel/kernel/Device/FramebufferDevice.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/kernel/kernel/Device/FramebufferDevice.cpp b/kernel/kernel/Device/FramebufferDevice.cpp index aeed0359..db2c7fd5 100644 --- a/kernel/kernel/Device/FramebufferDevice.cpp +++ b/kernel/kernel/Device/FramebufferDevice.cpp @@ -128,22 +128,16 @@ namespace Kernel uint32_t FramebufferDevice::get_pixel(uint32_t x, uint32_t y) const { ASSERT(x < m_width && y < m_height); - const auto* video_buffer_u8 = reinterpret_cast(m_video_buffer->vaddr()); - return (video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 0] << 0) - | (video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 1] << 8) - | (video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 2] << 16); + static_assert(BANAN_FB_BPP == 32); + return reinterpret_cast(m_video_buffer->vaddr())[y * m_width + x]; } void FramebufferDevice::set_pixel(uint32_t x, uint32_t y, uint32_t rgb) { if (x >= m_width || y >= m_height) return; - auto* video_buffer_u8 = reinterpret_cast(m_video_buffer->vaddr()); - video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 0] = rgb >> 0; - video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 1] = rgb >> 8; - video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 2] = rgb >> 16; - if constexpr(BANAN_FB_BPP == 32) - video_buffer_u8[(y * m_width + x) * (BANAN_FB_BPP / 8) + 3] = rgb >> 24; + static_assert(BANAN_FB_BPP == 32); + reinterpret_cast(m_video_buffer->vaddr())[y * m_width + x] = rgb; } void FramebufferDevice::scroll(int32_t rows, uint32_t rgb)