mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 15:40:11 +01:00
Convert licensing information using ISO/IEC 5962:2021 to SPDX format. Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com> Reviewed-by: lorn10 <kle@bluewin.ch> Signed-off-by: David Heidelberg <david@ixit.cz> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27971>
42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/*
|
|
* Copyright © 2012 Intel Corporation
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#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;
|
|
|
|
HANDLE wthread;
|
|
pthread_t pthread;
|
|
struct threadpool_task *workqueue;
|
|
BOOL shutdown;
|
|
};
|
|
|
|
typedef void (*threadpool_task_func)(void *data);
|
|
|
|
struct threadpool_task {
|
|
threadpool_task_func work;
|
|
void *data;
|
|
struct threadpool_task *next;
|
|
pthread_cond_t finish;
|
|
BOOL finished;
|
|
};
|
|
|
|
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
|