00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_OPENCL_H
00019 #define MAGICKCORE_OPENCL_H
00020
00021
00022 #if defined(__cplusplus) || defined(c_plusplus)
00023 extern "C" {
00024 #endif
00025
00026
00027 typedef enum {
00028 MAGICK_OPENCL_ACCELERATE = 0,
00029 MAGICK_OPENCL_NUM_PROGRAMS
00030 } MagickOpenCLProgram;
00031
00032 typedef enum {
00033 MAGICK_OPENCL_OFF = 0
00034 , MAGICK_OPENCL_DEVICE_SELECT_AUTO = 1
00035 , MAGICK_OPENCL_DEVICE_SELECT_USER = 2
00036 , MAGICK_OPENCL_DEVICE_SELECT_AUTO_CLEAR_CACHE = 3
00037 } ImageMagickOpenCLMode;
00038
00039
00040 typedef enum {
00041 MAGICK_OPENCL_ENV_PARAM_DEVICE
00042 , MAGICK_OPENCL_ENV_PARAM_OPENCL_DISABLED
00043 , MAGICK_OPENCL_ENV_PARAM_OPENCL_INITIALIZED
00044 , MAGICK_OPENCL_ENV_PARAM_PROGRAM_CACHE_DISABLED
00045
00046 , MAGICK_OPENCL_ENV_PARAM_REGENERATE_PROFILE
00047
00048 , MAGICK_OPENCL_ENV_PARAM_PLATFORM_VENDOR
00049 , MAGICK_OPENCL_ENV_PARAM_DEVICE_NAME
00050 } MagickOpenCLEnvParam;
00051
00052 typedef struct _MagickCLEnv* MagickCLEnv;
00053
00054 extern MagickExport MagickBooleanType
00055 GetMagickOpenCLEnvParam(MagickCLEnv,MagickOpenCLEnvParam,size_t,void*,
00056 ExceptionInfo*),
00057 InitImageMagickOpenCL(ImageMagickOpenCLMode,void*,void*,ExceptionInfo*),
00058 InitOpenCLEnv(MagickCLEnv,ExceptionInfo*),
00059 SetMagickOpenCLEnvParam(MagickCLEnv,MagickOpenCLEnvParam,size_t,void*,
00060 ExceptionInfo*);
00061
00062 extern MagickExport MagickCLEnv
00063 GetDefaultOpenCLEnv();
00064
00065 #if defined(__cplusplus) || defined(c_plusplus)
00066 }
00067 #endif
00068
00069 #endif