kernel.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef kernel_h
  2. #define kernel_h
  3. #define CL_USE_DEPRECATED_OPENCL_1_1_APIS
  4. #include "CL/cl.h"
  5. #include "CL/cl_gl.h"
  6. #include "corange.h"
  7. typedef cl_program kernel_program;
  8. typedef cl_kernel kernel;
  9. typedef cl_mem kernel_memory;
  10. void kernels_init();
  11. void kernels_init_with_cpu();
  12. void kernels_init_with_opengl();
  13. void kernels_finish();
  14. void kernels_info();
  15. void kernels_check_error(const char* name);
  16. kernel_program* cl_load_file(char* filename);
  17. void kernel_program_delete(kernel_program* k);
  18. kernel kernel_program_get_kernel(kernel_program* kp, char* kernel_name);
  19. void kernel_set_argument(kernel k, int arg_num, int arg_type_size, void* value);
  20. void kernel_run(kernel k, int worker_count);
  21. void kernel_delete(kernel k);
  22. kernel_memory kernel_memory_allocate(int size);
  23. kernel_memory kernel_memory_from_glbuffer(int buff_obj);
  24. kernel_memory kernel_memory_from_gltexture2D(int tex_obj);
  25. kernel_memory kernel_memory_from_gltexture3D(int tex_obj);
  26. void kernel_memory_gl_aquire(kernel_memory km);
  27. void kernel_memory_gl_release(kernel_memory km);
  28. void kernel_memory_copy_to_texture(kernel_memory km, kernel_memory tex, int width, int height, int depth);
  29. void kernel_memory_delete(kernel_memory km);
  30. void kernel_memory_write(kernel_memory km, int size, void* src);
  31. void kernel_memory_read(kernel_memory km, int size, void* dst);
  32. void kernel_run_flush();
  33. void kernel_run_finish();
  34. #endif