Blender V4.3
COM_WorkScheduler.cc File Reference
#include "COM_WorkScheduler.h"
#include "COM_CPUDevice.h"
#include "MEM_guardedalloc.h"
#include "BLI_task.h"
#include "BLI_threads.h"
#include "BLI_vector.hh"
#include "BKE_global.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::compositor

Enumerations

enum class  blender::compositor::ThreadingModel { blender::compositor::SingleThreaded , blender::compositor::Queue , blender::compositor::Task }

Functions

constexpr ThreadingModel blender::compositor::COM_threading_model ()
static blender::compositor::ThreadLocal (CPUDevice *) g_thread_device
Single threaded Scheduling
static void blender::compositor::threading_model_single_thread_execute (WorkPackage *package)
Queue Scheduling
static void * blender::compositor::threading_model_queue_execute (void *data)
static void blender::compositor::threading_model_queue_schedule (WorkPackage *package)
static void blender::compositor::threading_model_queue_start ()
static void blender::compositor::threading_model_queue_finish ()
static void blender::compositor::threading_model_queue_stop ()
static void blender::compositor::threading_model_queue_initialize (const int num_cpu_threads)
static void blender::compositor::threading_model_queue_deinitialize ()
Task Scheduling
static void blender::compositor::threading_model_task_execute (TaskPool *__restrict, void *task_data)
static void blender::compositor::threading_model_task_schedule (WorkPackage *package)
static void blender::compositor::threading_model_task_start ()
static void blender::compositor::threading_model_task_finish ()
static void blender::compositor::threading_model_task_stop ()

Variables

struct { 
   struct { 
      Vector< CPUDevice >   blender::compositor::devices 
 list of all CPUDevices. for every hardware thread an instance of CPUDevice is created More...
      ListBase   blender::compositor::threads 
 list of all thread for every CPUDevice in cpudevices a thread exists. More...
      bool   blender::compositor::initialized = false 
      ThreadQueue *   blender::compositor::queue 
 all scheduled work for the cpu More...
   }   blender::compositor::queue
   struct { 
      TaskPool *   blender::compositor::pool 
   }   blender::compositor::task
   int   blender::compositor::num_cpu_threads 
blender::compositor::g_work_scheduler