renderer: when a RTT frame is rendered, swap any pending frame first
Fixes Tony Hawks 1 & 2 black screen issue
This commit is contained in:
parent
ad5ab6240b
commit
becb0a5efe
|
@ -253,6 +253,14 @@ bool rend_frame(TA_context* ctx, bool draw_osd) {
|
|||
dump_frame_switch = false;
|
||||
}
|
||||
bool proc = renderer->Process(ctx);
|
||||
if ((ctx->rend.isRTT || ctx->rend.isRenderFramebuffer) && swap_pending)
|
||||
{
|
||||
// If there a frame swap pending, we want to do it now.
|
||||
// The current frame "swapping" detection mechanism (using FB_R_SOF1) doesn't work
|
||||
// if a RTT frame is rendered in between.
|
||||
renderer->Present();
|
||||
swap_pending = false;
|
||||
}
|
||||
#if !defined(TARGET_NO_THREADS)
|
||||
if (!proc || (!ctx->rend.isRTT && !ctx->rend.isRenderFramebuffer))
|
||||
// If rendering to texture, continue locking until the frame is rendered
|
||||
|
|
Loading…
Reference in New Issue