bool renderdisabled;
HANDLE filenotificationhandle;
int frames_since_init;
+ bool turbo_skip;
volatile bool fakemode;
uae_u8 *fakebitmap;
if (currprefs.leds_on_screen & (STATUSLINE_CHIPSET | STATUSLINE_RTG))
updateleds(d3d);
hr = tex->UnlockRect(0);
- if (y_start >= 0)
+ if (y_start >= 0 && !d3d->turbo_skip)
xD3D_flushtexture(monid, y_start, y_end);
}
d3d->locked = 0;
d3d->frames_since_init++;
- if (d3d->fakemode)
+ if (d3d->fakemode || d3d->turbo_skip)
return true;
if (!isd3d (d3d) || !d3d->texture1 || !d3d->texture2)
{
struct d3dstruct *d3d = &d3ddata[monid];
+ d3d->turbo_skip = false;
if (!isd3d (d3d))
return;
if (currprefs.turbo_emulation) {
static int frameskip;
static int toggle;
- if (frameskip-- > 0)
+ if (frameskip-- > 0) {
+ d3d->turbo_skip = true;
return;
+ }
frameskip = 10 + toggle;
toggle = !toggle;
D3D_showframe2 (d3d, false);
bool blackscreen;
int framecount;
UINT syncinterval;
+ bool turbo_skip;
float vblank;
DWM_FRAME_COUNT lastframe;
int frames_since_init;
syncinterval = 0;
}
d3d->syncinterval = syncinterval;
+ d3d->turbo_skip = false;
if (currprefs.turbo_emulation) {
static int skip;
static int toggle;
- if (--skip > 0)
+ if (--skip > 0) {
+ d3d->turbo_skip = true;
return;
+ }
skip = 10 + toggle;
toggle = !toggle;
if (os_win8)
d3d->frames_since_init++;
- if (mode > 0 && (mode & 2))
+ if (mode > 0 && (mode & 2)) {
slicecnt = 0;
- else if (mode < 0)
+ } else if (mode < 0) {
slicecnt = slicecnt == 2 ? 0 : slicecnt;
+ }
- if (!d3d->m_swapChain)
+ if (!d3d->m_swapChain) {
return false;
+ }
- if (d3d->fsmodechange)
+ if (d3d->fsmodechange) {
D3D_resize(monid, 0);
+ }
- if (d3d->invalidmode)
+ if (d3d->invalidmode) {
return false;
+ }
if (d3d->delayedrestore) {
d3d->delayedrestore = false;
restore(d3d);
}
- if (d3d->delayedfs || !d3d->texture2d || !d3d->d3dinit_done)
+ if (d3d->delayedfs || !d3d->texture2d || !d3d->d3dinit_done) {
return false;
+ }
+
+ if (d3d->turbo_skip) {
+ return true;
+ }
GraphicsClass_Render(d3d, mode < 0 || (mode & 1), monid);
return;
}
+ if (d3d->turbo_skip) {
+ return;
+ }
+
bool rtg = WIN32GFX_IsPicassoScreen(mon);
if (((currprefs.leds_on_screen & STATUSLINE_CHIPSET) && !rtg) || ((currprefs.leds_on_screen & STATUSLINE_RTG) && rtg)) {
d3d->osd.enabled = true;