From c3ac725269ce4f4aade3d6cbcbd812130d907177 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Sun, 13 Sep 2015 22:27:28 +0100 Subject: [PATCH] (CTR/3DS) improve vsync. gfxSwapBuffersGpu needs to be called immediately after initiating a display transfer. --- gfx/drivers/ctr_gfx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gfx/drivers/ctr_gfx.c b/gfx/drivers/ctr_gfx.c index c891619425..18da5807e0 100644 --- a/gfx/drivers/ctr_gfx.c +++ b/gfx/drivers/ctr_gfx.c @@ -253,7 +253,6 @@ static bool ctr_frame(void* data, const void* frame, svcWaitSynchronization(gspEvents[GSPEVENT_PPF], 20000000); svcClearEvent(gspEvents[GSPEVENT_PPF]); - gfxSwapBuffersGpu(); frames++; if (ctr->vsync) @@ -361,6 +360,7 @@ static bool ctr_frame(void* data, const void* frame, ctrGuDisplayTransfer(true, CTR_GPU_FRAMEBUFFER, 240,400, CTRGU_RGBA8, gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), 240,400,CTRGU_RGB8, CTRGU_MULTISAMPLE_NONE); + gfxSwapBuffersGpu(); RARCH_PERFORMANCE_STOP(ctrframe_f); return true;