ARM: Postpones creation of framebuffer output file until it is actually used.
This delay prevents a potential conflict with the HDLCD if both are in the same system even if only one is enabled.
This commit is contained in:
parent
f6550b3d20
commit
27630e9cad
1 changed files with 6 additions and 4 deletions
|
@ -65,8 +65,8 @@ Pl111::Pl111(const Params *p)
|
|||
clcdCrsrCtrl(0), clcdCrsrConfig(0), clcdCrsrPalette0(0),
|
||||
clcdCrsrPalette1(0), clcdCrsrXY(0), clcdCrsrClip(0), clcdCrsrImsc(0),
|
||||
clcdCrsrIcr(0), clcdCrsrRis(0), clcdCrsrMis(0),
|
||||
pixelClock(p->pixel_clock),
|
||||
vnc(p->vnc), bmp(NULL), width(LcdMaxWidth), height(LcdMaxHeight),
|
||||
pixelClock(p->pixel_clock), vnc(p->vnc), bmp(NULL), pic(NULL),
|
||||
width(LcdMaxWidth), height(LcdMaxHeight),
|
||||
bytesPerPixel(4), startTime(0), startAddr(0), maxAddr(0), curAddr(0),
|
||||
waterMark(0), dmaPendingNum(0), readEvent(this), fillFifoEvent(this),
|
||||
dmaDoneEventAll(maxOutstandingDma, this),
|
||||
|
@ -75,8 +75,6 @@ Pl111::Pl111(const Params *p)
|
|||
{
|
||||
pioSize = 0xFFFF;
|
||||
|
||||
pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true);
|
||||
|
||||
dmaBuffer = new uint8_t[buffer_size];
|
||||
|
||||
memset(lcdPalette, 0, sizeof(lcdPalette));
|
||||
|
@ -503,7 +501,11 @@ Pl111::dmaDone()
|
|||
|
||||
DPRINTF(PL111, "-- write out frame buffer into bmp\n");
|
||||
|
||||
if (!pic)
|
||||
pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true);
|
||||
|
||||
assert(bmp);
|
||||
assert(pic);
|
||||
pic->seekp(0);
|
||||
bmp->write(pic);
|
||||
|
||||
|
|
Loading…
Reference in a new issue