#ifndef _MAGICKCORE_OPENCL_H
#define _MAGICKCORE_OPENCL_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
typedef enum {
MAGICK_OPENCL_ACCELERATE = 0,
MAGICK_OPENCL_NUM_PROGRAMS
} MagickOpenCLProgram;
typedef enum {
MAGICK_OPENCL_OFF = 0
, MAGICK_OPENCL_DEVICE_SELECT_AUTO = 1
, MAGICK_OPENCL_DEVICE_SELECT_USER = 2
, MAGICK_OPENCL_DEVICE_SELECT_AUTO_CLEAR_CACHE = 3
} ImageMagickOpenCLMode;
typedef enum {
MAGICK_OPENCL_ENV_PARAM_DEVICE
, MAGICK_OPENCL_ENV_PARAM_OPENCL_DISABLED
, MAGICK_OPENCL_ENV_PARAM_OPENCL_INITIALIZED
, MAGICK_OPENCL_ENV_PARAM_PROGRAM_CACHE_DISABLED
, MAGICK_OPENCL_ENV_PARAM_REGENERATE_PROFILE
} MagickOpenCLEnvParam;
typedef struct _MagickCLEnv* MagickCLEnv;
extern MagickExport MagickBooleanType
GetMagickOpenCLEnvParam(MagickCLEnv,MagickOpenCLEnvParam,size_t,void*,
ExceptionInfo*),
InitImageMagickOpenCL(ImageMagickOpenCLMode,void*,void*,ExceptionInfo*),
InitOpenCLEnv(MagickCLEnv,ExceptionInfo*),
RelinquishMagickOpenCLEnv(MagickCLEnv),
SetMagickOpenCLEnvParam(MagickCLEnv,MagickOpenCLEnvParam,size_t,void*,
ExceptionInfo*);
extern MagickExport MagickCLEnv
AcquireMagickOpenCLEnv(),
GetDefaultOpenCLEnv(),
SetDefaultOpenCLEnv(MagickCLEnv);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif