File indexing completed on 2025-03-13 09:14:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef MAGICKCORE_OPENCL_H
0019 #define MAGICKCORE_OPENCL_H
0020
0021 #if defined(__cplusplus) || defined(c_plusplus)
0022 extern "C" {
0023 #endif
0024
0025 typedef enum
0026 {
0027 UndefinedCLDeviceType,
0028 CpuCLDeviceType,
0029 GpuCLDeviceType
0030 } MagickCLDeviceType;
0031
0032 typedef struct _KernelProfileRecord
0033 {
0034 char
0035 *kernel_name;
0036
0037 unsigned long
0038 count,
0039 max,
0040 min,
0041 total;
0042 }* KernelProfileRecord;
0043
0044 typedef struct _MagickCLDevice* MagickCLDevice;
0045
0046 extern MagickExport const char
0047 *GetOpenCLDeviceName(const MagickCLDevice),
0048 *GetOpenCLDeviceVendorName(const MagickCLDevice),
0049 *GetOpenCLDeviceVersion(const MagickCLDevice);
0050
0051 extern MagickExport const KernelProfileRecord
0052 *GetOpenCLKernelProfileRecords(const MagickCLDevice,size_t *);
0053
0054 extern MagickExport double
0055 GetOpenCLDeviceBenchmarkScore(const MagickCLDevice);
0056
0057 extern MagickExport MagickCLDevice
0058 *GetOpenCLDevices(size_t *,ExceptionInfo *);
0059
0060 extern MagickExport MagickCLDeviceType
0061 GetOpenCLDeviceType(const MagickCLDevice);
0062
0063 extern MagickExport MagickBooleanType
0064 GetOpenCLDeviceEnabled(const MagickCLDevice),
0065 GetOpenCLEnabled(void),
0066 SetOpenCLEnabled(const MagickBooleanType);
0067
0068 extern MagickExport void
0069 SetOpenCLDeviceEnabled(MagickCLDevice,
0070 const MagickBooleanType),
0071 SetOpenCLKernelProfileEnabled(MagickCLDevice,
0072 const MagickBooleanType);
0073
0074 #if defined(__cplusplus) || defined(c_plusplus)
0075 }
0076 #endif
0077
0078 #endif