projects
/
vg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
94a8d77
)
a couple assertions about async loaders
author
hgn
<hgodden00@gmail.com>
Sat, 22 Jul 2023 08:08:55 +0000
(09:08 +0100)
committer
hgn
<hgodden00@gmail.com>
Sat, 22 Jul 2023 08:08:55 +0000
(09:08 +0100)
vg_async.h
patch
|
blob
|
history
diff --git
a/vg_async.h
b/vg_async.h
index c142ad81e247967c33e853921f678b2d8e1be2ea..825cad845fc93d189c12c8c32d61dd20df2936f9 100644
(file)
--- a/
vg_async.h
+++ b/
vg_async.h
@@
-9,6
+9,7
@@
#define VG_GAME
#include "vg/vg.h"
#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;
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_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_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_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);
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_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;
vg_async_item *call = vg_async_alloc(0);
call->payload = payload;
call->size = size;