race condition with development tools..
[vg.git] / vg_tex.h
index ac5920a480c126f806eabe453dc9f4dfe86eee84..3f9cd9850eb8ae45191d0dd5ddb24250e58d2bb9 100644 (file)
--- a/vg_tex.h
+++ b/vg_tex.h
@@ -63,12 +63,15 @@ struct vg_sprite
 #define VG_TEX2D_CLAMP   0x8
 #define VG_TEX2D_NOMIP   0x10
 
-static u8 const_vg_tex2d_err[] =
-{
-   0x00, 0xff, 0xff, 0xff,
-   0xff, 0xff, 0x00, 0xff,
-   0x00, 0x00, 0xff, 0xff,
-   0xff, 0xff, 0x00, 0xff
+static u8 const_vg_tex2d_err[] ={
+   0xff,0x00,0xff,0xff, 0x00,0x00,0x00,0xff,
+   0xff,0x00,0xff,0xff, 0x00,0x00,0x00,0xff,
+   0x00,0x00,0x00,0xff, 0xff,0x00,0xff,0xff, 
+   0x00,0x00,0x00,0xff, 0xff,0x00,0xff,0xff, 
+   0xff,0x00,0xff,0xff, 0x00,0x00,0x00,0xff,
+   0xff,0x00,0xff,0xff, 0x00,0x00,0x00,0xff,
+   0x00,0x00,0x00,0xff, 0xff,0x00,0xff,0xff, 
+   0x00,0x00,0x00,0xff, 0xff,0x00,0xff,0xff, 
 };
 
 #define QOI_SRGB   0
@@ -126,7 +129,7 @@ struct texture_load_info{
    u8 *rgba;
 };
 
-VG_STATIC void async_vg_tex2d_upload( void *payload, u32 size )
+static void async_vg_tex2d_upload( void *payload, u32 size )
 {
    if( vg_thread_purpose() != k_thread_purpose_main ){
       vg_fatal_error( "Catastrophic programming error.\n" );
@@ -170,7 +173,7 @@ VG_STATIC void async_vg_tex2d_upload( void *payload, u32 size )
    }
 }
 
-VG_STATIC void vg_tex2d_replace_with_error( GLuint *dest )
+static void vg_tex2d_replace_with_error( GLuint *dest )
 {
    u32 hdr_size = vg_align8(sizeof(struct texture_load_info));
 
@@ -179,14 +182,14 @@ VG_STATIC void vg_tex2d_replace_with_error( GLuint *dest )
    
    info->dest = dest;
    info->flags = VG_TEX2D_NEAREST|VG_TEX2D_REPEAT|VG_TEX2D_NOMIP;
-   info->width = 2;
-   info->height = 2;
+   info->width = 4;
+   info->height = 4;
    info->rgba = const_vg_tex2d_err;
 
    vg_async_dispatch( call, async_vg_tex2d_upload );
 }
 
-VG_STATIC 
+static 
 void vg_tex2d_load_qoi_async( const u8 *bytes, u32 size, 
                               u32 flags, GLuint *dest )
 {
@@ -320,9 +323,12 @@ void vg_tex2d_load_qoi_async( const u8 *bytes, u32 size,
    vg_async_dispatch( call, async_vg_tex2d_upload );
 }
 
-VG_STATIC 
+static 
 void vg_tex2d_load_qoi_async_file( const char *path, u32 flags, GLuint *dest )
 {
+   if( vg_thread_purpose() != k_thread_purpose_loader )
+      vg_fatal_error( "wrong thread\n" );
+
    vg_linear_clear( vg_mem.scratch );
 
    u32 size;