From 735ee530243b5e9be51f945517b5f7c7630c4f34 Mon Sep 17 00:00:00 2001 From: Piers Daniell Date: Mon, 23 Feb 2015 16:23:13 -0700 Subject: Update tri and cube with stage These changes were cherry-picked from nvidia-dev-20150218 and KhronosGroup/GDC-stable. --- loader/loader_platform.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'loader/loader_platform.h') diff --git a/loader/loader_platform.h b/loader/loader_platform.h index d3fe4d73..2d878bce 100644 --- a/loader/loader_platform.h +++ b/loader/loader_platform.h @@ -237,11 +237,18 @@ static char * loader_platform_get_proc_address_error(const char *name) typedef HANDLE loader_platform_thread; #define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var) \ INIT_ONCE var = INIT_ONCE_STATIC_INIT; +static BOOL CALLBACK InitFuncWrapper(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context) +{ + void (*func)(void) = (void (*)(void))Parameter; + func(); + return TRUE; +} + static void loader_platform_thread_once(void *ctl, void (* func) (void)) { assert(func != NULL); assert(ctl != NULL); - InitOnceExecuteOnce((PINIT_ONCE) ctl, (PINIT_ONCE_FN) func, NULL, NULL); + InitOnceExecuteOnce((PINIT_ONCE) ctl, InitFuncWrapper, func, NULL); } // Thread IDs: -- cgit v1.2.3