diff options
| -rw-r--r-- | drivers/gfx-as.S | 1 | ||||
| -rw-r--r-- | drivers/gfx.c | 10 |
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; } |