aboutsummaryrefslogtreecommitdiff
path: root/loader/loader_platform.h
diff options
context:
space:
mode:
authorPiers Daniell <pdaniell@nvidia.com>2015-02-23 16:23:13 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-03-02 17:21:09 -0700
commit735ee530243b5e9be51f945517b5f7c7630c4f34 (patch)
treee6e36a96d49b3bd96c654ffa142be889bc8eeb38 /loader/loader_platform.h
parenteeec695ccb24f17fdfd968075dea0fd85d0d0d7e (diff)
downloadusermoji-735ee530243b5e9be51f945517b5f7c7630c4f34.tar.xz
Update tri and cube with stage
These changes were cherry-picked from nvidia-dev-20150218 and KhronosGroup/GDC-stable.
Diffstat (limited to 'loader/loader_platform.h')
-rw-r--r--loader/loader_platform.h9
1 files changed, 8 insertions, 1 deletions
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: