]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - taskqueue.c
Add cl_cmd.c to vs projects
[xonotic/darkplaces.git] / taskqueue.c
index b43f8d46cce25a89ed97ddd8db8a408b0e171807..ccde49c5b37978ce40a3d932c3e6dccf62faac94 100644 (file)
@@ -1,7 +1,7 @@
 #include "quakedef.h"
 #include "taskqueue.h"
 
-cvar_t taskqueue_minthreads = {CVAR_CLIENT | CVAR_SERVER | CVAR_SAVE, "taskqueue_minthreads", "4", "minimum number of threads to keep active for executing tasks"};
+cvar_t taskqueue_minthreads = {CVAR_CLIENT | CVAR_SERVER | CVAR_SAVE, "taskqueue_minthreads", "0", "minimum number of threads to keep active for executing tasks"};
 cvar_t taskqueue_maxthreads = {CVAR_CLIENT | CVAR_SERVER | CVAR_SAVE, "taskqueue_maxthreads", "32", "maximum number of threads to start up as needed based on task count"};
 cvar_t taskqueue_tasksperthread = {CVAR_CLIENT | CVAR_SERVER | CVAR_SAVE, "taskqueue_tasksperthread", "4000", "expected amount of work that a single thread can do in a frame - the number of threads being used depends on the average workload in recent frames"};
 
@@ -114,7 +114,7 @@ void TaskQueue_Enqueue(int numtasks, taskqueue_task_t *tasks)
                unsigned int newsize = (taskqueue_state.queue_size + numtasks) * 2;
                if (newsize < 1024)
                        newsize = 1024;
-               taskqueue_state.queue_data = Mem_Realloc(zonemempool, taskqueue_state.queue_data, sizeof(*taskqueue_state.queue_data) * newsize);
+               taskqueue_state.queue_data = (taskqueue_task_t **)Mem_Realloc(zonemempool, taskqueue_state.queue_data, sizeof(*taskqueue_state.queue_data) * newsize);
                taskqueue_state.queue_size = newsize;
        }
        for (i = 0; i < numtasks; i++)
@@ -138,10 +138,10 @@ void TaskQueue_Yield(taskqueue_task_t *t)
 
 qboolean TaskQueue_IsDone(taskqueue_task_t *t)
 {
-       return !t->done != 0;
+       return !!t->done;
 }
 
-void TaskQueue_DistributeTasks(void)
+static void TaskQueue_DistributeTasks(void)
 {
        Thread_AtomicLock(&taskqueue_state.command_lock);
        if (taskqueue_state.numthreads > 0)
@@ -293,7 +293,7 @@ void TaskQueue_Setup(taskqueue_task_t *t, taskqueue_task_t *preceding, void(*fun
 void TaskQueue_Task_CheckTasksDone(taskqueue_task_t *t)
 {
        size_t numtasks = t->i[0];
-       taskqueue_task_t *tasks = t->p[0];
+       taskqueue_task_t *tasks = (taskqueue_task_t *)t->p[0];
        while (numtasks > 0)
        {
                // check the last task first as it's usually going to be the last to finish, so we do the least work by checking it first