diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-01-03 18:33:35 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-01-03 18:33:35 +0100 |
commit | b5008f3b562404811a81a755c6d06b47f47e545f (patch) | |
tree | 4b26c81f1920a244dfd4145530d22931789241fa /sys/src/9/pc/devvga.c | |
parent | ce2e8e56873cae9889ce8eadd056a62ae0636d63 (diff) |
devvga: disable hardware blanking when switching drivers, check softscreen
we have to reset hwblank when switching drivers to
prevent the generic vgablank() to be called by
blankscreen().
remove code setting hwblank from vga drivers as
devvga will always force hwblank to be 1 or 0
depending on if the driver provides a native blanking
routine.
set hwaccel to 1 when the driver provides native fill
and scroll routines independent of softscreen being
disabled. this allows hw acceleration to be used when
softscreen gets switched off.
Diffstat (limited to 'sys/src/9/pc/devvga.c')
-rw-r--r-- | sys/src/9/pc/devvga.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/9/pc/devvga.c b/sys/src/9/pc/devvga.c index 5120f5946..151b52346 100644 --- a/sys/src/9/pc/devvga.c +++ b/sys/src/9/pc/devvga.c @@ -314,6 +314,8 @@ vgactl(Cmdbuf *cb) scr->fill = nil; scr->scroll = nil; scr->blank = nil; + hwblank = 0; + hwaccel = 0; qunlock(&drawlock); if(scr->dev->disable) scr->dev->disable(scr); @@ -410,7 +412,7 @@ vgactl(Cmdbuf *cb) if(scr->dev && scr->dev->drawinit) scr->dev->drawinit(scr); hwblank = scr->blank != nil; - hwaccel = !scr->softscreen && (scr->scroll || scr->fill); + hwaccel = scr->fill != nil || scr->scroll != nil; vgascreenwin(scr); resetscreenimage(); cursoron(); |