Add C3D_FrameEndHook()
This commit is contained in:
parent
8764804dd5
commit
4ed5536bcc
@ -35,6 +35,8 @@ bool C3D_FrameDrawOn(C3D_RenderTarget* target);
|
|||||||
void C3D_FrameSplit(u8 flags);
|
void C3D_FrameSplit(u8 flags);
|
||||||
void C3D_FrameEnd(u8 flags);
|
void C3D_FrameEnd(u8 flags);
|
||||||
|
|
||||||
|
void C3D_FrameEndHook(void (* hook)(void*), void* param);
|
||||||
|
|
||||||
float C3D_GetDrawingTime(void);
|
float C3D_GetDrawingTime(void);
|
||||||
float C3D_GetProcessingTime(void);
|
float C3D_GetProcessingTime(void);
|
||||||
|
|
||||||
|
@ -21,6 +21,8 @@ static u8 frameStage;
|
|||||||
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];
|
||||||
|
static void (* frameEndCb)(void*);
|
||||||
|
static void* frameEndCbData;
|
||||||
|
|
||||||
static bool framerateLimit(int id)
|
static bool framerateLimit(int id)
|
||||||
{
|
{
|
||||||
@ -242,6 +244,9 @@ void C3D_FrameEnd(u8 flags)
|
|||||||
{
|
{
|
||||||
C3D_Context* ctx = C3Di_GetContext();
|
C3D_Context* ctx = C3Di_GetContext();
|
||||||
|
|
||||||
|
if (frameEndCb)
|
||||||
|
frameEndCb(frameEndCbData);
|
||||||
|
|
||||||
C3D_FrameSplit(flags);
|
C3D_FrameSplit(flags);
|
||||||
inFrame = false;
|
inFrame = false;
|
||||||
osTickCounterUpdate(&cpuTime);
|
osTickCounterUpdate(&cpuTime);
|
||||||
@ -279,6 +284,12 @@ void C3D_FrameEnd(u8 flags)
|
|||||||
gxCmdQueueRun(&ctx->gxQueue);
|
gxCmdQueueRun(&ctx->gxQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void C3D_FrameEndHook(void (* hook)(void*), void* param)
|
||||||
|
{
|
||||||
|
frameEndCb = hook;
|
||||||
|
frameEndCbData = param;
|
||||||
|
}
|
||||||
|
|
||||||
float C3D_GetDrawingTime(void)
|
float C3D_GetDrawingTime(void)
|
||||||
{
|
{
|
||||||
return osTickCounterRead(&gpuTime);
|
return osTickCounterRead(&gpuTime);
|
||||||
|
Loading…
Reference in New Issue
Block a user