Use gfxScreenSwapBuffers; implement left->right eye duplication with it
This commit is contained in:
parent
bbbadebeae
commit
f4367ad55d
@ -9,7 +9,7 @@ static C3D_RenderTarget *linkedTarget[3];
|
|||||||
static TickCounter gpuTime, cpuTime;
|
static TickCounter gpuTime, cpuTime;
|
||||||
|
|
||||||
static bool inFrame, inSafeTransfer, measureGpuTime;
|
static bool inFrame, inSafeTransfer, measureGpuTime;
|
||||||
static bool needSwapTop, needSwapBot;
|
static bool needSwapTop, needSwapBot, isTopStereo;
|
||||||
static float framerate = 60.0f;
|
static float framerate = 60.0f;
|
||||||
static float framerateCounter[2] = { 60.0f, 60.0f };
|
static float framerateCounter[2] = { 60.0f, 60.0f };
|
||||||
static u32 frameCounter[2];
|
static u32 frameCounter[2];
|
||||||
@ -61,12 +61,12 @@ static void onQueueFinish(gxCmdQueue_s* queue)
|
|||||||
{
|
{
|
||||||
if (needSwapTop)
|
if (needSwapTop)
|
||||||
{
|
{
|
||||||
gfxConfigScreen(GFX_TOP, false);
|
gfxScreenSwapBuffers(GFX_TOP, isTopStereo);
|
||||||
needSwapTop = false;
|
needSwapTop = false;
|
||||||
}
|
}
|
||||||
if (needSwapBot)
|
if (needSwapBot)
|
||||||
{
|
{
|
||||||
gfxConfigScreen(GFX_BOTTOM, false);
|
gfxScreenSwapBuffers(GFX_BOTTOM, false);
|
||||||
needSwapBot = false;
|
needSwapBot = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -217,6 +217,7 @@ void C3D_FrameEnd(u8 flags)
|
|||||||
|
|
||||||
int i;
|
int i;
|
||||||
C3D_RenderTarget* target;
|
C3D_RenderTarget* target;
|
||||||
|
isTopStereo = false;
|
||||||
for (i = 2; i >= 0; i --)
|
for (i = 2; i >= 0; i --)
|
||||||
{
|
{
|
||||||
target = linkedTarget[i];
|
target = linkedTarget[i];
|
||||||
@ -225,7 +226,11 @@ void C3D_FrameEnd(u8 flags)
|
|||||||
target->used = false;
|
target->used = false;
|
||||||
C3D_FrameBufTransfer(&target->frameBuf, target->screen, target->side, target->transferFlags);
|
C3D_FrameBufTransfer(&target->frameBuf, target->screen, target->side, target->transferFlags);
|
||||||
if (target->screen == GFX_TOP)
|
if (target->screen == GFX_TOP)
|
||||||
|
{
|
||||||
needSwapTop = true;
|
needSwapTop = true;
|
||||||
|
if (target->side == GFX_RIGHT)
|
||||||
|
isTopStereo = true;
|
||||||
|
}
|
||||||
else if (target->screen == GFX_BOTTOM)
|
else if (target->screen == GFX_BOTTOM)
|
||||||
needSwapBot = true;
|
needSwapBot = true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user