Ejemplo n.º 1
0
void rmEndFrame(void) {
	gsKit_set_finish(gsGlobal);

	rmFlush();

	// Wait for draw ops to finish
	gsKit_finish();

	if(!gsGlobal->FirstFrame)
	{
		SleepThread();

		if(gsGlobal->DoubleBuffering == GS_SETTING_ON)
		{
			GS_SET_DISPFB2( gsGlobal->ScreenBuffer[gsGlobal->ActiveBuffer & 1] / 8192,
				gsGlobal->Width / 64, gsGlobal->PSM, 0, 0 );

			gsGlobal->ActiveBuffer ^= 1;
			gsGlobal->PrimContext ^= 1;
		}

	}

	gsKit_setactive(gsGlobal);
}
Ejemplo n.º 2
0
void gsKit_switch_context(GSGLOBAL *gsGlobal)
{
    gsGlobal->ActiveBuffer ^= 1;
    gsGlobal->PrimContext ^= 1;

    gsKit_setactive(gsGlobal);
}
Ejemplo n.º 3
0
void gsKit_sync_flip(GSGLOBAL *gsGlobal)
{
	if(!gsGlobal->FirstFrame)
	{
		gsKit_vsync_wait();

		if(gsGlobal->DoubleBuffering == GS_SETTING_ON)
		{
			GS_SET_DISPFB2( gsGlobal->ScreenBuffer[gsGlobal->ActiveBuffer & 1] / 8192,
				gsGlobal->Width / 64, gsGlobal->PSM, 0, 0 );

			gsGlobal->ActiveBuffer ^= 1;
		}

	}

	gsKit_setactive(gsGlobal);

}