diff options
Diffstat (limited to 'src/dev/arm/hdlcd.cc')
-rw-r--r-- | src/dev/arm/hdlcd.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/dev/arm/hdlcd.cc b/src/dev/arm/hdlcd.cc index c5daebc9b..349b246c2 100644 --- a/src/dev/arm/hdlcd.cc +++ b/src/dev/arm/hdlcd.cc @@ -72,7 +72,8 @@ HDLcd::HDLcd(const Params *p) startFrameEvent(this), endFrameEvent(this), renderPixelEvent(this), fillPixelBufferEvent(this), intEvent(this), dmaDoneEventAll(MAX_OUTSTANDING_DMA_REQ_CAPACITY, this), - dmaDoneEventFree(MAX_OUTSTANDING_DMA_REQ_CAPACITY) + dmaDoneEventFree(MAX_OUTSTANDING_DMA_REQ_CAPACITY), + enableCapture(p->enable_capture) { pioSize = 0xFFFF; @@ -560,13 +561,15 @@ HDLcd::endFrame() { if (vnc) vnc->setDirty(); - if (!pic) - pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true); + if (enableCapture) { + if (!pic) + pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true); - assert(bmp); - assert(pic); - pic->seekp(0); - bmp->write(pic); + assert(bmp); + assert(pic); + pic->seekp(0); + bmp->write(pic); + } // start the next frame frameUnderway = false; |