Support frameskip in softgpu.

This commit is contained in:
Unknown W. Brackets 2013-10-27 16:50:03 -07:00
parent 98e257c95d
commit b62e36e997
2 changed files with 10 additions and 2 deletions

View File

@ -349,7 +349,9 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
}
cyclesExecuted += EstimatePerVertexCost() * count;
TransformUnit::SubmitPrimitive(verts, indices, type, count, gstate.vertType);
if (!(gstate_c.skipDrawReason & SKIPDRAW_SKIPFRAME)) {
TransformUnit::SubmitPrimitive(verts, indices, type, count, gstate.vertType);
}
}
break;
@ -389,7 +391,9 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
break;
}
TransformUnit::SubmitSpline(control_points, indices, sp_ucount, sp_vcount, sp_utype, sp_vtype, gstate.getPatchPrimitiveType(), gstate.vertType);
if (!(gstate_c.skipDrawReason & SKIPDRAW_SKIPFRAME)) {
TransformUnit::SubmitSpline(control_points, indices, sp_ucount, sp_vcount, sp_utype, sp_vtype, gstate.getPatchPrimitiveType(), gstate.vertType);
}
DEBUG_LOG(G3D,"DL DRAW SPLINE: %i x %i, %i x %i", sp_ucount, sp_vcount, sp_utype, sp_vtype);
}
break;

View File

@ -73,6 +73,10 @@ public:
fullInfo = "Software";
}
virtual bool FramebufferReallyDirty() {
return !(gstate_c.skipDrawReason & SKIPDRAW_SKIPFRAME);
}
virtual bool GetCurrentFramebuffer(GPUDebugBuffer &buffer);
virtual bool GetCurrentDepthbuffer(GPUDebugBuffer &buffer);
virtual bool GetCurrentStencilbuffer(GPUDebugBuffer &buffer);