gallium/util: add one-time initialization helper
[mesa.git] / src / gallium / auxiliary / util / u_inline_init.h
1 #ifndef U_INLINE_INIT_H_
2 #define U_INLINE_INIT_H_
3
4 #define UTIL_INLINE_INIT(m) \
5 extern boolean m##_inited; \
6 extern void m##_do_init(void); \
7 static inline void m##_init(void) \
8 { \
9 if(!m##_inited) { \
10 m##_do_init(); \
11 m##_inited = TRUE; \
12 } \
13 }
14
15 #endif /* U_INLINE_INIT_H_ */