Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
opencl.h File Reference
#include "common/darktable.h"
#include "control/conf.h"
#include <stdlib.h>
+ Include dependency graph for opencl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_opencl_t
 

Macros

#define DT_OPENCL_MAX_PLATFORMS   5
 
#define DT_OPENCL_MAX_PROGRAMS   256
 
#define DT_OPENCL_MAX_KERNELS   512
 
#define DT_OPENCL_EVENTLISTSIZE   256
 
#define DT_OPENCL_EVENTNAMELENGTH   64
 
#define DT_OPENCL_MAX_ERRORS   5
 
#define DT_OPENCL_MAX_INCLUDES   7
 
#define DT_OPENCL_VENDOR_AMD   4098
 
#define DT_OPENCL_VENDOR_NVIDIA   4318
 
#define DT_OPENCL_VENDOR_INTEL   0x8086u
 
#define DT_OPENCL_CBUFFSIZE   1024
 
#define DT_OPENCL_DEFAULT_ERROR   -999
 
#define DT_OPENCL_SYSMEM_ALLOCATION   -998
 

Typedefs

typedef struct dt_opencl_t dt_opencl_t
 

Functions

static void dt_opencl_init (dt_opencl_t *cl, const gboolean exclude_opencl, const gboolean print_statistics)
 
static void dt_opencl_cleanup (dt_opencl_t *cl)
 
static gboolean dt_opencl_finish (const int devid)
 
static int dt_opencl_enqueue_barrier (const int devid)
 
static int dt_opencl_lock_device (const int dev)
 
static void dt_opencl_unlock_device (const int dev)
 
static int dt_opencl_load_program (const int dev, const char *filename)
 
static int dt_opencl_build_program (const int dev, const int program)
 
static int dt_opencl_create_kernel (const int program, const char *name)
 
static void dt_opencl_free_kernel (const int kernel)
 
static int dt_opencl_get_max_work_item_sizes (const int dev, size_t *sizes)
 
static int dt_opencl_get_work_group_limits (const int dev, size_t *sizes, size_t *workgroupsize, unsigned long *localmemsize)
 
static int dt_opencl_get_kernel_work_group_size (const int dev, const int kernel, size_t *kernelworkgroupsize)
 
static int dt_opencl_set_kernel_arg (const int dev, const int kernel, const size_t size, const void *arg)
 
static int dt_opencl_enqueue_kernel_2d (const int dev, const int kernel, const size_t *sizes)
 
static int dt_opencl_enqueue_kernel_2d_with_local (const int dev, const int kernel, const size_t *sizes, const size_t *local)
 
static int dt_opencl_is_inited (void)
 
static int dt_opencl_is_enabled (void)
 
static void dt_opencl_disable (void)
 
static int dt_opencl_update_settings (void)
 
static gboolean dt_opencl_image_fits_device (const int devid, const size_t width, const size_t height, const unsigned bpp, const float factor, const size_t overhead)
 
static size_t dt_opencl_get_device_available (const int devid)
 
static void dt_opencl_check_tuning (const int devid)
 
static size_t dt_opencl_get_device_memalloc (const int devid)
 
static void dt_opencl_release_mem_object (void *mem)
 
static voiddt_opencl_events_get_slot (const int devid, const char *tag)
 
static void dt_opencl_events_reset (const int devid)
 
static void dt_opencl_events_wait_for (const int devid)
 
static int dt_opencl_events_flush (const int devid, const int reset)
 
static void dt_opencl_events_profiling (const int devid, const int aggregated)
 

Macro Definition Documentation

◆ DT_OPENCL_CBUFFSIZE

#define DT_OPENCL_CBUFFSIZE   1024

◆ DT_OPENCL_DEFAULT_ERROR

#define DT_OPENCL_DEFAULT_ERROR   -999

◆ DT_OPENCL_EVENTLISTSIZE

#define DT_OPENCL_EVENTLISTSIZE   256

◆ DT_OPENCL_EVENTNAMELENGTH

#define DT_OPENCL_EVENTNAMELENGTH   64

◆ DT_OPENCL_MAX_ERRORS

#define DT_OPENCL_MAX_ERRORS   5

◆ DT_OPENCL_MAX_INCLUDES

#define DT_OPENCL_MAX_INCLUDES   7

◆ DT_OPENCL_MAX_KERNELS

#define DT_OPENCL_MAX_KERNELS   512

◆ DT_OPENCL_MAX_PLATFORMS

#define DT_OPENCL_MAX_PLATFORMS   5

◆ DT_OPENCL_MAX_PROGRAMS

#define DT_OPENCL_MAX_PROGRAMS   256

◆ DT_OPENCL_SYSMEM_ALLOCATION

#define DT_OPENCL_SYSMEM_ALLOCATION   -998

◆ DT_OPENCL_VENDOR_AMD

#define DT_OPENCL_VENDOR_AMD   4098

◆ DT_OPENCL_VENDOR_INTEL

#define DT_OPENCL_VENDOR_INTEL   0x8086u

◆ DT_OPENCL_VENDOR_NVIDIA

#define DT_OPENCL_VENDOR_NVIDIA   4318

Typedef Documentation

◆ dt_opencl_t

typedef struct dt_opencl_t dt_opencl_t

Function Documentation

◆ dt_opencl_build_program()

static int dt_opencl_build_program ( const int  dev,
const int  program 
)
inlinestatic

◆ dt_opencl_check_tuning()

static void dt_opencl_check_tuning ( const int  devid)
inlinestatic

◆ dt_opencl_cleanup()

static void dt_opencl_cleanup ( dt_opencl_t cl)
inlinestatic

Referenced by dt_cleanup().

◆ dt_opencl_create_kernel()

static int dt_opencl_create_kernel ( const int  program,
const char *  name 
)
inlinestatic

◆ dt_opencl_disable()

static void dt_opencl_disable ( void  )
inlinestatic

◆ dt_opencl_enqueue_barrier()

static int dt_opencl_enqueue_barrier ( const int  devid)
inlinestatic

◆ dt_opencl_enqueue_kernel_2d()

static int dt_opencl_enqueue_kernel_2d ( const int  dev,
const int  kernel,
const size_t *  sizes 
)
inlinestatic

◆ dt_opencl_enqueue_kernel_2d_with_local()

static int dt_opencl_enqueue_kernel_2d_with_local ( const int  dev,
const int  kernel,
const size_t *  sizes,
const size_t *  local 
)
inlinestatic

◆ dt_opencl_events_flush()

static int dt_opencl_events_flush ( const int  devid,
const int  reset 
)
inlinestatic

◆ dt_opencl_events_get_slot()

static void * dt_opencl_events_get_slot ( const int  devid,
const char *  tag 
)
inlinestatic

◆ dt_opencl_events_profiling()

static void dt_opencl_events_profiling ( const int  devid,
const int  aggregated 
)
inlinestatic

◆ dt_opencl_events_reset()

static void dt_opencl_events_reset ( const int  devid)
inlinestatic

◆ dt_opencl_events_wait_for()

static void dt_opencl_events_wait_for ( const int  devid)
inlinestatic

◆ dt_opencl_finish()

static gboolean dt_opencl_finish ( const int  devid)
inlinestatic

◆ dt_opencl_free_kernel()

static void dt_opencl_free_kernel ( const int  kernel)
inlinestatic

◆ dt_opencl_get_device_available()

static size_t dt_opencl_get_device_available ( const int  devid)
inlinestatic

◆ dt_opencl_get_device_memalloc()

static size_t dt_opencl_get_device_memalloc ( const int  devid)
inlinestatic

◆ dt_opencl_get_kernel_work_group_size()

static int dt_opencl_get_kernel_work_group_size ( const int  dev,
const int  kernel,
size_t *  kernelworkgroupsize 
)
inlinestatic

◆ dt_opencl_get_max_work_item_sizes()

static int dt_opencl_get_max_work_item_sizes ( const int  dev,
size_t *  sizes 
)
inlinestatic

◆ dt_opencl_get_work_group_limits()

static int dt_opencl_get_work_group_limits ( const int  dev,
size_t *  sizes,
size_t *  workgroupsize,
unsigned long *  localmemsize 
)
inlinestatic

◆ dt_opencl_image_fits_device()

static gboolean dt_opencl_image_fits_device ( const int  devid,
const size_t  width,
const size_t  height,
const unsigned  bpp,
const float  factor,
const size_t  overhead 
)
inlinestatic

References FALSE.

◆ dt_opencl_init()

static void dt_opencl_init ( dt_opencl_t cl,
const gboolean  exclude_opencl,
const gboolean  print_statistics 
)
inlinestatic

◆ dt_opencl_is_enabled()

static int dt_opencl_is_enabled ( void  )
inlinestatic

Referenced by _get_base_value().

◆ dt_opencl_is_inited()

static int dt_opencl_is_inited ( void  )
inlinestatic

◆ dt_opencl_load_program()

static int dt_opencl_load_program ( const int  dev,
const char *  filename 
)
inlinestatic

◆ dt_opencl_lock_device()

static int dt_opencl_lock_device ( const int  dev)
inlinestatic

◆ dt_opencl_release_mem_object()

static void dt_opencl_release_mem_object ( void mem)
inlinestatic

◆ dt_opencl_set_kernel_arg()

static int dt_opencl_set_kernel_arg ( const int  dev,
const int  kernel,
const size_t  size,
const void arg 
)
inlinestatic

◆ dt_opencl_unlock_device()

static void dt_opencl_unlock_device ( const int  dev)
inlinestatic

◆ dt_opencl_update_settings()

static int dt_opencl_update_settings ( void  )
inlinestatic