X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Fdos%2Fgfx.c;h=671cd8a376f403ab576fa557c54c6eb572c81ebd;hb=713d33d0c193f880d665dc6f4e62eac9549b747e;hp=5a8a63bd6f9c21b586841d9c7d06904dcbcd4c34;hpb=0e19f91320d17dc2df1fa0aeaa270b80eef545a9;p=eradicate diff --git a/src/dos/gfx.c b/src/dos/gfx.c index 5a8a63b..671cd8a 100644 --- a/src/dos/gfx.c +++ b/src/dos/gfx.c @@ -83,6 +83,7 @@ int init_video(void) vmptr->rmask = calc_mask(minf.rsize, minf.rpos); vmptr->gmask = calc_mask(minf.gsize, minf.gpos); vmptr->bmask = calc_mask(minf.bsize, minf.bpos); + vmptr->bpp = vmptr->rbits + vmptr->gbits + vmptr->bbits; } if(minf.attr & VBE_ATTR_LFB) { vmptr->fb_addr = minf.fb_addr; @@ -174,7 +175,7 @@ void *set_video_mode(int idx, int nbuf) if(nbuf < 1) nbuf = 1; if(nbuf > 2) nbuf = 2; pgcount = nbuf > vm->max_pages ? vm->max_pages : nbuf; - pgsize = vm->xsz * vm->ysz * vm->pitch; + pgsize = vm->ysz * vm->pitch; fbsize = pgcount * pgsize; printf("pgcount: %d, pgsize: %d, fbsize: %d\n", pgcount, pgsize, fbsize); @@ -189,7 +190,7 @@ void *set_video_mode(int idx, int nbuf) set_text_mode(); return 0; } - //memset(vpgaddr[0], 0xaa, pgsize); + memset(vpgaddr[0], 0xaa, pgsize); if(pgcount > 1) { vpgaddr[1] = (char*)vpgaddr[0] + pgsize; @@ -235,6 +236,7 @@ void *page_flip(int vsync) static void blit_frame_lfb(void *pixels, int vsync) { + dbg_fps(pixels); if(vsync) wait_vsync(); memcpy(vpgaddr[frontidx], pixels, pgsize); } @@ -245,6 +247,8 @@ static void blit_frame_banked(void *pixels, int vsync) unsigned int pending; unsigned char *pptr = pixels; + dbg_fps(pixels); + if(vsync) wait_vsync(); /* assume initial window offset at 0 */