diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp index c6eec3c59987..dc53f28cdd20 100644 --- a/GPU/GPUCommon.cpp +++ b/GPU/GPUCommon.cpp @@ -1706,9 +1706,12 @@ void GPUCommon::Execute_Prim(u32 op, u32 diff) { currentList->pc += cmdCount * 4; // flush back cull mode if (cullMode != gstate.getCullMode()) { + // We rewrote everything to the old cull mode, so flush first. + drawEngineCommon_->DispatchFlush(); + + // Now update things for next time. gstate.cmdmem[GE_CMD_CULL] ^= 1; gstate_c.Dirty(DIRTY_RASTER_STATE); - drawEngineCommon_->DispatchFlush(); } }