summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/include/graphics.h1
-rw-r--r--kernel/src/mem/paging.c1
-rw-r--r--kernel/src/misc/graphics.c10
3 files changed, 3 insertions, 9 deletions
diff --git a/kernel/include/graphics.h b/kernel/include/graphics.h
index 4e4fc48..16805a6 100644
--- a/kernel/include/graphics.h
+++ b/kernel/include/graphics.h
@@ -23,7 +23,6 @@ extern volatile fb_t main_fb;
#define WHITE 0x00ffffff
#define BLACK 0x00000000
-uint32_t* pixel_offset(volatile fb_t fb, uint32_t x, uint32_t y);
void fb_draw_pixel(volatile fb_t fb, int32_t x, int32_t y, uint32_t col);
void fb_draw_line_low(volatile fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col);
void fb_draw_line_high(volatile fb_t fb, int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t col);
diff --git a/kernel/src/mem/paging.c b/kernel/src/mem/paging.c
index d84c983..774c5d6 100644
--- a/kernel/src/mem/paging.c
+++ b/kernel/src/mem/paging.c
@@ -50,7 +50,6 @@ void init_paging(void)
page_table_lvl2[i] = (uint64_t)0x0 + PAGE_SIZE * i + FLAG_PRESENT + FLAG_WRITABLE + FLAG_USER + FLAG_HUGE;
}
-
load_pt_lvl4(page_table_lvl4);
}
diff --git a/kernel/src/misc/graphics.c b/kernel/src/misc/graphics.c
index 9c8dc9a..7c68b36 100644
--- a/kernel/src/misc/graphics.c
+++ b/kernel/src/misc/graphics.c
@@ -8,18 +8,14 @@
volatile fb_t main_fb;
-uint32_t* pixel_offset(volatile fb_t fb, uint32_t x, uint32_t y)
-{
- return (uint32_t*)((char*)fb.addr + y * fb.pitch + x * fb.bpp / 8);
-}
-
void fb_draw_pixel(volatile fb_t fb, int32_t x, int32_t y, uint32_t col)
{
if (x < 0 || y < 0) return;
if (x >= (int32_t)fb.width || y >= (int32_t)fb.height) return;
- uint32_t* fb_offset = pixel_offset(fb, (uint32_t)x, (uint32_t)y);
- *fb_offset = col;
+ uint32_t fb_offset = (uint32_t)y * fb.pitch + (uint32_t)x * fb.bpp / 8;
+ uint32_t* fb_buff = (uint32_t*)fb.addr;
+ fb_buff[fb_offset / 4] = col;
}
/* https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm */