X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fdraw.c;h=6670ba3be0b431ffdcd90f4a3e42e53bea871f7d;hb=b081408f66662068a3d274f696bdabba5186b68e;hp=c432bd57fc1a5ef0fa4aa88d9ac8e833b986b516;hpb=ae87bffa0696eeb18ffb8d283992bc3881e8f241;p=picodrive.git diff --git a/pico/draw.c b/pico/draw.c index c432bd5..6670ba3 100644 --- a/pico/draw.c +++ b/pico/draw.c @@ -1421,9 +1421,10 @@ PICO_INTERNAL void PicoFrameStart(void) if (rendstatus != rendstatus_old || lines != rendlines) { rendlines = lines; - rendstatus_old = rendstatus; + // mode_change() might reset rendstatus_old by calling SetColorFormat emu_video_mode_change((lines == 240) ? 0 : 8, lines, (Pico.video.reg[12] & 1) ? 0 : 1); + rendstatus_old = rendstatus; } if (PicoOpt & POPT_ALT_RENDERER) @@ -1484,6 +1485,8 @@ void PicoDrawSync(int to, int blank_last_line) int sh = (Pico.video.reg[0xC] & 8) >> 3; // shadow/hilight? int bgc = Pico.video.reg[7]; + pprof_start(draw); + if (rendlines != 240) offs = 8; @@ -1515,6 +1518,8 @@ void PicoDrawSync(int to, int blank_last_line) line++; } DrawScanline = line; + + pprof_end(draw); } void PicoDrawSetColorFormat(int which) @@ -1527,6 +1532,7 @@ void PicoDrawSetColorFormat(int which) default:FinalizeLine = NULL; break; } PicoDrawSetColorFormatMode4(which); + rendstatus_old = -1; #if OVERRIDE_HIGHCOL if (which) HighCol=DefHighCol;