From: hgn Date: Sat, 22 Jul 2023 08:08:55 +0000 (+0100) Subject: a couple assertions about async loaders X-Git-Url: https://harrygodden.com/git/?p=vg.git;a=commitdiff_plain;h=e240a4582d5687785b778005714766f86a1db815 a couple assertions about async loaders --- diff --git a/vg_async.h b/vg_async.h index c142ad8..825cad8 100644 --- a/vg_async.h +++ b/vg_async.h @@ -9,6 +9,7 @@ #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; @@ -102,6 +103,7 @@ VG_STATIC vg_async_item *vg_async_alloc( u32 size ) */ 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 ); } @@ -112,6 +114,7 @@ VG_STATIC void vg_async_stall(void) 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); @@ -126,6 +129,7 @@ VG_STATIC void vg_async_dispatch( vg_async_item *item, 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;