st/nine: Fix volumetexture dtor on ctor failure
[mesa.git] / src / gallium / state_trackers / nine / threadpool.h
index 00ad25e1b13476563b9b111d57affd340a929b4b..6f8f8c455d07d7934a9f6cdbb415ab8586bcd875 100644 (file)
 #ifndef _THREADPOOL_H_
 #define _THREADPOOL_H_
 
+#include <pthread.h>
+
+struct NineSwapChain9;
+
 #define MAXTHREADS 1
 
 struct threadpool {
     pthread_mutex_t m;
     pthread_cond_t new_work;
 
-    pthread_t thread;
+    HANDLE wthread;
+    pthread_t pthread;
     struct threadpool_task *workqueue;
     BOOL shutdown;
 };
@@ -45,11 +50,11 @@ struct threadpool_task {
     BOOL finished;
 };
 
-struct threadpool *_mesa_threadpool_create(void);
-void _mesa_threadpool_destroy(struct threadpool *pool);
+struct threadpool *_mesa_threadpool_create(struct NineSwapChain9 *swapchain);
+void _mesa_threadpool_destroy(struct NineSwapChain9 *swapchain, struct threadpool *pool);
 struct threadpool_task *_mesa_threadpool_queue_task(struct threadpool *pool,
                                                     threadpool_task_func func,
                                                     void *data);
 void _mesa_threadpool_wait_for_task(struct threadpool *pool,
                                     struct threadpool_task **task);
-#endif
\ No newline at end of file
+#endif