aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gfx-as.S1
-rw-r--r--drivers/gfx.c10
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gfx-as.S b/drivers/gfx-as.S
index ed1c91b..df94c71 100644
--- a/drivers/gfx-as.S
+++ b/drivers/gfx-as.S
@@ -5,7 +5,6 @@
.extern fb_bpp
.extern _gfx_bgcol
.extern framebuffer
- # void gfx_clear(uint32_t color)
gfx_clear:
movl framebuffer, %eax
movzwl fb_stride, %ecx
diff --git a/drivers/gfx.c b/drivers/gfx.c
index 435c2e0..babbf27 100644
--- a/drivers/gfx.c
+++ b/drivers/gfx.c
@@ -239,9 +239,9 @@ bool gfx_init(struct vbe_info_t *vbe_mode_info)
{
framebuffer = (uint8_t*)vbe_mode_info->physbase;
fb_width = vbe_mode_info->Xres;
- fb_height = vbe_mode_info->Yres - 100;
+ fb_height = vbe_mode_info->Yres;
fb_bpp = vbe_mode_info->bpp / 8;
- fb_stride = fb_bpp * fb_width;
+ fb_stride = vbe_mode_info->pitch;
if(fb_bpp != 4)
{
printf("WARNING: BPP != 32, falling back to text mode...\n");
@@ -251,5 +251,11 @@ bool gfx_init(struct vbe_info_t *vbe_mode_info)
set_putchar(gfx_putchar);
set_puts(gfx_puts);
+ printf("stride: %d\ncalcstride: %d\n", fb_stride, fb_bpp * fb_width);
+ if(fb_stride != fb_bpp * fb_width)
+ {
+ printf("WARNING: no fill support for stride != BPP * width yet: fills might not work!\n");
+ }
+
return true;
}