X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg_loader.h;h=c633ff907f0182f3ef81fcd725e570a72860ff60;hb=934ae0807c049da2f4a66686c76ad5ef3867f7ef;hp=206e1d8d3d260bca469f1343d32d4b85904d5955;hpb=545783c1d937b2bed42e0555c9343fa00b8b7a22;p=vg.git diff --git a/vg_loader.h b/vg_loader.h index 206e1d8..c633ff9 100644 --- a/vg_loader.h +++ b/vg_loader.h @@ -225,11 +225,19 @@ static void vg_loader_start( void(*pfn)(void *data), void *data ) /* * Schedule something to be ran now, freed later. Checks in with engine status */ -static void vg_loader_step( void( *fn_load )(void), void( *fn_free )(void) ) -{ +static void _vg_loader_step( void( *fn_load )(void), void( *fn_free )(void), + const char *alias ){ + + u64 t0 = SDL_GetPerformanceCounter(); + vg.time_hp_last = vg.time_hp; + if( fn_load ) fn_load(); + u64 udt = SDL_GetPerformanceCounter() - t0; + double dt = (double)udt / (double)SDL_GetPerformanceFrequency(); + vg_info( "ltime [%p] %s: %fs\n", fn_load, alias, dt ); + if( fn_free ){ struct loader_free_step step; step.fn_free = fn_free; @@ -243,4 +251,7 @@ static void vg_loader_step( void( *fn_load )(void), void( *fn_free )(void) ) /* TODO: There was a quit checker here, re-add this? */ } +#define vg_loader_step( FN, FN_FREE )\ + _vg_loader_step( FN, FN_FREE, #FN ) + #endif /* VG_LOADER_H */