pc, pc64: use softscreen double buffering for *bootscreen= framebuffer
it is probably almost always a good idea to use double buffering with a unaccelerated framebuffer.
This commit is contained in:
parent
759656ad4c
commit
4fb7462bd5
1 changed files with 5 additions and 6 deletions
|
@ -573,7 +573,6 @@ Next:
|
||||||
void
|
void
|
||||||
bootscreeninit(void)
|
bootscreeninit(void)
|
||||||
{
|
{
|
||||||
static Memdata md;
|
|
||||||
VGAscr *scr;
|
VGAscr *scr;
|
||||||
int x, y, z;
|
int x, y, z;
|
||||||
ulong chan, pa, sz;
|
ulong chan, pa, sz;
|
||||||
|
@ -622,9 +621,7 @@ bootscreeninit(void)
|
||||||
if(memimageinit() < 0)
|
if(memimageinit() < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
md.ref = 1;
|
gscreen = allocmemimage(Rect(0,0,x,y), chan);
|
||||||
md.bdata = scr->vaddr;
|
|
||||||
gscreen = allocmemimaged(Rect(0,0,x,y), chan, &md);
|
|
||||||
if(gscreen == nil)
|
if(gscreen == nil)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -632,8 +629,8 @@ bootscreeninit(void)
|
||||||
scr->memdefont = getmemdefont();
|
scr->memdefont = getmemdefont();
|
||||||
scr->gscreen = gscreen;
|
scr->gscreen = gscreen;
|
||||||
scr->gscreendata = gscreen->data;
|
scr->gscreendata = gscreen->data;
|
||||||
scr->softscreen = 0;
|
scr->softscreen = 1;
|
||||||
scr->useflush = 0;
|
scr->useflush = 1;
|
||||||
scr->dev = nil;
|
scr->dev = nil;
|
||||||
|
|
||||||
physgscreenr = gscreen->r;
|
physgscreenr = gscreen->r;
|
||||||
|
@ -641,6 +638,8 @@ bootscreeninit(void)
|
||||||
vgaimageinit(chan);
|
vgaimageinit(chan);
|
||||||
vgascreenwin(scr);
|
vgascreenwin(scr);
|
||||||
|
|
||||||
|
drawcmap();
|
||||||
|
|
||||||
scr->cur = &vgasoftcur;
|
scr->cur = &vgasoftcur;
|
||||||
scr->cur->enable(scr);
|
scr->cur->enable(scr);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue