core vdp, avoid rendering if no changes to RAMs/registers

mainly benefits 32X in faster/fastest rendering mode, 0-5% saved
This commit is contained in:
kub 2023-04-27 22:18:55 +02:00
parent 0c9c8e4796
commit f9ed944604
6 changed files with 48 additions and 11 deletions

View file

@ -223,6 +223,7 @@ void vidConvCpyRGB565(void *to, void *from, int pixels);
#endif
void PicoDoHighPal555(int sh, int line, struct PicoEState *est);
// internals, NB must keep in sync with ASM draw functions
#define PDRAW_SYNC_NEEDED (1<<0) // redraw needed
#define PDRAW_WND_DIFF_PRIO (1<<1) // not all window tiles use same priority
#define PDRAW_PARSE_SPRITES (1<<2) // SAT needs parsing
#define PDRAW_INTERLACE (1<<3)
@ -236,6 +237,7 @@ void PicoDoHighPal555(int sh, int line, struct PicoEState *est);
#define PDRAW_30_ROWS (1<<11) // 30 rows mode (240 lines)
#define PDRAW_32X_SCALE (1<<12) // scale CLUT layer for 32X
#define PDRAW_SMS_BLANK_1 (1<<13) // 1st column blanked
#define PDRAW_SYNC_NEXT (1<<14) // sync next frame
extern int rendstatus_old;
extern int rendlines;