#define VG_GAME
#include "vg/vg.h"
+VG_STATIC void vg_assert_thread( enum vg_thread_purpose required );
typedef struct vg_async_item vg_async_item;
*/
VG_STATIC void vg_async_stall(void)
{
+ vg_assert_thread(k_thread_purpose_loader);
vg_info( "async_stall: %d\n", SDL_SemValue( vg_async.sem_wait_for_flush ) );
SDL_SemWait( vg_async.sem_wait_for_flush );
}
VG_STATIC void vg_async_dispatch( vg_async_item *item,
void (*runner)( void *payload, u32 size ) )
{
+ vg_assert_thread(k_thread_purpose_loader);
if( SDL_SemValue(vg_async.sem_wait_for_flush) )
SDL_SemWait(vg_async.sem_wait_for_flush);
VG_STATIC void vg_async_call( void (*runner)( void *payload, u32 size ),
void *payload, u32 size )
{
+ vg_assert_thread(k_thread_purpose_loader);
vg_async_item *call = vg_async_alloc(0);
call->payload = payload;
call->size = size;