Blender  V3.3
Macros | Typedefs | Functions
BLI_task_test.cc File Reference
#include "testing/testing.h"
#include <atomic>
#include <cstring>
#include "atomic_ops.h"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BLI_listbase.h"
#include "BLI_mempool.h"
#include "BLI_task.h"
#include "BLI_task.hh"

Go to the source code of this file.

Macros

#define ITEMS_NUM   10000
 

Typedefs

using TaskMemPool_Chunk = struct TaskMemPool_Chunk { ListBase *accumulate_items
 

Functions

static void task_range_iter_func (void *userdata, int index, const TaskParallelTLS *__restrict tls)
 
static void task_range_iter_reduce_func (const void *__restrict UNUSED(userdata), void *__restrict join_v, void *__restrict userdata_chunk)
 
 TEST (task, RangeIter)
 
static void task_mempool_iter_func (void *userdata, MempoolIterData *item, const TaskParallelTLS *__restrict UNUSED(tls))
 
 TEST (task, MempoolIter)
 
static void task_mempool_iter_tls_func (void *UNUSED(userdata), MempoolIterData *item, const TaskParallelTLS *__restrict tls)
 
static void task_mempool_iter_tls_reduce (const void *__restrict UNUSED(userdata), void *__restrict chunk_join, void *__restrict chunk)
 
static void task_mempool_iter_tls_free (const void *UNUSED(userdata), void *__restrict userdata_chunk)
 
 TEST (task, MempoolIterTLS)
 
static void task_listbase_iter_func (void *userdata, void *item, int index, const TaskParallelTLS *__restrict UNUSED(tls))
 
 TEST (task, ListBaseIter)
 
 TEST (task, ParallelInvoke)
 

Macro Definition Documentation

◆ ITEMS_NUM

#define ITEMS_NUM   10000

Definition at line 18 of file BLI_task_test.cc.

Typedef Documentation

◆ TaskMemPool_Chunk

using TaskMemPool_Chunk = struct TaskMemPool_Chunk { ListBase *accumulate_items

Definition at line 146 of file BLI_task_test.cc.

Function Documentation

◆ task_listbase_iter_func()

static void task_listbase_iter_func ( void userdata,
void item,
int  index,
const TaskParallelTLS *__restrict   UNUSEDtls 
)
static

Definition at line 240 of file BLI_task_test.cc.

References atomic_sub_and_fetch_uint32(), count, data, POINTER_AS_INT, and POINTER_FROM_INT.

Referenced by TEST().

◆ task_mempool_iter_func()

static void task_mempool_iter_func ( void userdata,
MempoolIterData item,
const TaskParallelTLS *__restrict   UNUSEDtls 
)
static

Definition at line 72 of file BLI_task_test.cc.

References atomic_sub_and_fetch_uint32(), count, and data.

Referenced by TEST().

◆ task_mempool_iter_tls_free()

static void task_mempool_iter_tls_free ( const void UNUSEDuserdata,
void *__restrict  userdata_chunk 
)
static

Definition at line 183 of file BLI_task_test.cc.

References MEM_freeN.

Referenced by TEST().

◆ task_mempool_iter_tls_func()

static void task_mempool_iter_tls_func ( void UNUSEDuserdata,
MempoolIterData item,
const TaskParallelTLS *__restrict  tls 
)
static

Definition at line 150 of file BLI_task_test.cc.

References BLI_addtail(), BLI_genericNodeN(), and data.

Referenced by TEST().

◆ task_mempool_iter_tls_reduce()

static void task_mempool_iter_tls_reduce ( const void *__restrict   UNUSEDuserdata,
void *__restrict  chunk_join,
void *__restrict  chunk 
)
static

Definition at line 168 of file BLI_task_test.cc.

References BLI_movelisttolist().

Referenced by TEST().

◆ task_range_iter_func()

static void task_range_iter_func ( void userdata,
int  index,
const TaskParallelTLS *__restrict  tls 
)
static

Definition at line 22 of file BLI_task_test.cc.

References data.

Referenced by TEST().

◆ task_range_iter_reduce_func()

static void task_range_iter_reduce_func ( const void *__restrict   UNUSEDuserdata,
void *__restrict  join_v,
void *__restrict  userdata_chunk 
)
static

Definition at line 30 of file BLI_task_test.cc.

Referenced by TEST().

◆ TEST() [1/5]

TEST ( task  ,
ListBaseIter   
)

◆ TEST() [2/5]

TEST ( task  ,
MempoolIter   
)

◆ TEST() [3/5]

TEST ( task  ,
MempoolIterTLS   
)

◆ TEST() [4/5]

TEST ( task  ,
ParallelInvoke   
)

Definition at line 286 of file BLI_task_test.cc.

References counter, EXPECT_EQ(), and blender::threading::parallel_invoke().

◆ TEST() [5/5]

TEST ( task  ,
RangeIter   
)