Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-03-13 09:14:27

0001 /*
0002   Copyright @ 2000 ImageMagick Studio LLC, a non-profit organization
0003   dedicated to making software imaging solutions freely available.
0004   
0005   You may not use this file except in compliance with the License.  You may
0006   obtain a copy of the License at
0007   
0008     https://imagemagick.org/script/license.php
0009   
0010   Unless required by applicable law or agreed to in writing, software
0011   distributed under the License is distributed on an "AS IS" BASIS,
0012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013   See the License for the specific language governing permissions and
0014   limitations under the License.
0015 
0016   MagickCore OpenCL public methods.
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