![]() |
DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
|
|
Go to the source code of this file.
Data Structures | |
struct | taskqueue_task_t |
Functions | |
void | TaskQueue_Enqueue (int numtasks, taskqueue_task_t *tasks) |
void | TaskQueue_Frame (qbool shutdown) |
void | TaskQueue_Init (void) |
qbool | TaskQueue_IsDone (taskqueue_task_t *t) |
void | TaskQueue_Setup (taskqueue_task_t *t, taskqueue_task_t *preceding, void(*func)(taskqueue_task_t *), size_t i0, size_t i1, void *p0, void *p1) |
void | TaskQueue_Shutdown (void) |
void | TaskQueue_Task_CheckTasksDone (taskqueue_task_t *t) |
void | TaskQueue_WaitForTaskDone (taskqueue_task_t *t) |
void | TaskQueue_Yield (taskqueue_task_t *t) |
void TaskQueue_Enqueue | ( | int | numtasks, |
taskqueue_task_t * | tasks ) |
Definition at line 105 of file taskqueue.c.
References taskqueue_state_t::command_lock, i, Mem_Realloc, taskqueue_state_t::queue_data, taskqueue_state_t::queue_dequeueposition, taskqueue_state_t::queue_enqueueposition, taskqueue_state_t::queue_size, taskqueue_state, taskqueue_state_t::tasks_thisframe, Thread_AtomicLock, Thread_AtomicUnlock, and zonemempool.
Referenced by R_Shadow_BounceGrid_EnqueuePhotons_Task(), R_Shadow_BounceGrid_EnqueueSlices_Task(), R_Shadow_UpdateBounceGridTexture(), and TaskQueue_Yield().
Definition at line 213 of file taskqueue.c.
References bound, taskqueue_state_t::command_lock, taskqueue_state_thread_t::handle, i, cvar_t::integer, MAXTHREADS, NULL, taskqueue_state_t::numthreads, taskqueue_state_thread_t::quit, RECENTFRAMES, TaskQueue_DistributeTasks(), taskqueue_maxthreads, taskqueue_minthreads, taskqueue_state, taskqueue_tasksperthread, TaskQueue_ThreadFunc(), taskqueue_state_t::tasks_averageperframe, taskqueue_state_t::tasks_recentframes, taskqueue_state_t::tasks_recentframesindex, taskqueue_state_t::tasks_thisframe, Thread_AtomicLock, Thread_AtomicUnlock, Thread_CreateThread, taskqueue_state_thread_t::thread_index, Thread_WaitThread, and taskqueue_state_t::threads.
Referenced by Host_Frame(), and TaskQueue_Shutdown().
Definition at line 53 of file taskqueue.c.
References Cvar_RegisterVariable(), taskqueue_maxthreads, taskqueue_minthreads, and taskqueue_tasksperthread.
Referenced by Host_Init().
qbool TaskQueue_IsDone | ( | taskqueue_task_t * | t | ) |
Definition at line 139 of file taskqueue.c.
References taskqueue_task_t::done.
void TaskQueue_Setup | ( | taskqueue_task_t * | t, |
taskqueue_task_t * | preceding, | ||
void(* | func )(taskqueue_task_t *), | ||
size_t | i0, | ||
size_t | i1, | ||
void * | p0, | ||
void * | p1 ) |
Definition at line 282 of file taskqueue.c.
References taskqueue_task_t::func, taskqueue_task_t::i, taskqueue_task_t::p, and taskqueue_task_t::preceding.
Referenced by R_Shadow_BounceGrid_EnqueuePhotons_Task(), R_Shadow_BounceGrid_EnqueueSlices_Task(), and R_Shadow_UpdateBounceGridTexture().
Definition at line 60 of file taskqueue.c.
References taskqueue_state_t::numthreads, TaskQueue_Frame(), and taskqueue_state.
Referenced by Host_Shutdown().
void TaskQueue_Task_CheckTasksDone | ( | taskqueue_task_t * | t | ) |
Definition at line 293 of file taskqueue.c.
References taskqueue_task_t::done, taskqueue_task_t::i, taskqueue_task_t::p, taskqueue_task_t::preceding, and TaskQueue_Yield().
Referenced by R_Shadow_BounceGrid_EnqueuePhotons_Task(), and R_Shadow_BounceGrid_EnqueueSlices_Task().
void TaskQueue_WaitForTaskDone | ( | taskqueue_task_t * | t | ) |
Definition at line 199 of file taskqueue.c.
References taskqueue_state_t::command_lock, taskqueue_task_t::done, TaskQueue_DistributeTasks(), taskqueue_state, Thread_AtomicLock, and Thread_AtomicUnlock.
Referenced by R_Shadow_UpdateBounceGridTexture().
void TaskQueue_Yield | ( | taskqueue_task_t * | t | ) |
Definition at line 133 of file taskqueue.c.
References TaskQueue_Enqueue(), and taskqueue_task_t::yieldcount.
Referenced by R_Shadow_BounceGrid_EnqueueSlices_Task(), TaskQueue_ExecuteTask(), and TaskQueue_Task_CheckTasksDone().