aboutsummaryrefslogtreecommitdiff
path: root/render.c
diff options
context:
space:
mode:
Diffstat (limited to 'render.c')
-rw-r--r--render.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/render.c b/render.c
index be19582..6be8179 100644
--- a/render.c
+++ b/render.c
@@ -509,6 +509,7 @@ renderer(void *arg)
job->nrem = sc->nents;
job->lastid = 0;
job->time0 = nanosec();
+ job->v->fbctl->reset(job->v->fbctl);
if(jobq.tl == nil){
jobq.tl = jobq.hd = job;
@@ -526,7 +527,7 @@ sendparams:
if(ent != nil && ent != &sc->ents){
params = emalloc(sizeof *params);
memset(params, 0, sizeof *params);
- params->fb = job->fb;
+ params->fb = job->v->getfb(job->v);
params->id = job->lastid++;
params->frag = rgb(DBlack);
params->donec = donec;
@@ -548,8 +549,10 @@ sendparams:
}
break;
case DONE:
- if(--params2->job->nrem < 1)
+ if(--params2->job->nrem < 1){
+ params2->job->v->fbctl->swap(params2->job->v->fbctl);
send(params2->job->donec, nil);
+ }
freememimage(params2->frag);
free(params2);