ocl.h 824 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __OCL_H__
  2. #define __OCL_H__
  3. #include "config.h"
  4. #include <stdbool.h>
  5. #ifdef HAVE_OPENCL
  6. #ifdef __APPLE_CC__
  7. #include <OpenCL/opencl.h>
  8. #else
  9. #include <CL/cl.h>
  10. #endif
  11. #include "miner.h"
  12. typedef struct {
  13. cl_context context;
  14. cl_kernel kernel;
  15. cl_command_queue commandQueue;
  16. cl_program program;
  17. cl_mem outputBuffer;
  18. #ifdef USE_SCRYPT
  19. cl_mem CLbuffer0;
  20. cl_mem padbuffer8;
  21. size_t padbufsize;
  22. void * cldata;
  23. #endif
  24. bool hasBitAlign;
  25. bool hasOpenCL11plus;
  26. bool hasOpenCL12plus;
  27. bool goffset;
  28. cl_uint vwidth;
  29. size_t max_work_size;
  30. size_t wsize;
  31. enum cl_kernels chosen_kernel;
  32. } _clState;
  33. extern char *file_contents(const char *filename, int *length);
  34. extern int clDevicesNum(void);
  35. extern _clState *initCl(unsigned int gpu, char *name, size_t nameSize);
  36. #endif /* HAVE_OPENCL */
  37. #endif /* __OCL_H__ */