152 #if defined(USE_DX_INTEROP) 153 #include <CL/cl_d3d10.h> 154 #include <CL/cl_dx9_media_sharing.h> 158 #if defined(_MSC_VER) 163 #if defined(USE_CL_DEVICE_FISSION) 164 #include <CL/cl_ext.h> 167 #if defined(__APPLE__) || defined(__MACOSX) 168 #include <OpenCL/opencl.h> 170 #include <CL/opencl.h> 173 #if (_MSC_VER >= 1700) || (__cplusplus >= 201103L) 174 #define CL_HPP_RVALUE_REFERENCES_SUPPORTED 175 #define CL_HPP_CPP11_ATOMICS_SUPPORTED 179 #if (__cplusplus >= 201103L) 180 #define CL_HPP_NOEXCEPT noexcept 182 #define CL_HPP_NOEXCEPT 189 #if defined(CL_VERSION_1_2) && !defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 190 #define __CL_EXPLICIT_CONSTRUCTORS explicit 191 #else // #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 192 #define __CL_EXPLICIT_CONSTRUCTORS 193 #endif // #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 197 #if !defined(CL_EXT_PREFIX__VERSION_1_1_DEPRECATED) 198 #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED 199 #endif // #if !defined(CL_EXT_PREFIX__VERSION_1_1_DEPRECATED) 200 #if !defined(CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED) 201 #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED 202 #endif // #if !defined(CL_EXT_PREFIX__VERSION_1_1_DEPRECATED) 204 #if !defined(CL_CALLBACK) 212 #if defined(__CL_ENABLE_EXCEPTIONS) 214 #endif // #if defined(__CL_ENABLE_EXCEPTIONS) 216 #if !defined(__NO_STD_VECTOR) 220 #if !defined(__NO_STD_STRING) 224 #if defined(__ANDROID__) || defined(linux) || defined(__APPLE__) || defined(__MACOSX) 243 #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) || (defined(CL_VERSION_1_1) && !defined(CL_VERSION_1_2)) 244 #define __INIT_CL_EXT_FCN_PTR(name) \ 246 pfn_##name = (PFN_##name) \ 247 clGetExtensionFunctionAddress(#name); \ 251 #endif // #if defined(CL_VERSION_1_1) 253 #if defined(CL_VERSION_1_2) 254 #define __INIT_CL_EXT_FCN_PTR_PLATFORM(platform, name) \ 256 pfn_##name = (PFN_##name) \ 257 clGetExtensionFunctionAddressForPlatform(platform, #name); \ 261 #endif // #if defined(CL_VERSION_1_1) 270 #if defined(__CL_ENABLE_EXCEPTIONS) 275 class Error :
public std::exception
279 const char * errStr_;
290 Error(cl_int err,
const char * errStr = NULL) : err_(err), errStr_(errStr)
299 virtual const char * what()
const throw ()
301 if (errStr_ == NULL) {
313 cl_int err(
void)
const {
return err_; }
316 #define __ERR_STR(x) #x 318 #define __ERR_STR(x) NULL 319 #endif // __CL_ENABLE_EXCEPTIONS 324 #if defined(__CL_ENABLE_EXCEPTIONS) 327 const char * errStr = NULL)
329 if (err != CL_SUCCESS) {
330 throw Error(err, errStr);
335 static inline cl_int
errHandler (cl_int err,
const char * errStr = NULL)
340 #endif // __CL_ENABLE_EXCEPTIONS 346 #if !defined(__CL_USER_OVERRIDE_ERROR_STRINGS) 347 #define __GET_DEVICE_INFO_ERR __ERR_STR(clGetDeviceInfo) 348 #define __GET_PLATFORM_INFO_ERR __ERR_STR(clGetPlatformInfo) 349 #define __GET_DEVICE_IDS_ERR __ERR_STR(clGetDeviceIDs) 350 #define __GET_PLATFORM_IDS_ERR __ERR_STR(clGetPlatformIDs) 351 #define __GET_CONTEXT_INFO_ERR __ERR_STR(clGetContextInfo) 352 #define __GET_EVENT_INFO_ERR __ERR_STR(clGetEventInfo) 353 #define __GET_EVENT_PROFILE_INFO_ERR __ERR_STR(clGetEventProfileInfo) 354 #define __GET_MEM_OBJECT_INFO_ERR __ERR_STR(clGetMemObjectInfo) 355 #define __GET_IMAGE_INFO_ERR __ERR_STR(clGetImageInfo) 356 #define __GET_SAMPLER_INFO_ERR __ERR_STR(clGetSamplerInfo) 357 #define __GET_KERNEL_INFO_ERR __ERR_STR(clGetKernelInfo) 358 #if defined(CL_VERSION_1_2) 359 #define __GET_KERNEL_ARG_INFO_ERR __ERR_STR(clGetKernelArgInfo) 360 #endif // #if defined(CL_VERSION_1_2) 361 #define __GET_KERNEL_WORK_GROUP_INFO_ERR __ERR_STR(clGetKernelWorkGroupInfo) 362 #define __GET_PROGRAM_INFO_ERR __ERR_STR(clGetProgramInfo) 363 #define __GET_PROGRAM_BUILD_INFO_ERR __ERR_STR(clGetProgramBuildInfo) 364 #define __GET_COMMAND_QUEUE_INFO_ERR __ERR_STR(clGetCommandQueueInfo) 366 #define __CREATE_CONTEXT_ERR __ERR_STR(clCreateContext) 367 #define __CREATE_CONTEXT_FROM_TYPE_ERR __ERR_STR(clCreateContextFromType) 368 #define __GET_SUPPORTED_IMAGE_FORMATS_ERR __ERR_STR(clGetSupportedImageFormats) 370 #define __CREATE_BUFFER_ERR __ERR_STR(clCreateBuffer) 371 #define __COPY_ERR __ERR_STR(cl::copy) 372 #define __CREATE_SUBBUFFER_ERR __ERR_STR(clCreateSubBuffer) 373 #define __CREATE_GL_BUFFER_ERR __ERR_STR(clCreateFromGLBuffer) 374 #define __CREATE_GL_RENDER_BUFFER_ERR __ERR_STR(clCreateFromGLBuffer) 375 #define __GET_GL_OBJECT_INFO_ERR __ERR_STR(clGetGLObjectInfo) 376 #if defined(CL_VERSION_1_2) 377 #define __CREATE_IMAGE_ERR __ERR_STR(clCreateImage) 378 #define __CREATE_GL_TEXTURE_ERR __ERR_STR(clCreateFromGLTexture) 379 #define __IMAGE_DIMENSION_ERR __ERR_STR(Incorrect image dimensions) 380 #endif // #if defined(CL_VERSION_1_2) 381 #define __CREATE_SAMPLER_ERR __ERR_STR(clCreateSampler) 382 #define __SET_MEM_OBJECT_DESTRUCTOR_CALLBACK_ERR __ERR_STR(clSetMemObjectDestructorCallback) 384 #define __CREATE_USER_EVENT_ERR __ERR_STR(clCreateUserEvent) 385 #define __SET_USER_EVENT_STATUS_ERR __ERR_STR(clSetUserEventStatus) 386 #define __SET_EVENT_CALLBACK_ERR __ERR_STR(clSetEventCallback) 387 #define __WAIT_FOR_EVENTS_ERR __ERR_STR(clWaitForEvents) 389 #define __CREATE_KERNEL_ERR __ERR_STR(clCreateKernel) 390 #define __SET_KERNEL_ARGS_ERR __ERR_STR(clSetKernelArg) 391 #define __CREATE_PROGRAM_WITH_SOURCE_ERR __ERR_STR(clCreateProgramWithSource) 392 #define __CREATE_PROGRAM_WITH_BINARY_ERR __ERR_STR(clCreateProgramWithBinary) 393 #if defined(CL_VERSION_1_2) 394 #define __CREATE_PROGRAM_WITH_BUILT_IN_KERNELS_ERR __ERR_STR(clCreateProgramWithBuiltInKernels) 395 #endif // #if defined(CL_VERSION_1_2) 396 #define __BUILD_PROGRAM_ERR __ERR_STR(clBuildProgram) 397 #if defined(CL_VERSION_1_2) 398 #define __COMPILE_PROGRAM_ERR __ERR_STR(clCompileProgram) 399 #define __LINK_PROGRAM_ERR __ERR_STR(clLinkProgram) 400 #endif // #if defined(CL_VERSION_1_2) 401 #define __CREATE_KERNELS_IN_PROGRAM_ERR __ERR_STR(clCreateKernelsInProgram) 403 #define __CREATE_COMMAND_QUEUE_ERR __ERR_STR(clCreateCommandQueue) 404 #define __SET_COMMAND_QUEUE_PROPERTY_ERR __ERR_STR(clSetCommandQueueProperty) 405 #define __ENQUEUE_READ_BUFFER_ERR __ERR_STR(clEnqueueReadBuffer) 406 #define __ENQUEUE_READ_BUFFER_RECT_ERR __ERR_STR(clEnqueueReadBufferRect) 407 #define __ENQUEUE_WRITE_BUFFER_ERR __ERR_STR(clEnqueueWriteBuffer) 408 #define __ENQUEUE_WRITE_BUFFER_RECT_ERR __ERR_STR(clEnqueueWriteBufferRect) 409 #define __ENQEUE_COPY_BUFFER_ERR __ERR_STR(clEnqueueCopyBuffer) 410 #define __ENQEUE_COPY_BUFFER_RECT_ERR __ERR_STR(clEnqueueCopyBufferRect) 411 #define __ENQUEUE_FILL_BUFFER_ERR __ERR_STR(clEnqueueFillBuffer) 412 #define __ENQUEUE_READ_IMAGE_ERR __ERR_STR(clEnqueueReadImage) 413 #define __ENQUEUE_WRITE_IMAGE_ERR __ERR_STR(clEnqueueWriteImage) 414 #define __ENQUEUE_COPY_IMAGE_ERR __ERR_STR(clEnqueueCopyImage) 415 #define __ENQUEUE_FILL_IMAGE_ERR __ERR_STR(clEnqueueFillImage) 416 #define __ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR __ERR_STR(clEnqueueCopyImageToBuffer) 417 #define __ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR __ERR_STR(clEnqueueCopyBufferToImage) 418 #define __ENQUEUE_MAP_BUFFER_ERR __ERR_STR(clEnqueueMapBuffer) 419 #define __ENQUEUE_MAP_IMAGE_ERR __ERR_STR(clEnqueueMapImage) 420 #define __ENQUEUE_UNMAP_MEM_OBJECT_ERR __ERR_STR(clEnqueueUnMapMemObject) 421 #define __ENQUEUE_NDRANGE_KERNEL_ERR __ERR_STR(clEnqueueNDRangeKernel) 422 #define __ENQUEUE_TASK_ERR __ERR_STR(clEnqueueTask) 423 #define __ENQUEUE_NATIVE_KERNEL __ERR_STR(clEnqueueNativeKernel) 424 #if defined(CL_VERSION_1_2) 425 #define __ENQUEUE_MIGRATE_MEM_OBJECTS_ERR __ERR_STR(clEnqueueMigrateMemObjects) 426 #endif // #if defined(CL_VERSION_1_2) 428 #define __ENQUEUE_ACQUIRE_GL_ERR __ERR_STR(clEnqueueAcquireGLObjects) 429 #define __ENQUEUE_RELEASE_GL_ERR __ERR_STR(clEnqueueReleaseGLObjects) 432 #define __RETAIN_ERR __ERR_STR(Retain Object) 433 #define __RELEASE_ERR __ERR_STR(Release Object) 434 #define __FLUSH_ERR __ERR_STR(clFlush) 435 #define __FINISH_ERR __ERR_STR(clFinish) 436 #define __VECTOR_CAPACITY_ERR __ERR_STR(Vector capacity error) 441 #if defined(CL_VERSION_1_2) 442 #define __CREATE_SUB_DEVICES __ERR_STR(clCreateSubDevices) 444 #define __CREATE_SUB_DEVICES __ERR_STR(clCreateSubDevicesEXT) 445 #endif // #if defined(CL_VERSION_1_2) 450 #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) || (defined(CL_VERSION_1_1) && !defined(CL_VERSION_1_2)) 451 #define __ENQUEUE_MARKER_ERR __ERR_STR(clEnqueueMarker) 452 #define __ENQUEUE_WAIT_FOR_EVENTS_ERR __ERR_STR(clEnqueueWaitForEvents) 453 #define __ENQUEUE_BARRIER_ERR __ERR_STR(clEnqueueBarrier) 454 #define __UNLOAD_COMPILER_ERR __ERR_STR(clUnloadCompiler) 455 #define __CREATE_GL_TEXTURE_2D_ERR __ERR_STR(clCreateFromGLTexture2D) 456 #define __CREATE_GL_TEXTURE_3D_ERR __ERR_STR(clCreateFromGLTexture3D) 457 #define __CREATE_IMAGE2D_ERR __ERR_STR(clCreateImage2D) 458 #define __CREATE_IMAGE3D_ERR __ERR_STR(clCreateImage3D) 459 #endif // #if defined(CL_VERSION_1_1) 461 #endif // __CL_USER_OVERRIDE_ERROR_STRINGS 467 #if defined(CL_VERSION_1_2) 468 #define __ENQUEUE_MARKER_WAIT_LIST_ERR __ERR_STR(clEnqueueMarkerWithWaitList) 469 #define __ENQUEUE_BARRIER_WAIT_LIST_ERR __ERR_STR(clEnqueueBarrierWithWaitList) 470 #endif // #if defined(CL_VERSION_1_2) 472 #if !defined(__USE_DEV_STRING) && !defined(__NO_STD_STRING) 474 #elif !defined(__USE_DEV_STRING) 491 string(
void) : size_(0), str_(NULL)
506 string(
const char * str, ::
size_t size) :
511 str_ =
new char[size_+1];
513 memcpy(str_, str, size_ *
sizeof(
char));
527 string(
const char * str) :
532 size_= ::strlen(str);
535 str_ =
new char[size_ + 1];
537 memcpy(str_, str, (size_ + 1) *
sizeof(
char));
542 void resize( ::
size_t n )
555 char *newString =
new char[n + 1];
563 memcpy(newString, str_, (copySize + 1) *
sizeof(
char));
565 if( copySize < size_ ) {
566 memset(newString + copySize, 0, size_ - copySize);
568 newString[size_] =
'\0';
575 const char& operator[] ( ::
size_t pos )
const 580 char& operator[] ( ::
size_t pos )
591 string& operator=(
const string& rhs)
603 if (rhs.size_ == 0 || rhs.str_ == NULL) {
608 str_ =
new char[rhs.size_ + 1];
612 memcpy(str_, rhs.str_, (size_ + 1) *
sizeof(
char));
626 string(
const string& rhs) :
641 ::size_t size(
void)
const {
return size_; }
644 ::size_t length(
void)
const {
return size(); }
649 const char * c_str(
void)
const {
return (str_) ? str_ :
"";}
652 #endif // #elif !defined(__USE_DEV_STRING) 654 #if !defined(__USE_DEV_VECTOR) && !defined(__NO_STD_VECTOR) 655 #define VECTOR_CLASS std::vector 656 #elif !defined(__USE_DEV_VECTOR) 657 #define VECTOR_CLASS cl::vector 659 #if !defined(__MAX_DEFAULT_VECTOR_SIZE) 660 #define __MAX_DEFAULT_VECTOR_SIZE 10 685 template <
typename T,
unsigned int N = __MAX_DEFAULT_VECTOR_SIZE>
695 size_(static_cast<unsigned int>(0))
705 unsigned int size(
void)
const 726 void push_back (
const T& x)
729 new (&data_[size_]) T(x);
754 vector(
const vector<T, N>& vec) :
758 assign(vec.begin(), vec.end());
768 vector(
unsigned int size,
const T& val = T()) :
771 for (
unsigned int i = 0; i < size; i++) {
783 vector<T, N>& operator=(
const vector<T, N>& rhs)
789 if (rhs.size_ != 0) {
790 assign(rhs.begin(), rhs.end());
802 bool operator==(vector<T,N> &vec)
804 if (size() != vec.size()) {
808 for(
unsigned int i = 0; i < size(); ++i ) {
809 if(
operator[](i) != vec[i] ) {
817 operator T* () {
return data_; }
820 operator const T* ()
const {
return data_; }
823 bool empty (
void)
const 829 unsigned int max_size (
void)
const 835 unsigned int capacity ()
const 841 void resize(
unsigned int newSize, T fill = T())
849 while (size_ < newSize)
851 new (&data_[size_]) T(fill);
854 while (size_ > newSize)
868 T& operator[](
int index)
880 const T& operator[](
int index)
const 894 void assign(I
start, I end)
897 while(start != end) {
909 const vector<T,N> *vec_;
917 iterator (
const vector<T,N> &vec,
int index) :
934 iterator(
const iterator& rhs) :
942 static iterator begin(
const cl::vector<T,N> &vec)
949 static iterator end(
const cl::vector<T,N> &vec)
951 iterator i(vec, vec.size());
956 bool operator==(iterator i)
958 return ((vec_ == i.vec_) &&
959 (index_ == i.index_));
962 bool operator!=(iterator i)
964 return (!(*
this==i));
967 iterator& operator++()
973 iterator operator++(
int)
975 iterator retVal(*
this);
980 iterator& operator--()
986 iterator operator--(
int)
988 iterator retVal(*
this);
993 const T& operator *()
const 995 return (*vec_)[index_];
1001 return iterator::begin(*
this);
1004 iterator begin(
void)
const 1006 return iterator::begin(*
this);
1011 return iterator::end(*
this);
1014 iterator end(
void)
const 1016 return iterator::end(*
this);
1026 return data_[size_];
1029 const T& front(
void)
const 1034 const T& back(
void)
const 1036 return data_[size_-1];
1039 #endif // #if !defined(__USE_DEV_VECTOR) && !defined(__NO_STD_VECTOR) 1046 #define __DEFAULT_NOT_INITIALIZED 1 1047 #define __DEFAULT_BEING_INITIALIZED 2 1048 #define __DEFAULT_INITIALIZED 4 1054 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 1055 inline int compare_exchange(std::atomic<int> * dest,
int exchange,
int comparand)
1056 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 1058 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 1060 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 1061 std::atomic_compare_exchange_strong(dest, &comparand, exchange);
1064 return (
int)(_InterlockedCompareExchange(
1065 (
volatile long*)dest,
1068 #else // !_MSC_VER && !CL_HPP_CPP11_ATOMICS_SUPPORTED 1069 return (__sync_val_compare_and_swap(
1073 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 1077 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 1078 std::atomic_thread_fence(std::memory_order_seq_cst);
1079 #elif _MSC_VER // !CL_HPP_CPP11_ATOMICS_SUPPORTED 1080 _ReadWriteBarrier();
1081 #else // !_MSC_VER && !CL_HPP_CPP11_ATOMICS_SUPPORTED 1082 __sync_synchronize();
1083 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 1102 for(
int i = 0; i < N; ++i ) {
1109 return data_[index];
1114 return data_[index];
1118 operator ::size_t* () {
return data_; }
1121 operator const ::size_t* ()
const {
return data_; }
1130 template<
typename Functor,
typename T>
1133 return f(name,
sizeof(T), param, NULL);
1137 template <
typename Func,
typename T>
1141 cl_int err = f(name, 0, NULL, &required);
1142 if (err != CL_SUCCESS) {
1146 T* value = (T*) alloca(required);
1147 err = f(name, required, value, NULL);
1148 if (err != CL_SUCCESS) {
1152 param->assign(&value[0], &value[required/
sizeof(T)]);
1162 template <
typename Func,
typename T>
1163 inline cl_int
getInfoHelper(Func f, cl_uint name, VECTOR_CLASS<T>* param,
int,
typename T::cl_type = 0)
1166 cl_int err = f(name, 0, NULL, &required);
1167 if (err != CL_SUCCESS) {
1171 typename T::cl_type * value = (
typename T::cl_type *) alloca(required);
1172 err = f(name, required, value, NULL);
1173 if (err != CL_SUCCESS) {
1177 ::size_t elements = required /
sizeof(
typename T::cl_type);
1178 param->assign(&value[0], &value[elements]);
1179 for (::
size_t i = 0; i < elements; i++)
1181 if (value[i] != NULL)
1183 err = (*param)[i].retain();
1184 if (err != CL_SUCCESS) {
1193 template <
typename Func>
1194 inline cl_int
getInfoHelper(Func f, cl_uint name, VECTOR_CLASS<char *>* param,
int)
1196 cl_int err = f(name, param->size() *
sizeof(
char *), &(*param)[0], NULL);
1198 if (err != CL_SUCCESS) {
1206 template <
typename Func>
1209 #if defined(__NO_STD_VECTOR) || defined(__NO_STD_STRING) 1211 cl_int err = f(name, 0, NULL, &required);
1212 if (err != CL_SUCCESS) {
1216 char* value = (
char*)alloca(required);
1217 err = f(name, required, value, NULL);
1218 if (err != CL_SUCCESS) {
1226 cl_int err = f(name, 0, NULL, &required);
1227 if (err != CL_SUCCESS) {
1233 VECTOR_CLASS<char> value(required);
1234 err = f(name, required, value.data(), NULL);
1235 if (err != CL_SUCCESS) {
1239 param->assign(value.begin(), value.end());
1246 template <
typename Func, ::
size_t N>
1250 cl_int err = f(name, 0, NULL, &required);
1251 if (err != CL_SUCCESS) {
1256 err = f(name, required, value, NULL);
1257 if (err != CL_SUCCESS) {
1261 for(
int i = 0; i < N; ++i) {
1262 (*param)[i] = value[i];
1276 template<
typename Func,
typename T>
1277 inline cl_int
getInfoHelper(Func f, cl_uint name, T* param,
int,
typename T::cl_type = 0)
1279 typename T::cl_type value;
1280 cl_int err = f(name,
sizeof(value), &value, NULL);
1281 if (err != CL_SUCCESS) {
1287 err = param->retain();
1288 if (err != CL_SUCCESS) {
1295 #define __PARAM_NAME_INFO_1_0(F) \ 1296 F(cl_platform_info, CL_PLATFORM_PROFILE, STRING_CLASS) \ 1297 F(cl_platform_info, CL_PLATFORM_VERSION, STRING_CLASS) \ 1298 F(cl_platform_info, CL_PLATFORM_NAME, STRING_CLASS) \ 1299 F(cl_platform_info, CL_PLATFORM_VENDOR, STRING_CLASS) \ 1300 F(cl_platform_info, CL_PLATFORM_EXTENSIONS, STRING_CLASS) \ 1302 F(cl_device_info, CL_DEVICE_TYPE, cl_device_type) \ 1303 F(cl_device_info, CL_DEVICE_VENDOR_ID, cl_uint) \ 1304 F(cl_device_info, CL_DEVICE_MAX_COMPUTE_UNITS, cl_uint) \ 1305 F(cl_device_info, CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, cl_uint) \ 1306 F(cl_device_info, CL_DEVICE_MAX_WORK_GROUP_SIZE, ::size_t) \ 1307 F(cl_device_info, CL_DEVICE_MAX_WORK_ITEM_SIZES, VECTOR_CLASS< ::size_t>) \ 1308 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR, cl_uint) \ 1309 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT, cl_uint) \ 1310 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT, cl_uint) \ 1311 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG, cl_uint) \ 1312 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, cl_uint) \ 1313 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE, cl_uint) \ 1314 F(cl_device_info, CL_DEVICE_MAX_CLOCK_FREQUENCY, cl_uint) \ 1315 F(cl_device_info, CL_DEVICE_ADDRESS_BITS, cl_uint) \ 1316 F(cl_device_info, CL_DEVICE_MAX_READ_IMAGE_ARGS, cl_uint) \ 1317 F(cl_device_info, CL_DEVICE_MAX_WRITE_IMAGE_ARGS, cl_uint) \ 1318 F(cl_device_info, CL_DEVICE_MAX_MEM_ALLOC_SIZE, cl_ulong) \ 1319 F(cl_device_info, CL_DEVICE_IMAGE2D_MAX_WIDTH, ::size_t) \ 1320 F(cl_device_info, CL_DEVICE_IMAGE2D_MAX_HEIGHT, ::size_t) \ 1321 F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_WIDTH, ::size_t) \ 1322 F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_HEIGHT, ::size_t) \ 1323 F(cl_device_info, CL_DEVICE_IMAGE3D_MAX_DEPTH, ::size_t) \ 1324 F(cl_device_info, CL_DEVICE_IMAGE_SUPPORT, cl_bool) \ 1325 F(cl_device_info, CL_DEVICE_MAX_PARAMETER_SIZE, ::size_t) \ 1326 F(cl_device_info, CL_DEVICE_MAX_SAMPLERS, cl_uint) \ 1327 F(cl_device_info, CL_DEVICE_MEM_BASE_ADDR_ALIGN, cl_uint) \ 1328 F(cl_device_info, CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, cl_uint) \ 1329 F(cl_device_info, CL_DEVICE_SINGLE_FP_CONFIG, cl_device_fp_config) \ 1330 F(cl_device_info, CL_DEVICE_GLOBAL_MEM_CACHE_TYPE, cl_device_mem_cache_type) \ 1331 F(cl_device_info, CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE, cl_uint)\ 1332 F(cl_device_info, CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, cl_ulong) \ 1333 F(cl_device_info, CL_DEVICE_GLOBAL_MEM_SIZE, cl_ulong) \ 1334 F(cl_device_info, CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE, cl_ulong) \ 1335 F(cl_device_info, CL_DEVICE_MAX_CONSTANT_ARGS, cl_uint) \ 1336 F(cl_device_info, CL_DEVICE_LOCAL_MEM_TYPE, cl_device_local_mem_type) \ 1337 F(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE, cl_ulong) \ 1338 F(cl_device_info, CL_DEVICE_ERROR_CORRECTION_SUPPORT, cl_bool) \ 1339 F(cl_device_info, CL_DEVICE_PROFILING_TIMER_RESOLUTION, ::size_t) \ 1340 F(cl_device_info, CL_DEVICE_ENDIAN_LITTLE, cl_bool) \ 1341 F(cl_device_info, CL_DEVICE_AVAILABLE, cl_bool) \ 1342 F(cl_device_info, CL_DEVICE_COMPILER_AVAILABLE, cl_bool) \ 1343 F(cl_device_info, CL_DEVICE_EXECUTION_CAPABILITIES, cl_device_exec_capabilities) \ 1344 F(cl_device_info, CL_DEVICE_QUEUE_PROPERTIES, cl_command_queue_properties) \ 1345 F(cl_device_info, CL_DEVICE_PLATFORM, cl_platform_id) \ 1346 F(cl_device_info, CL_DEVICE_NAME, STRING_CLASS) \ 1347 F(cl_device_info, CL_DEVICE_VENDOR, STRING_CLASS) \ 1348 F(cl_device_info, CL_DRIVER_VERSION, STRING_CLASS) \ 1349 F(cl_device_info, CL_DEVICE_PROFILE, STRING_CLASS) \ 1350 F(cl_device_info, CL_DEVICE_VERSION, STRING_CLASS) \ 1351 F(cl_device_info, CL_DEVICE_EXTENSIONS, STRING_CLASS) \ 1353 F(cl_context_info, CL_CONTEXT_REFERENCE_COUNT, cl_uint) \ 1354 F(cl_context_info, CL_CONTEXT_DEVICES, VECTOR_CLASS<Device>) \ 1355 F(cl_context_info, CL_CONTEXT_PROPERTIES, VECTOR_CLASS<cl_context_properties>) \ 1357 F(cl_event_info, CL_EVENT_COMMAND_QUEUE, cl::CommandQueue) \ 1358 F(cl_event_info, CL_EVENT_COMMAND_TYPE, cl_command_type) \ 1359 F(cl_event_info, CL_EVENT_REFERENCE_COUNT, cl_uint) \ 1360 F(cl_event_info, CL_EVENT_COMMAND_EXECUTION_STATUS, cl_int) \ 1362 F(cl_profiling_info, CL_PROFILING_COMMAND_QUEUED, cl_ulong) \ 1363 F(cl_profiling_info, CL_PROFILING_COMMAND_SUBMIT, cl_ulong) \ 1364 F(cl_profiling_info, CL_PROFILING_COMMAND_START, cl_ulong) \ 1365 F(cl_profiling_info, CL_PROFILING_COMMAND_END, cl_ulong) \ 1367 F(cl_mem_info, CL_MEM_TYPE, cl_mem_object_type) \ 1368 F(cl_mem_info, CL_MEM_FLAGS, cl_mem_flags) \ 1369 F(cl_mem_info, CL_MEM_SIZE, ::size_t) \ 1370 F(cl_mem_info, CL_MEM_HOST_PTR, void*) \ 1371 F(cl_mem_info, CL_MEM_MAP_COUNT, cl_uint) \ 1372 F(cl_mem_info, CL_MEM_REFERENCE_COUNT, cl_uint) \ 1373 F(cl_mem_info, CL_MEM_CONTEXT, cl::Context) \ 1375 F(cl_image_info, CL_IMAGE_FORMAT, cl_image_format) \ 1376 F(cl_image_info, CL_IMAGE_ELEMENT_SIZE, ::size_t) \ 1377 F(cl_image_info, CL_IMAGE_ROW_PITCH, ::size_t) \ 1378 F(cl_image_info, CL_IMAGE_SLICE_PITCH, ::size_t) \ 1379 F(cl_image_info, CL_IMAGE_WIDTH, ::size_t) \ 1380 F(cl_image_info, CL_IMAGE_HEIGHT, ::size_t) \ 1381 F(cl_image_info, CL_IMAGE_DEPTH, ::size_t) \ 1383 F(cl_sampler_info, CL_SAMPLER_REFERENCE_COUNT, cl_uint) \ 1384 F(cl_sampler_info, CL_SAMPLER_CONTEXT, cl::Context) \ 1385 F(cl_sampler_info, CL_SAMPLER_NORMALIZED_COORDS, cl_bool) \ 1386 F(cl_sampler_info, CL_SAMPLER_ADDRESSING_MODE, cl_addressing_mode) \ 1387 F(cl_sampler_info, CL_SAMPLER_FILTER_MODE, cl_filter_mode) \ 1389 F(cl_program_info, CL_PROGRAM_REFERENCE_COUNT, cl_uint) \ 1390 F(cl_program_info, CL_PROGRAM_CONTEXT, cl::Context) \ 1391 F(cl_program_info, CL_PROGRAM_NUM_DEVICES, cl_uint) \ 1392 F(cl_program_info, CL_PROGRAM_DEVICES, VECTOR_CLASS<Device>) \ 1393 F(cl_program_info, CL_PROGRAM_SOURCE, STRING_CLASS) \ 1394 F(cl_program_info, CL_PROGRAM_BINARY_SIZES, VECTOR_CLASS< ::size_t>) \ 1395 F(cl_program_info, CL_PROGRAM_BINARIES, VECTOR_CLASS<char *>) \ 1397 F(cl_program_build_info, CL_PROGRAM_BUILD_STATUS, cl_build_status) \ 1398 F(cl_program_build_info, CL_PROGRAM_BUILD_OPTIONS, STRING_CLASS) \ 1399 F(cl_program_build_info, CL_PROGRAM_BUILD_LOG, STRING_CLASS) \ 1401 F(cl_kernel_info, CL_KERNEL_FUNCTION_NAME, STRING_CLASS) \ 1402 F(cl_kernel_info, CL_KERNEL_NUM_ARGS, cl_uint) \ 1403 F(cl_kernel_info, CL_KERNEL_REFERENCE_COUNT, cl_uint) \ 1404 F(cl_kernel_info, CL_KERNEL_CONTEXT, cl::Context) \ 1405 F(cl_kernel_info, CL_KERNEL_PROGRAM, cl::Program) \ 1407 F(cl_kernel_work_group_info, CL_KERNEL_WORK_GROUP_SIZE, ::size_t) \ 1408 F(cl_kernel_work_group_info, CL_KERNEL_COMPILE_WORK_GROUP_SIZE, cl::size_t<3>) \ 1409 F(cl_kernel_work_group_info, CL_KERNEL_LOCAL_MEM_SIZE, cl_ulong) \ 1411 F(cl_command_queue_info, CL_QUEUE_CONTEXT, cl::Context) \ 1412 F(cl_command_queue_info, CL_QUEUE_DEVICE, cl::Device) \ 1413 F(cl_command_queue_info, CL_QUEUE_REFERENCE_COUNT, cl_uint) \ 1414 F(cl_command_queue_info, CL_QUEUE_PROPERTIES, cl_command_queue_properties) 1416 #if defined(CL_VERSION_1_1) 1417 #define __PARAM_NAME_INFO_1_1(F) \ 1418 F(cl_context_info, CL_CONTEXT_NUM_DEVICES, cl_uint)\ 1419 F(cl_device_info, CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF, cl_uint) \ 1420 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, cl_uint) \ 1421 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT, cl_uint) \ 1422 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_INT, cl_uint) \ 1423 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, cl_uint) \ 1424 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, cl_uint) \ 1425 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE, cl_uint) \ 1426 F(cl_device_info, CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF, cl_uint) \ 1427 F(cl_device_info, CL_DEVICE_DOUBLE_FP_CONFIG, cl_device_fp_config) \ 1428 F(cl_device_info, CL_DEVICE_HALF_FP_CONFIG, cl_device_fp_config) \ 1429 F(cl_device_info, CL_DEVICE_HOST_UNIFIED_MEMORY, cl_bool) \ 1430 F(cl_device_info, CL_DEVICE_OPENCL_C_VERSION, STRING_CLASS) \ 1432 F(cl_mem_info, CL_MEM_ASSOCIATED_MEMOBJECT, cl::Memory) \ 1433 F(cl_mem_info, CL_MEM_OFFSET, ::size_t) \ 1435 F(cl_kernel_work_group_info, CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, ::size_t) \ 1436 F(cl_kernel_work_group_info, CL_KERNEL_PRIVATE_MEM_SIZE, cl_ulong) \ 1438 F(cl_event_info, CL_EVENT_CONTEXT, cl::Context) 1439 #endif // CL_VERSION_1_1 1442 #if defined(CL_VERSION_1_2) 1443 #define __PARAM_NAME_INFO_1_2(F) \ 1444 F(cl_image_info, CL_IMAGE_BUFFER, cl::Buffer) \ 1446 F(cl_program_info, CL_PROGRAM_NUM_KERNELS, ::size_t) \ 1447 F(cl_program_info, CL_PROGRAM_KERNEL_NAMES, STRING_CLASS) \ 1449 F(cl_program_build_info, CL_PROGRAM_BINARY_TYPE, cl_program_binary_type) \ 1451 F(cl_kernel_info, CL_KERNEL_ATTRIBUTES, STRING_CLASS) \ 1453 F(cl_kernel_arg_info, CL_KERNEL_ARG_ADDRESS_QUALIFIER, cl_kernel_arg_address_qualifier) \ 1454 F(cl_kernel_arg_info, CL_KERNEL_ARG_ACCESS_QUALIFIER, cl_kernel_arg_access_qualifier) \ 1455 F(cl_kernel_arg_info, CL_KERNEL_ARG_TYPE_NAME, STRING_CLASS) \ 1456 F(cl_kernel_arg_info, CL_KERNEL_ARG_NAME, STRING_CLASS) \ 1457 F(cl_kernel_arg_info, CL_KERNEL_ARG_TYPE_QUALIFIER, cl_kernel_arg_type_qualifier) \ 1459 F(cl_device_info, CL_DEVICE_PARENT_DEVICE, cl_device_id) \ 1460 F(cl_device_info, CL_DEVICE_PARTITION_PROPERTIES, VECTOR_CLASS<cl_device_partition_property>) \ 1461 F(cl_device_info, CL_DEVICE_PARTITION_TYPE, VECTOR_CLASS<cl_device_partition_property>) \ 1462 F(cl_device_info, CL_DEVICE_REFERENCE_COUNT, cl_uint) \ 1463 F(cl_device_info, CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, ::size_t) \ 1464 F(cl_device_info, CL_DEVICE_PARTITION_AFFINITY_DOMAIN, cl_device_affinity_domain) \ 1465 F(cl_device_info, CL_DEVICE_BUILT_IN_KERNELS, STRING_CLASS) 1466 #endif // #if defined(CL_VERSION_1_2) 1468 #if defined(USE_CL_DEVICE_FISSION) 1469 #define __PARAM_NAME_DEVICE_FISSION(F) \ 1470 F(cl_device_info, CL_DEVICE_PARENT_DEVICE_EXT, cl_device_id) \ 1471 F(cl_device_info, CL_DEVICE_PARTITION_TYPES_EXT, VECTOR_CLASS<cl_device_partition_property_ext>) \ 1472 F(cl_device_info, CL_DEVICE_AFFINITY_DOMAINS_EXT, VECTOR_CLASS<cl_device_partition_property_ext>) \ 1473 F(cl_device_info, CL_DEVICE_REFERENCE_COUNT_EXT , cl_uint) \ 1474 F(cl_device_info, CL_DEVICE_PARTITION_STYLE_EXT, VECTOR_CLASS<cl_device_partition_property_ext>) 1475 #endif // USE_CL_DEVICE_FISSION 1477 template <
typename enum_type, cl_
int Name>
1480 #define __CL_DECLARE_PARAM_TRAITS(token, param_name, T) \ 1483 struct param_traits<detail:: token,param_name> \ 1485 enum { value = param_name }; \ 1486 typedef T param_type; \ 1490 #if defined(CL_VERSION_1_1) 1492 #endif // CL_VERSION_1_1 1493 #if defined(CL_VERSION_1_2) 1495 #endif // CL_VERSION_1_1 1497 #if defined(USE_CL_DEVICE_FISSION) 1499 #endif // USE_CL_DEVICE_FISSION 1501 #ifdef CL_PLATFORM_ICD_SUFFIX_KHR 1505 #ifdef CL_DEVICE_PROFILING_TIMER_OFFSET_AMD 1509 #ifdef CL_DEVICE_GLOBAL_FREE_MEMORY_AMD 1512 #ifdef CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD 1515 #ifdef CL_DEVICE_SIMD_WIDTH_AMD 1518 #ifdef CL_DEVICE_SIMD_INSTRUCTION_WIDTH_AMD 1521 #ifdef CL_DEVICE_WAVEFRONT_WIDTH_AMD 1524 #ifdef CL_DEVICE_GLOBAL_MEM_CHANNELS_AMD 1527 #ifdef CL_DEVICE_GLOBAL_MEM_CHANNEL_BANKS_AMD 1530 #ifdef CL_DEVICE_GLOBAL_MEM_CHANNEL_BANK_WIDTH_AMD 1533 #ifdef CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_UNIT_AMD 1536 #ifdef CL_DEVICE_LOCAL_MEM_BANKS_AMD 1540 #ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV 1543 #ifdef CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV 1546 #ifdef CL_DEVICE_REGISTERS_PER_BLOCK_NV 1549 #ifdef CL_DEVICE_WARP_SIZE_NV 1552 #ifdef CL_DEVICE_GPU_OVERLAP_NV 1555 #ifdef CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV 1558 #ifdef CL_DEVICE_INTEGRATED_MEMORY_NV 1564 template <
typename Func,
typename T>
1571 template <
typename Func,
typename Arg0>
1574 Func
f_;
const Arg0& arg0_;
1576 cl_uint param, ::
size_t size,
void* value, ::
size_t* size_ret)
1577 {
return f_(arg0_, param, size, value, size_ret); }
1580 template <
typename Func,
typename Arg0,
typename Arg1>
1583 Func
f_;
const Arg0& arg0_;
const Arg1& arg1_;
1585 cl_uint param, ::
size_t size,
void* value, ::
size_t* size_ret)
1586 {
return f_(arg0_, arg1_, param, size, value, size_ret); }
1589 template <
typename Func,
typename Arg0,
typename T>
1591 getInfo(Func f,
const Arg0& arg0, cl_uint name, T* param)
1597 template <
typename Func,
typename Arg0,
typename Arg1,
typename T>
1599 getInfo(Func f,
const Arg0& arg0,
const Arg1& arg1, cl_uint name, T* param)
1605 template<
typename T>
1609 #if defined(CL_VERSION_1_2) 1625 static cl_int retain(cl_device_id device)
1626 { return ::clRetainDevice(device); }
1636 static cl_int release(cl_device_id device)
1637 { return ::clReleaseDevice(device); }
1639 #else // #if defined(CL_VERSION_1_2) 1648 {
return CL_SUCCESS; }
1651 {
return CL_SUCCESS; }
1653 #endif // #if defined(CL_VERSION_1_2) 1660 {
return CL_SUCCESS; }
1663 {
return CL_SUCCESS; }
1670 { return ::clRetainContext(context); }
1672 { return ::clReleaseContext(context); }
1679 { return ::clRetainCommandQueue(queue); }
1681 { return ::clReleaseCommandQueue(queue); }
1688 { return ::clRetainMemObject(memory); }
1690 { return ::clReleaseMemObject(memory); }
1697 { return ::clRetainSampler(sampler); }
1699 { return ::clReleaseSampler(sampler); }
1706 { return ::clRetainProgram(program); }
1708 { return ::clReleaseProgram(program); }
1715 { return ::clRetainKernel(kernel); }
1717 { return ::clReleaseKernel(kernel); }
1724 { return ::clRetainEvent(event); }
1726 { return ::clReleaseEvent(event); }
1733 int highVersion = 0;
1736 while(versionInfo[index] !=
'.' ) {
1738 highVersion += versionInfo[index]-
'0';
1742 while(versionInfo[index] !=
' ' && versionInfo[index] !=
'\0') {
1744 lowVersion += versionInfo[index]-
'0';
1747 return (highVersion << 16) | lowVersion;
1753 clGetPlatformInfo(platform, CL_PLATFORM_VERSION, 0, NULL, &size);
1754 char *versionInfo = (
char *) alloca(size);
1755 clGetPlatformInfo(platform, CL_PLATFORM_VERSION, size, &versionInfo[0], &size);
1761 cl_platform_id platform;
1762 clGetDeviceInfo(device, CL_DEVICE_PLATFORM,
sizeof(platform), &platform, NULL);
1766 #if defined(CL_VERSION_1_2) && defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 1767 static cl_uint getContextPlatformVersion(cl_context context)
1772 clGetContextInfo(context, CL_CONTEXT_DEVICES, 0, NULL, &size);
1775 cl_device_id *devices = (cl_device_id *) alloca(size);
1776 clGetContextInfo(context, CL_CONTEXT_DEVICES, size, devices, NULL);
1779 #endif // #if defined(CL_VERSION_1_2) && defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 1781 template <
typename T>
1797 if (object_ != NULL) { release(); }
1806 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 1809 object_ = rhs.object_;
1824 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 1829 object_ = rhs.object_;
1843 cl_type operator ()()
const {
return object_; }
1845 cl_type& operator ()() {
return object_; }
1848 template<
typename Func,
typename U>
1849 friend inline cl_int
getInfoHelper(Func, cl_uint, U*,
int,
typename U::cl_type);
1874 bool retVal =
false;
1875 if (device != NULL) {
1877 if(version > ((1 << 16) + 1)) {
1885 Wrapper() : object_(NULL), referenceCountable_(false)
1889 Wrapper(
const cl_type &obj) : object_(obj), referenceCountable_(false)
1891 referenceCountable_ = isReferenceCountable(obj);
1896 if (object_ != NULL) { release(); }
1902 referenceCountable_ = isReferenceCountable(object_);
1906 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 1909 object_ = rhs.object_;
1910 referenceCountable_ = rhs.referenceCountable_;
1912 rhs.referenceCountable_ =
false;
1921 referenceCountable_ = rhs.referenceCountable_;
1927 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 1932 object_ = rhs.object_;
1933 referenceCountable_ = rhs.referenceCountable_;
1935 rhs.referenceCountable_ =
false;
1945 referenceCountable_ = isReferenceCountable(object_);
1949 cl_type operator ()()
const {
return object_; }
1951 cl_type& operator ()() {
return object_; }
1954 template<
typename Func,
typename U>
1955 friend inline cl_int
getInfoHelper(Func, cl_uint, U*,
int,
typename U::cl_type);
1957 template<
typename Func,
typename U>
1958 friend inline cl_int
getInfoHelper(Func, cl_uint, VECTOR_CLASS<U>*,
int,
typename U::cl_type);
1962 if( referenceCountable_ ) {
1972 if( referenceCountable_ ) {
1997 image_channel_order = order;
1998 image_channel_data_type = type;
2005 this->image_channel_data_type = rhs.image_channel_data_type;
2006 this->image_channel_order = rhs.image_channel_order;
2035 static Device getDefault(cl_int * err = NULL);
2061 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 2075 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 2078 template <
typename T>
2079 cl_int
getInfo(cl_device_info name, T* param)
const 2083 __GET_DEVICE_INFO_ERR);
2087 template <cl_
int name>
typename 2092 detail::cl_device_info, name>::param_type
param;
2093 cl_int result =
getInfo(name, ¶m);
2103 #if defined(CL_VERSION_1_2) 2104 cl_int createSubDevices(
2106 const cl_device_partition_property * properties,
2107 VECTOR_CLASS<Device>* devices)
2110 cl_int err = clCreateSubDevices(object_, properties, 0, NULL, &n);
2111 if (err != CL_SUCCESS) {
2115 cl_device_id* ids = (cl_device_id*) alloca(n *
sizeof(cl_device_id));
2116 err = clCreateSubDevices(object_, properties, n, ids, NULL);
2117 if (err != CL_SUCCESS) {
2121 devices->assign(&ids[0], &ids[n]);
2124 #endif // #if defined(CL_VERSION_1_2) 2129 #if defined(CL_VERSION_1_1) 2130 #if defined(USE_CL_DEVICE_FISSION) 2131 cl_int createSubDevices(
2132 const cl_device_partition_property_ext * properties,
2133 VECTOR_CLASS<Device>* devices)
2135 typedef CL_API_ENTRY cl_int
2136 ( CL_API_CALL * PFN_clCreateSubDevicesEXT)(
2138 const cl_device_partition_property_ext * ,
2141 cl_uint * ) CL_EXT_SUFFIX__VERSION_1_1;
2143 static PFN_clCreateSubDevicesEXT pfn_clCreateSubDevicesEXT = NULL;
2144 __INIT_CL_EXT_FCN_PTR(clCreateSubDevicesEXT);
2147 cl_int err = pfn_clCreateSubDevicesEXT(object_, properties, 0, NULL, &n);
2148 if (err != CL_SUCCESS) {
2152 cl_device_id* ids = (cl_device_id*) alloca(n *
sizeof(cl_device_id));
2153 err = pfn_clCreateSubDevicesEXT(object_, properties, n, ids, NULL);
2154 if (err != CL_SUCCESS) {
2158 devices->assign(&ids[0], &ids[n]);
2161 #endif // #if defined(USE_CL_DEVICE_FISSION) 2162 #endif // #if defined(CL_VERSION_1_1) 2195 cl_int
getInfo(cl_platform_info name, STRING_CLASS* param)
const 2199 __GET_PLATFORM_INFO_ERR);
2203 template <cl_
int name>
typename 2208 detail::cl_platform_info, name>::param_type
param;
2209 cl_int result =
getInfo(name, ¶m);
2221 cl_device_type type,
2222 VECTOR_CLASS<Device>* devices)
const 2225 if( devices == NULL ) {
2228 cl_int err = ::clGetDeviceIDs(object_, type, 0, NULL, &n);
2229 if (err != CL_SUCCESS) {
2233 cl_device_id* ids = (cl_device_id*) alloca(n *
sizeof(cl_device_id));
2234 err = ::clGetDeviceIDs(object_, type, n, ids, NULL);
2235 if (err != CL_SUCCESS) {
2239 devices->assign(&ids[0], &ids[n]);
2243 #if defined(USE_DX_INTEROP) 2268 cl_d3d10_device_source_khr d3d_device_source,
2270 cl_d3d10_device_set_khr d3d_device_set,
2271 VECTOR_CLASS<Device>* devices)
const 2273 typedef CL_API_ENTRY cl_int (CL_API_CALL *PFN_clGetDeviceIDsFromD3D10KHR)(
2274 cl_platform_id platform,
2275 cl_d3d10_device_source_khr d3d_device_source,
2277 cl_d3d10_device_set_khr d3d_device_set,
2278 cl_uint num_entries,
2279 cl_device_id * devices,
2280 cl_uint* num_devices);
2282 if( devices == NULL ) {
2286 static PFN_clGetDeviceIDsFromD3D10KHR pfn_clGetDeviceIDsFromD3D10KHR = NULL;
2287 __INIT_CL_EXT_FCN_PTR_PLATFORM(object_, clGetDeviceIDsFromD3D10KHR);
2290 cl_int err = pfn_clGetDeviceIDsFromD3D10KHR(
2298 if (err != CL_SUCCESS) {
2302 cl_device_id* ids = (cl_device_id*) alloca(n *
sizeof(cl_device_id));
2303 err = pfn_clGetDeviceIDsFromD3D10KHR(
2311 if (err != CL_SUCCESS) {
2315 devices->assign(&ids[0], &ids[n]);
2325 VECTOR_CLASS<Platform>* platforms)
2329 if( platforms == NULL ) {
2333 cl_int err = ::clGetPlatformIDs(0, NULL, &n);
2334 if (err != CL_SUCCESS) {
2338 cl_platform_id* ids = (cl_platform_id*) alloca(
2339 n *
sizeof(cl_platform_id));
2340 err = ::clGetPlatformIDs(n, ids, NULL);
2341 if (err != CL_SUCCESS) {
2345 platforms->assign(&ids[0], &ids[n]);
2358 if( platform == NULL ) {
2362 cl_int err = ::clGetPlatformIDs(0, NULL, &n);
2363 if (err != CL_SUCCESS) {
2367 cl_platform_id* ids = (cl_platform_id*) alloca(
2368 n *
sizeof(cl_platform_id));
2369 err = ::clGetPlatformIDs(n, ids, NULL);
2370 if (err != CL_SUCCESS) {
2383 cl_int * errResult = NULL)
2387 cl_int err = ::clGetPlatformIDs(0, NULL, &n);
2388 if (err != CL_SUCCESS) {
2390 if (errResult != NULL) {
2396 cl_platform_id* ids = (cl_platform_id*) alloca(
2397 n *
sizeof(cl_platform_id));
2398 err = ::clGetPlatformIDs(n, ids, NULL);
2400 if (err != CL_SUCCESS) {
2402 if (errResult != NULL) {
2413 cl_int *errResult = NULL )
2415 return get(errResult);
2419 #if defined(CL_VERSION_1_2) 2424 return ::clUnloadPlatformCompiler(object_);
2426 #endif // #if defined(CL_VERSION_1_2) 2432 #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) || (defined(CL_VERSION_1_1) && !defined(CL_VERSION_1_2)) 2442 return ::clUnloadCompiler();
2444 #endif // #if defined(CL_VERSION_1_1) 2459 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 2460 static std::atomic<int> default_initialized_;
2461 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2463 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2472 const VECTOR_CLASS<Device>& devices,
2473 cl_context_properties* properties = NULL,
2484 ::size_t numDevices = devices.size();
2485 cl_device_id* deviceIDs = (cl_device_id*) alloca(numDevices *
sizeof(cl_device_id));
2486 for( ::
size_t deviceIndex = 0; deviceIndex < numDevices; ++deviceIndex ) {
2487 deviceIDs[deviceIndex] = (devices[deviceIndex])();
2490 object_ = ::clCreateContext(
2491 properties, (cl_uint) numDevices,
2493 notifyFptr, data, &error);
2503 cl_context_properties* properties = NULL,
2514 cl_device_id deviceID = device();
2516 object_ = ::clCreateContext(
2519 notifyFptr, data, &error);
2532 cl_device_type type,
2533 cl_context_properties* properties = NULL,
2544 #if !defined(__APPLE__) && !defined(__MACOS) 2545 cl_context_properties prop[4] = {CL_CONTEXT_PLATFORM, 0, 0, 0 };
2547 if (properties == NULL) {
2549 VECTOR_CLASS<Platform> platforms;
2551 if (error != CL_SUCCESS) {
2560 cl_context_properties platform_id = 0;
2561 for (
unsigned int i = 0; i < platforms.size(); i++) {
2563 VECTOR_CLASS<Device> devices;
2565 #if defined(__CL_ENABLE_EXCEPTIONS) 2569 error = platforms[i].getDevices(type, &devices);
2571 #if defined(__CL_ENABLE_EXCEPTIONS) 2578 if (error != CL_SUCCESS && error != CL_DEVICE_NOT_FOUND) {
2585 if (devices.size() > 0) {
2586 platform_id = (cl_context_properties)platforms[i]();
2591 if (platform_id == 0) {
2594 *err = CL_DEVICE_NOT_FOUND;
2599 prop[1] = platform_id;
2600 properties = &prop[0];
2603 object_ = ::clCreateContextFromType(
2604 properties, type, notifyFptr, data, &error);
2626 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 2640 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 2649 &default_initialized_,
2654 *err = default_error_;
2661 while(default_initialized_ != __DEFAULT_INITIALIZED) {
2666 *err = default_error_;
2673 CL_DEVICE_TYPE_DEFAULT,
2681 default_error_ = error;
2688 *err = default_error_;
2716 template <
typename T>
2717 cl_int
getInfo(cl_context_info name, T* param)
const 2721 __GET_CONTEXT_INFO_ERR);
2725 template <cl_
int name>
typename 2730 detail::cl_context_info, name>::param_type
param;
2731 cl_int result =
getInfo(name, ¶m);
2744 cl_mem_object_type type,
2745 VECTOR_CLASS<ImageFormat>* formats)
const 2753 cl_int err = ::clGetSupportedImageFormats(
2760 if (err != CL_SUCCESS) {
2764 if (numEntries > 0) {
2767 err = ::clGetSupportedImageFormats(
2772 (cl_image_format*)value,
2774 if (err != CL_SUCCESS) {
2778 formats->assign(&value[0], &value[numEntries]);
2795 if (error != CL_SUCCESS) {
2801 device = context.
getInfo<CL_CONTEXT_DEVICES>()[0];
2812 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 2814 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2816 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2820 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 2822 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2824 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 2826 __attribute__((weak))
volatile cl_int Context::default_error_ = CL_SUCCESS;
2862 template <
typename T>
2863 cl_int
getInfo(cl_event_info name, T* param)
const 2867 __GET_EVENT_INFO_ERR);
2871 template <cl_
int name>
typename 2876 detail::cl_event_info, name>::param_type
param;
2877 cl_int result =
getInfo(name, ¶m);
2885 template <
typename T>
2889 &::clGetEventProfilingInfo, object_, name, param),
2890 __GET_EVENT_PROFILE_INFO_ERR);
2894 template <cl_
int name>
typename 2899 detail::cl_profiling_info, name>::param_type
param;
2900 cl_int result = getProfilingInfo(name, ¶m);
2914 ::clWaitForEvents(1, &object_),
2915 __WAIT_FOR_EVENTS_ERR);
2918 #if defined(CL_VERSION_1_1) 2925 void (
CL_CALLBACK * pfn_notify)(cl_event, cl_int,
void *),
2926 void * user_data = NULL)
2929 ::clSetEventCallback(
2934 __SET_EVENT_CALLBACK_ERR);
2947 (cl_uint) events.size(), (events.size() > 0) ? (cl_event*)&events.front() : NULL),
2948 __WAIT_FOR_EVENTS_ERR);
2952 #if defined(CL_VERSION_1_1) 2957 class UserEvent :
public Event 2966 cl_int * err = NULL)
2969 object_ = ::clCreateUserEvent(
2980 UserEvent() :
Event() { }
2986 cl_int setStatus(cl_int status)
2989 ::clSetUserEventStatus(object_,status),
2990 __SET_USER_EVENT_STATUS_ERR);
2999 inline static cl_int
3004 (cl_uint) events.size(), (events.size() > 0) ? (cl_event*)&events.front() : NULL),
3005 __WAIT_FOR_EVENTS_ERR);
3054 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3068 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3071 template <
typename T>
3076 __GET_MEM_OBJECT_INFO_ERR);
3080 template <cl_
int name>
typename 3085 detail::cl_mem_info, name>::param_type
param;
3086 cl_int result =
getInfo(name, ¶m);
3093 #if defined(CL_VERSION_1_1) 3107 cl_int setDestructorCallback(
3109 void * user_data = NULL)
3112 ::clSetMemObjectDestructorCallback(
3116 __SET_MEM_OBJECT_DESTRUCTOR_CALLBACK_ERR);
3124 template<
typename IteratorType >
3125 cl_int
copy( IteratorType startIterator, IteratorType endIterator,
cl::Buffer &buffer );
3126 template<
typename IteratorType >
3127 cl_int
copy(
const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator );
3128 template<
typename IteratorType >
3130 template<
typename IteratorType >
3155 void* host_ptr = NULL,
3159 object_ = ::clCreateBuffer(context(), flags, size, host_ptr, &error);
3179 void* host_ptr = NULL,
3186 object_ = ::clCreateBuffer(context(), flags, size, host_ptr, &error);
3199 template<
typename IteratorType >
3201 IteratorType startIterator,
3202 IteratorType endIterator,
3204 bool useHostPtr =
false,
3207 typedef typename std::iterator_traits<IteratorType>::value_type DataType;
3210 cl_mem_flags flags = 0;
3212 flags |= CL_MEM_READ_ONLY;
3215 flags |= CL_MEM_READ_WRITE;
3218 flags |= CL_MEM_USE_HOST_PTR;
3221 ::size_t size =
sizeof(DataType)*(endIterator - startIterator);
3226 object_ = ::clCreateBuffer(context(), flags, size, static_cast<DataType*>(&*startIterator), &error);
3228 object_ = ::clCreateBuffer(context(), flags, size, 0, &error);
3237 error =
cl::copy(startIterator, endIterator, *
this);
3250 template<
typename IteratorType >
3251 Buffer(
const Context &context, IteratorType startIterator, IteratorType endIterator,
3252 bool readOnly,
bool useHostPtr =
false, cl_int* err = NULL);
3258 template<
typename IteratorType >
3259 Buffer(
const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator,
3260 bool readOnly,
bool useHostPtr =
false, cl_int* err = NULL);
3295 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3309 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3311 #if defined(CL_VERSION_1_1) 3318 cl_buffer_create_type buffer_create_type,
3319 const void * buffer_create_info,
3320 cl_int * err = NULL)
3324 result.
object_ = ::clCreateSubBuffer(
3341 #if defined (USE_DX_INTEROP) 3350 class BufferD3D10 :
public Buffer 3353 typedef CL_API_ENTRY cl_mem (CL_API_CALL *PFN_clCreateFromD3D10BufferKHR)(
3354 cl_context context, cl_mem_flags flags, ID3D10Buffer* buffer,
3355 cl_int* errcode_ret);
3365 ID3D10Buffer* bufobj,
3366 cl_int * err = NULL)
3368 static PFN_clCreateFromD3D10BufferKHR pfn_clCreateFromD3D10BufferKHR = NULL;
3370 #if defined(CL_VERSION_1_2) 3371 vector<cl_context_properties> props = context.
getInfo<CL_CONTEXT_PROPERTIES>();
3372 cl_platform platform = -1;
3373 for(
int i = 0; i < props.size(); ++i ) {
3374 if( props[i] == CL_CONTEXT_PLATFORM ) {
3375 platform = props[i+1];
3378 __INIT_CL_EXT_FCN_PTR_PLATFORM(platform, clCreateFromD3D10BufferKHR);
3380 #if defined(CL_VERSION_1_1) 3381 __INIT_CL_EXT_FCN_PTR(clCreateFromD3D10BufferKHR);
3385 object_ = pfn_clCreateFromD3D10BufferKHR(
3398 BufferD3D10() :
Buffer() { }
3410 BufferD3D10& operator = (
const cl_mem& rhs)
3419 BufferD3D10(
const BufferD3D10& buf) :
Buffer(buf) {}
3424 BufferD3D10& operator = (
const BufferD3D10 &buf)
3430 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3439 BufferD3D10& operator = (BufferD3D10 &&buf)
3444 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3468 cl_int * err = NULL)
3471 object_ = ::clCreateFromGLBuffer(
3516 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3530 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3534 cl_gl_object_type *type,
3535 cl_GLuint * gl_object_name)
3538 ::clGetGLObjectInfo(object_,type,gl_object_name),
3539 __GET_GL_OBJECT_INFO_ERR);
3585 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3599 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3603 template <
typename T>
3608 __GET_IMAGE_INFO_ERR);
3612 template <cl_
int name>
typename 3617 detail::cl_image_info, name>::param_type
param;
3618 cl_int result = getImageInfo(name, ¶m);
3626 #if defined(CL_VERSION_1_2) 3633 class Image1D :
public Image 3645 void* host_ptr = NULL,
3649 cl_image_desc desc =
3651 CL_MEM_OBJECT_IMAGE1D,
3653 0, 0, 0, 0, 0, 0, 0, 0
3655 object_ = ::clCreateImage(
3682 Image1D& operator = (
const cl_mem& rhs)
3691 Image1D(
const Image1D& img) :
Image(img) {}
3696 Image1D& operator = (
const Image1D &img)
3702 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3711 Image1D& operator = (Image1D &&img)
3716 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3722 class Image1DBuffer :
public Image 3734 cl_image_desc desc =
3736 CL_MEM_OBJECT_IMAGE1D_BUFFER,
3738 0, 0, 0, 0, 0, 0, 0,
3741 object_ = ::clCreateImage(
3759 Image1DBuffer& operator = (
const cl_mem& rhs)
3768 Image1DBuffer(
const Image1DBuffer& img) :
Image(img) {}
3773 Image1DBuffer& operator = (
const Image1DBuffer &img)
3779 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3788 Image1DBuffer& operator = (Image1DBuffer &&img)
3793 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3799 class Image1DArray :
public Image 3809 void* host_ptr = NULL,
3813 cl_image_desc desc =
3815 CL_MEM_OBJECT_IMAGE1D_ARRAY,
3822 object_ = ::clCreateImage(
3840 Image1DArray& operator = (
const cl_mem& rhs)
3849 Image1DArray(
const Image1DArray& img) :
Image(img) {}
3854 Image1DArray& operator = (
const Image1DArray &img)
3860 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3869 Image1DArray& operator = (Image1DArray &&img)
3874 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 3876 #endif // #if defined(CL_VERSION_1_2) 3898 ::
size_t row_pitch = 0,
3899 void* host_ptr = NULL,
3903 bool useCreateImage;
3905 #if defined(CL_VERSION_1_2) && defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 3908 cl_uint version = detail::getContextPlatformVersion(context());
3909 useCreateImage = (version >= 0x10002);
3911 #elif defined(CL_VERSION_1_2) 3912 useCreateImage =
true;
3914 useCreateImage =
false;
3917 #if defined(CL_VERSION_1_2) 3920 cl_image_desc desc =
3922 CL_MEM_OBJECT_IMAGE2D,
3929 object_ = ::clCreateImage(
3942 #endif // #if defined(CL_VERSION_1_2) 3943 #if !defined(CL_VERSION_1_2) || defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 3944 if (!useCreateImage)
3946 object_ = ::clCreateImage2D(
3947 context(), flags,&format, width, height, row_pitch, host_ptr, &error);
3954 #endif // #if !defined(CL_VERSION_1_2) || defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 3990 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4004 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4008 #if !defined(CL_VERSION_1_2) 4032 cl_int * err = NULL)
4035 object_ = ::clCreateFromGLTexture2D(
4063 Image2DGL& operator = (
const cl_mem& rhs)
4077 Image2DGL& operator = (
const Image2DGL &img)
4083 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4092 Image2DGL& operator = (Image2DGL &&img)
4097 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4099 #endif // #if !defined(CL_VERSION_1_2) 4101 #if defined(CL_VERSION_1_2) 4105 class Image2DArray :
public Image 4116 ::
size_t slicePitch,
4117 void* host_ptr = NULL,
4121 cl_image_desc desc =
4123 CL_MEM_OBJECT_IMAGE2D_ARRAY,
4132 object_ = ::clCreateImage(
4150 Image2DArray& operator = (
const cl_mem& rhs)
4159 Image2DArray(
const Image2DArray& img) :
Image(img) {}
4164 Image2DArray& operator = (
const Image2DArray &img)
4170 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4179 Image2DArray& operator = (Image2DArray &&img)
4184 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4186 #endif // #if defined(CL_VERSION_1_2) 4208 ::
size_t row_pitch = 0,
4209 ::
size_t slice_pitch = 0,
4210 void* host_ptr = NULL,
4214 bool useCreateImage;
4216 #if defined(CL_VERSION_1_2) && defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 4219 cl_uint version = detail::getContextPlatformVersion(context());
4220 useCreateImage = (version >= 0x10002);
4222 #elif defined(CL_VERSION_1_2) 4223 useCreateImage =
true;
4225 useCreateImage =
false;
4228 #if defined(CL_VERSION_1_2) 4231 cl_image_desc desc =
4233 CL_MEM_OBJECT_IMAGE3D,
4242 object_ = ::clCreateImage(
4255 #endif // #if defined(CL_VERSION_1_2) 4256 #if !defined(CL_VERSION_1_2) || defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 4257 if (!useCreateImage)
4259 object_ = ::clCreateImage3D(
4260 context(), flags, &format, width, height, depth, row_pitch,
4261 slice_pitch, host_ptr, &error);
4268 #endif // #if !defined(CL_VERSION_1_2) || defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) 4304 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4318 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4321 #if !defined(CL_VERSION_1_2) 4344 cl_int * err = NULL)
4347 object_ = ::clCreateFromGLTexture3D(
4394 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4408 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4410 #endif // #if !defined(CL_VERSION_1_2) 4412 #if defined(CL_VERSION_1_2) 4419 class ImageGL :
public Image 4428 cl_int * err = NULL)
4431 object_ = ::clCreateFromGLTexture(
4445 ImageGL() :
Image() { }
4449 ImageGL& operator = (
const cl_mem& rhs)
4458 ImageGL(
const ImageGL& img) :
Image(img) {}
4463 ImageGL& operator = (
const ImageGL &img)
4469 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4478 ImageGL& operator = (ImageGL &&img)
4483 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4485 #endif // #if defined(CL_VERSION_1_2) 4496 #if defined(CL_VERSION_1_2) 4498 #else // #if defined(CL_VERSION_1_2) 4500 #endif //#if defined(CL_VERSION_1_2) 4512 cl_int * err = NULL)
4515 object_ = ::clCreateFromGLRenderbuffer(
4528 #if defined(CL_VERSION_1_2) 4530 #else // #if defined(CL_VERSION_1_2) 4532 #endif //#if defined(CL_VERSION_1_2) 4538 #if defined(CL_VERSION_1_2) 4540 #else // #if defined(CL_VERSION_1_2) 4542 #endif //#if defined(CL_VERSION_1_2) 4549 BufferRenderGL& operator = (
const cl_mem& rhs)
4551 #if defined(CL_VERSION_1_2) 4552 ImageGL::operator=(rhs);
4553 #else // #if defined(CL_VERSION_1_2) 4554 Image2DGL::operator=(rhs);
4555 #endif //#if defined(CL_VERSION_1_2) 4563 #if defined(CL_VERSION_1_2) 4564 BufferRenderGL(
const BufferRenderGL& buf) : ImageGL(buf) {}
4565 #else // #if defined(CL_VERSION_1_2) 4567 #endif //#if defined(CL_VERSION_1_2) 4572 BufferRenderGL& operator = (
const BufferRenderGL &rhs)
4574 #if defined(CL_VERSION_1_2) 4575 ImageGL::operator=(rhs);
4576 #else // #if defined(CL_VERSION_1_2) 4577 Image2DGL::operator=(rhs);
4578 #endif //#if defined(CL_VERSION_1_2) 4582 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4586 #if defined(CL_VERSION_1_2) 4587 BufferRenderGL(BufferRenderGL&& buf)
CL_HPP_NOEXCEPT : ImageGL(std::move(buf)) {}
4588 #else // #if defined(CL_VERSION_1_2) 4589 BufferRenderGL(BufferRenderGL&& buf)
CL_HPP_NOEXCEPT : Image2DGL(std::move(buf)) {}
4590 #endif //#if defined(CL_VERSION_1_2) 4596 BufferRenderGL& operator = (BufferRenderGL &&buf)
4598 #if defined(CL_VERSION_1_2) 4599 ImageGL::operator=(std::move(buf));
4600 #else // #if defined(CL_VERSION_1_2) 4601 Image2DGL::operator=(std::move(buf));
4602 #endif //#if defined(CL_VERSION_1_2) 4606 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4610 cl_gl_object_type *type,
4611 cl_GLuint * gl_object_name)
4614 ::clGetGLObjectInfo(object_, type, gl_object_name),
4615 __GET_GL_OBJECT_INFO_ERR);
4639 cl_bool normalized_coords,
4640 cl_addressing_mode addressing_mode,
4641 cl_filter_mode filter_mode,
4645 object_ = ::clCreateSampler(
4690 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4704 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4707 template <
typename T>
4708 cl_int
getInfo(cl_sampler_info name, T* param)
const 4712 __GET_SAMPLER_INFO_ERR);
4716 template <cl_
int name>
typename 4721 detail::cl_sampler_info, name>::param_type
param;
4722 cl_int result =
getInfo(name, ¶m);
4763 NDRange(::
size_t size0, ::
size_t size1, ::
size_t size2)
4775 operator const ::size_t*()
const {
4776 return (const ::size_t*) sizes_;
4794 template <
typename T>
4797 static ::size_t
size(
const T&) {
return sizeof(T); }
4798 static const T*
ptr(
const T& value) {
return &value; }
4847 inline Kernel(
const Program& program,
const char* name, cl_int* err = NULL);
4884 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4898 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 4900 template <
typename T>
4901 cl_int
getInfo(cl_kernel_info name, T* param)
const 4905 __GET_KERNEL_INFO_ERR);
4908 template <cl_
int name>
typename 4913 detail::cl_kernel_info, name>::param_type
param;
4914 cl_int result =
getInfo(name, ¶m);
4921 #if defined(CL_VERSION_1_2) 4922 template <
typename T>
4923 cl_int getArgInfo(cl_uint argIndex, cl_kernel_arg_info name, T*
param)
const 4926 detail::getInfo(&::clGetKernelArgInfo, object_, argIndex, name, param),
4927 __GET_KERNEL_ARG_INFO_ERR);
4930 template <cl_
int name>
typename 4932 getArgInfo(cl_uint argIndex, cl_int* err = NULL)
const 4935 detail::cl_kernel_arg_info, name>::param_type param;
4936 cl_int result = getArgInfo(argIndex, name, ¶m);
4942 #endif // #if defined(CL_VERSION_1_2) 4944 template <
typename T>
4946 const Device& device, cl_kernel_work_group_info name, T* param)
const 4950 &::clGetKernelWorkGroupInfo, object_, device(), name, param),
4951 __GET_KERNEL_WORK_GROUP_INFO_ERR);
4954 template <cl_
int name>
typename 4959 detail::cl_kernel_work_group_info, name>::param_type param;
4960 cl_int result = getWorkGroupInfo(device, name, ¶m);
4967 template <
typename T>
4976 __SET_KERNEL_ARGS_ERR);
4979 cl_int
setArg(cl_uint index, ::
size_t size,
const void* argPtr)
4982 ::clSetKernelArg(object_, index, size, argPtr),
4983 __SET_KERNEL_ARGS_ERR);
4993 typedef VECTOR_CLASS<std::pair<const void*, ::size_t> >
Binaries;
4994 typedef VECTOR_CLASS<std::pair<const char*, ::size_t> >
Sources;
4997 const STRING_CLASS& source,
5003 const char * strings = source.c_str();
5004 const ::size_t length = source.size();
5008 object_ = ::clCreateProgramWithSource(
5009 context(), (cl_uint)1, &strings, &length, &error);
5013 if (error == CL_SUCCESS && build) {
5015 error = ::clBuildProgram(
5033 const STRING_CLASS& source,
5039 const char * strings = source.c_str();
5040 const ::size_t length = source.size();
5042 object_ = ::clCreateProgramWithSource(
5043 context(), (cl_uint)1, &strings, &length, &error);
5047 if (error == CL_SUCCESS && build) {
5049 error = ::clBuildProgram(
5067 const Sources& sources,
5072 const ::size_t n = (
::size_t)sources.size();
5074 const char** strings = (
const char**) alloca(n *
sizeof(
const char*));
5076 for (::
size_t i = 0; i < n; ++i) {
5077 strings[i] = sources[(int)i].first;
5078 lengths[i] = sources[(int)i].second;
5081 object_ = ::clCreateProgramWithSource(
5082 context(), (cl_uint)n, strings, lengths, &error);
5111 const VECTOR_CLASS<Device>& devices,
5112 const Binaries& binaries,
5113 VECTOR_CLASS<cl_int>* binaryStatus = NULL,
5118 const ::size_t numDevices = devices.size();
5121 if(binaries.size() != numDevices) {
5122 error = CL_INVALID_VALUE;
5131 const unsigned char** images = (
const unsigned char**) alloca(numDevices *
sizeof(
const unsigned char**));
5133 for (::
size_t i = 0; i < numDevices; ++i) {
5134 images[i] = (
const unsigned char*)binaries[i].first;
5135 lengths[i] = binaries[(int)i].second;
5138 cl_device_id* deviceIDs = (cl_device_id*) alloca(numDevices *
sizeof(cl_device_id));
5139 for( ::
size_t deviceIndex = 0; deviceIndex < numDevices; ++deviceIndex ) {
5140 deviceIDs[deviceIndex] = (devices[deviceIndex])();
5144 binaryStatus->resize(numDevices);
5147 object_ = ::clCreateProgramWithBinary(
5148 context(), (cl_uint) devices.size(),
5150 lengths, images, (binaryStatus != NULL && numDevices > 0)
5151 ? &binaryStatus->front()
5161 #if defined(CL_VERSION_1_2) 5168 const VECTOR_CLASS<Device>& devices,
5169 const STRING_CLASS& kernelNames,
5175 ::size_t numDevices = devices.size();
5176 cl_device_id* deviceIDs = (cl_device_id*) alloca(numDevices *
sizeof(cl_device_id));
5177 for( ::
size_t deviceIndex = 0; deviceIndex < numDevices; ++deviceIndex ) {
5178 deviceIDs[deviceIndex] = (devices[deviceIndex])();
5181 object_ = ::clCreateProgramWithBuiltInKernels(
5183 (cl_uint) devices.size(),
5185 kernelNames.c_str(),
5193 #endif // #if defined(CL_VERSION_1_2) 5219 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 5233 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 5236 const VECTOR_CLASS<Device>& devices,
5237 const char* options = NULL,
5238 void (
CL_CALLBACK * notifyFptr)(cl_program,
void *) = NULL,
5239 void* data = NULL)
const 5241 ::size_t numDevices = devices.size();
5242 cl_device_id* deviceIDs = (cl_device_id*) alloca(numDevices *
sizeof(cl_device_id));
5243 for( ::
size_t deviceIndex = 0; deviceIndex < numDevices; ++deviceIndex ) {
5244 deviceIDs[deviceIndex] = (devices[deviceIndex])();
5256 __BUILD_PROGRAM_ERR);
5260 const char* options = NULL,
5261 void (
CL_CALLBACK * notifyFptr)(cl_program,
void *) = NULL,
5262 void* data = NULL)
const 5272 __BUILD_PROGRAM_ERR);
5275 #if defined(CL_VERSION_1_2) 5277 const char* options = NULL,
5278 void (
CL_CALLBACK * notifyFptr)(cl_program,
void *) = NULL,
5279 void* data = NULL)
const 5292 __COMPILE_PROGRAM_ERR);
5296 template <
typename T>
5297 cl_int
getInfo(cl_program_info name, T* param)
const 5301 __GET_PROGRAM_INFO_ERR);
5304 template <cl_
int name>
typename 5309 detail::cl_program_info, name>::param_type
param;
5310 cl_int result =
getInfo(name, ¶m);
5317 template <
typename T>
5319 const Device& device, cl_program_build_info name, T* param)
const 5323 &::clGetProgramBuildInfo, object_, device(), name, param),
5324 __GET_PROGRAM_BUILD_INFO_ERR);
5327 template <cl_
int name>
typename 5332 detail::cl_program_build_info, name>::param_type
param;
5333 cl_int result = getBuildInfo(device, name, ¶m);
5343 cl_int err = ::clCreateKernelsInProgram(object_, 0, NULL, &numKernels);
5344 if (err != CL_SUCCESS) {
5349 err = ::clCreateKernelsInProgram(
5350 object_, numKernels, (cl_kernel*) value, NULL);
5351 if (err != CL_SUCCESS) {
5355 kernels->assign(&value[0], &value[numKernels]);
5360 #if defined(CL_VERSION_1_2) 5364 const char* options = NULL,
5365 void (
CL_CALLBACK * notifyFptr)(cl_program,
void *) = NULL,
5369 cl_int error_local = CL_SUCCESS;
5371 cl_program programs[2] = { input1(), input2() };
5374 if(error_local!=CL_SUCCESS) {
5378 cl_program prog = ::clLinkProgram(
5398 VECTOR_CLASS<Program> inputPrograms,
5399 const char* options = NULL,
5400 void (
CL_CALLBACK * notifyFptr)(cl_program,
void *) = NULL,
5404 cl_int error_local = CL_SUCCESS;
5406 cl_program * programs = (cl_program*) alloca(inputPrograms.size() *
sizeof(cl_program));
5408 if (programs != NULL) {
5409 for (
unsigned int i = 0; i < inputPrograms.size(); i++) {
5410 programs[i] = inputPrograms[i]();
5415 if(inputPrograms.size() > 0) {
5416 ctx = inputPrograms[0].
getInfo<CL_PROGRAM_CONTEXT>(&error_local);
5417 if(error_local!=CL_SUCCESS) {
5421 cl_program prog = ::clLinkProgram(
5426 (cl_uint)inputPrograms.size(),
5442 inline VECTOR_CLASS<char *> cl::Program::getInfo<CL_PROGRAM_BINARIES>(cl_int* err)
const 5444 VECTOR_CLASS< ::size_t> sizes = getInfo<CL_PROGRAM_BINARY_SIZES>();
5445 VECTOR_CLASS<char *> binaries;
5446 for (VECTOR_CLASS< ::size_t>::iterator
s = sizes.begin();
s != sizes.end(); ++
s)
5451 binaries.push_back(ptr);
5454 cl_int result =
getInfo(CL_PROGRAM_BINARIES, &binaries);
5465 object_ = ::clCreateKernel(program(), name, &error);
5480 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 5481 static std::atomic<int> default_initialized_;
5482 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 5484 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 5489 cl_command_queue_properties properties,
5497 if (error != CL_SUCCESS) {
5505 object_ = ::clCreateCommandQueue(
5506 context(), device(), properties, &error);
5519 cl_command_queue_properties properties = 0,
5523 VECTOR_CLASS<cl::Device> devices;
5524 error = context.
getInfo(CL_CONTEXT_DEVICES, &devices);
5528 if (error != CL_SUCCESS)
5536 object_ = ::clCreateCommandQueue(context(), devices[0](), properties, &error);
5549 cl_command_queue_properties properties = 0,
5553 object_ = ::clCreateCommandQueue(
5554 context(), device(), properties, &error);
5576 #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 5590 #endif // #if defined(CL_HPP_RVALUE_REFERENCES_SUPPORTED) 5595 &default_initialized_,
5600 *err = default_error_;
5607 while(default_initialized_ != __DEFAULT_INITIALIZED) {
5612 *err = default_error_;
5622 if (error != CL_SUCCESS) {
5640 default_error_ = error;
5647 *err = default_error_;
5663 template <
typename T>
5664 cl_int
getInfo(cl_command_queue_info name, T* param)
const 5668 &::clGetCommandQueueInfo, object_, name, param),
5669 __GET_COMMAND_QUEUE_INFO_ERR);
5672 template <cl_
int name>
typename 5677 detail::cl_command_queue_info, name>::param_type
param;
5678 cl_int result =
getInfo(name, ¶m);
5691 const VECTOR_CLASS<Event>* events = NULL,
5692 Event* event = NULL)
const 5696 ::clEnqueueReadBuffer(
5697 object_, buffer(), blocking, offset, size,
5699 (events != NULL) ? (cl_uint) events->size() : 0,
5700 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5701 (
event != NULL) ? &tmp : NULL),
5702 __ENQUEUE_READ_BUFFER_ERR);
5704 if (event != NULL && err == CL_SUCCESS)
5716 const VECTOR_CLASS<Event>* events = NULL,
5717 Event* event = NULL)
const 5721 ::clEnqueueWriteBuffer(
5722 object_, buffer(), blocking, offset, size,
5724 (events != NULL) ? (cl_uint) events->size() : 0,
5725 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5726 (
event != NULL) ? &tmp : NULL),
5727 __ENQUEUE_WRITE_BUFFER_ERR);
5729 if (event != NULL && err == CL_SUCCESS)
5738 ::
size_t src_offset,
5739 ::
size_t dst_offset,
5741 const VECTOR_CLASS<Event>* events = NULL,
5742 Event* event = NULL)
const 5746 ::clEnqueueCopyBuffer(
5747 object_, src(), dst(), src_offset, dst_offset, size,
5748 (events != NULL) ? (cl_uint) events->size() : 0,
5749 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5750 (
event != NULL) ? &tmp : NULL),
5751 __ENQEUE_COPY_BUFFER_ERR);
5753 if (event != NULL && err == CL_SUCCESS)
5765 ::
size_t buffer_row_pitch,
5766 ::
size_t buffer_slice_pitch,
5767 ::
size_t host_row_pitch,
5768 ::
size_t host_slice_pitch,
5770 const VECTOR_CLASS<Event>* events = NULL,
5771 Event* event = NULL)
const 5775 ::clEnqueueReadBufferRect(
5779 (const ::size_t *)buffer_offset,
5780 (const ::size_t *)host_offset,
5781 (const ::size_t *)region,
5787 (events != NULL) ? (cl_uint) events->size() : 0,
5788 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5789 (
event != NULL) ? &tmp : NULL),
5790 __ENQUEUE_READ_BUFFER_RECT_ERR);
5792 if (event != NULL && err == CL_SUCCESS)
5804 ::
size_t buffer_row_pitch,
5805 ::
size_t buffer_slice_pitch,
5806 ::
size_t host_row_pitch,
5807 ::
size_t host_slice_pitch,
5809 const VECTOR_CLASS<Event>* events = NULL,
5810 Event* event = NULL)
const 5814 ::clEnqueueWriteBufferRect(
5818 (const ::size_t *)buffer_offset,
5819 (const ::size_t *)host_offset,
5820 (const ::size_t *)region,
5826 (events != NULL) ? (cl_uint) events->size() : 0,
5827 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5828 (
event != NULL) ? &tmp : NULL),
5829 __ENQUEUE_WRITE_BUFFER_RECT_ERR);
5831 if (event != NULL && err == CL_SUCCESS)
5843 ::
size_t src_row_pitch,
5844 ::
size_t src_slice_pitch,
5845 ::
size_t dst_row_pitch,
5846 ::
size_t dst_slice_pitch,
5847 const VECTOR_CLASS<Event>* events = NULL,
5848 Event* event = NULL)
const 5852 ::clEnqueueCopyBufferRect(
5856 (const ::size_t *)src_origin,
5857 (const ::size_t *)dst_origin,
5858 (const ::size_t *)region,
5863 (events != NULL) ? (cl_uint) events->size() : 0,
5864 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5865 (
event != NULL) ? &tmp : NULL),
5866 __ENQEUE_COPY_BUFFER_RECT_ERR);
5868 if (event != NULL && err == CL_SUCCESS)
5874 #if defined(CL_VERSION_1_2) 5881 template<
typename PatternType>
5882 cl_int enqueueFillBuffer(
5884 PatternType pattern,
5887 const VECTOR_CLASS<Event>* events = NULL,
5888 Event* event = NULL)
const 5892 ::clEnqueueFillBuffer(
5895 static_cast<void*>(&pattern),
5896 sizeof(PatternType),
5899 (events != NULL) ? (cl_uint) events->size() : 0,
5900 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5901 (
event != NULL) ? &tmp : NULL),
5902 __ENQUEUE_FILL_BUFFER_ERR);
5904 if (event != NULL && err == CL_SUCCESS)
5909 #endif // #if defined(CL_VERSION_1_2) 5917 ::
size_t slice_pitch,
5919 const VECTOR_CLASS<Event>* events = NULL,
5920 Event* event = NULL)
const 5924 ::clEnqueueReadImage(
5925 object_, image(), blocking, (const ::size_t *) origin,
5926 (const ::size_t *) region, row_pitch, slice_pitch, ptr,
5927 (events != NULL) ? (cl_uint) events->size() : 0,
5928 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5929 (
event != NULL) ? &tmp : NULL),
5930 __ENQUEUE_READ_IMAGE_ERR);
5932 if (event != NULL && err == CL_SUCCESS)
5944 ::
size_t slice_pitch,
5946 const VECTOR_CLASS<Event>* events = NULL,
5947 Event* event = NULL)
const 5951 ::clEnqueueWriteImage(
5952 object_, image(), blocking, (const ::size_t *) origin,
5953 (const ::size_t *) region, row_pitch, slice_pitch, ptr,
5954 (events != NULL) ? (cl_uint) events->size() : 0,
5955 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5956 (
event != NULL) ? &tmp : NULL),
5957 __ENQUEUE_WRITE_IMAGE_ERR);
5959 if (event != NULL && err == CL_SUCCESS)
5971 const VECTOR_CLASS<Event>* events = NULL,
5972 Event* event = NULL)
const 5976 ::clEnqueueCopyImage(
5977 object_, src(), dst(), (const ::size_t *) src_origin,
5978 (const ::size_t *)dst_origin, (const ::size_t *) region,
5979 (events != NULL) ? (cl_uint) events->size() : 0,
5980 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
5981 (
event != NULL) ? &tmp : NULL),
5982 __ENQUEUE_COPY_IMAGE_ERR);
5984 if (event != NULL && err == CL_SUCCESS)
5990 #if defined(CL_VERSION_1_2) 5998 cl_int enqueueFillImage(
6000 cl_float4 fillColor,
6003 const VECTOR_CLASS<Event>* events = NULL,
6004 Event* event = NULL)
const 6008 ::clEnqueueFillImage(
6011 static_cast<void*>(&fillColor),
6012 (const ::size_t *) origin,
6013 (const ::size_t *) region,
6014 (events != NULL) ? (cl_uint) events->size() : 0,
6015 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6016 (
event != NULL) ? &tmp : NULL),
6017 __ENQUEUE_FILL_IMAGE_ERR);
6019 if (event != NULL && err == CL_SUCCESS)
6032 cl_int enqueueFillImage(
6037 const VECTOR_CLASS<Event>* events = NULL,
6038 Event* event = NULL)
const 6042 ::clEnqueueFillImage(
6045 static_cast<void*>(&fillColor),
6046 (const ::size_t *) origin,
6047 (const ::size_t *) region,
6048 (events != NULL) ? (cl_uint) events->size() : 0,
6049 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6050 (
event != NULL) ? &tmp : NULL),
6051 __ENQUEUE_FILL_IMAGE_ERR);
6053 if (event != NULL && err == CL_SUCCESS)
6066 cl_int enqueueFillImage(
6071 const VECTOR_CLASS<Event>* events = NULL,
6072 Event* event = NULL)
const 6076 ::clEnqueueFillImage(
6079 static_cast<void*>(&fillColor),
6080 (const ::size_t *) origin,
6081 (const ::size_t *) region,
6082 (events != NULL) ? (cl_uint) events->size() : 0,
6083 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6084 (
event != NULL) ? &tmp : NULL),
6085 __ENQUEUE_FILL_IMAGE_ERR);
6087 if (event != NULL && err == CL_SUCCESS)
6092 #endif // #if defined(CL_VERSION_1_2) 6099 ::
size_t dst_offset,
6100 const VECTOR_CLASS<Event>* events = NULL,
6101 Event* event = NULL)
const 6105 ::clEnqueueCopyImageToBuffer(
6106 object_, src(), dst(), (const ::size_t *) src_origin,
6107 (const ::size_t *) region, dst_offset,
6108 (events != NULL) ? (cl_uint) events->size() : 0,
6109 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6110 (
event != NULL) ? &tmp : NULL),
6111 __ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR);
6113 if (event != NULL && err == CL_SUCCESS)
6122 ::
size_t src_offset,
6125 const VECTOR_CLASS<Event>* events = NULL,
6126 Event* event = NULL)
const 6130 ::clEnqueueCopyBufferToImage(
6131 object_, src(), dst(), src_offset,
6132 (const ::size_t *) dst_origin, (const ::size_t *) region,
6133 (events != NULL) ? (cl_uint) events->size() : 0,
6134 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6135 (
event != NULL) ? &tmp : NULL),
6136 __ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR);
6138 if (event != NULL && err == CL_SUCCESS)
6150 const VECTOR_CLASS<Event>* events = NULL,
6151 Event* event = NULL,
6152 cl_int* err = NULL)
const 6156 void * result = ::clEnqueueMapBuffer(
6157 object_, buffer(), blocking, flags, offset, size,
6158 (events != NULL) ? (cl_uint) events->size() : 0,
6159 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6160 (
event != NULL) ? &tmp : NULL,
6167 if (event != NULL && error == CL_SUCCESS)
6174 const Image& buffer,
6179 ::
size_t * row_pitch,
6180 ::
size_t * slice_pitch,
6181 const VECTOR_CLASS<Event>* events = NULL,
6182 Event* event = NULL,
6183 cl_int* err = NULL)
const 6187 void * result = ::clEnqueueMapImage(
6188 object_, buffer(), blocking, flags,
6189 (const ::size_t *) origin, (const ::size_t *) region,
6190 row_pitch, slice_pitch,
6191 (events != NULL) ? (cl_uint) events->size() : 0,
6192 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6193 (
event != NULL) ? &tmp : NULL,
6200 if (event != NULL && error == CL_SUCCESS)
6208 const VECTOR_CLASS<Event>* events = NULL,
6209 Event* event = NULL)
const 6213 ::clEnqueueUnmapMemObject(
6214 object_, memory(), mapped_ptr,
6215 (events != NULL) ? (cl_uint) events->size() : 0,
6216 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6217 (
event != NULL) ? &tmp : NULL),
6218 __ENQUEUE_UNMAP_MEM_OBJECT_ERR);
6220 if (event != NULL && err == CL_SUCCESS)
6226 #if defined(CL_VERSION_1_2) 6238 cl_int enqueueMarkerWithWaitList(
6239 const VECTOR_CLASS<Event> *events = 0,
6244 ::clEnqueueMarkerWithWaitList(
6246 (events != NULL) ? (cl_uint) events->size() : 0,
6247 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6248 (
event != NULL) ? &tmp : NULL),
6249 __ENQUEUE_MARKER_WAIT_LIST_ERR);
6251 if (event != NULL && err == CL_SUCCESS)
6268 cl_int enqueueBarrierWithWaitList(
6269 const VECTOR_CLASS<Event> *events = 0,
6274 ::clEnqueueBarrierWithWaitList(
6276 (events != NULL) ? (cl_uint) events->size() : 0,
6277 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6278 (
event != NULL) ? &tmp : NULL),
6279 __ENQUEUE_BARRIER_WAIT_LIST_ERR);
6281 if (event != NULL && err == CL_SUCCESS)
6291 cl_int enqueueMigrateMemObjects(
6292 const VECTOR_CLASS<Memory> &memObjects,
6293 cl_mem_migration_flags flags,
6294 const VECTOR_CLASS<Event>* events = NULL,
6300 cl_mem* localMemObjects =
static_cast<cl_mem*
>(alloca(memObjects.size() *
sizeof(cl_mem)));
6301 for(
int i = 0; i < (int)memObjects.size(); ++i ) {
6302 localMemObjects[i] = memObjects[i]();
6307 ::clEnqueueMigrateMemObjects(
6309 (cl_uint)memObjects.size(),
6310 static_cast<const cl_mem*
>(localMemObjects),
6312 (events != NULL) ? (cl_uint) events->size() : 0,
6313 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6314 (
event != NULL) ? &tmp : NULL),
6315 __ENQUEUE_UNMAP_MEM_OBJECT_ERR);
6317 if (event != NULL && err == CL_SUCCESS)
6322 #endif // #if defined(CL_VERSION_1_2) 6328 const NDRange& local = NullRange,
6329 const VECTOR_CLASS<Event>* events = NULL,
6330 Event* event = NULL)
const 6334 ::clEnqueueNDRangeKernel(
6335 object_, kernel(), (cl_uint) global.
dimensions(),
6336 offset.
dimensions() != 0 ? (const ::size_t*) offset : NULL,
6337 (const ::size_t*) global,
6338 local.
dimensions() != 0 ? (const ::size_t*) local : NULL,
6339 (events != NULL) ? (cl_uint) events->size() : 0,
6340 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6341 (
event != NULL) ? &tmp : NULL),
6342 __ENQUEUE_NDRANGE_KERNEL_ERR);
6344 if (event != NULL && err == CL_SUCCESS)
6352 const VECTOR_CLASS<Event>* events = NULL,
6353 Event* event = NULL)
const 6359 (events != NULL) ? (cl_uint) events->size() : 0,
6360 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6361 (
event != NULL) ? &tmp : NULL),
6362 __ENQUEUE_TASK_ERR);
6364 if (event != NULL && err == CL_SUCCESS)
6372 std::pair<void*, ::size_t> args,
6373 const VECTOR_CLASS<Memory>* mem_objects = NULL,
6374 const VECTOR_CLASS<const void*>* mem_locs = NULL,
6375 const VECTOR_CLASS<Event>* events = NULL,
6376 Event* event = NULL)
const 6378 cl_mem * mems = (mem_objects != NULL && mem_objects->size() > 0)
6379 ? (cl_mem*) alloca(mem_objects->size() *
sizeof(cl_mem))
6383 for (
unsigned int i = 0; i < mem_objects->size(); i++) {
6384 mems[i] = ((*mem_objects)[i])();
6390 ::clEnqueueNativeKernel(
6391 object_, userFptr, args.first, args.second,
6392 (mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
6394 (mem_locs != NULL && mem_locs->size() > 0) ? (
const void **) &mem_locs->front() : NULL,
6395 (events != NULL) ? (cl_uint) events->size() : 0,
6396 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6397 (
event != NULL) ? &tmp : NULL),
6398 __ENQUEUE_NATIVE_KERNEL);
6400 if (event != NULL && err == CL_SUCCESS)
6409 #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) || (defined(CL_VERSION_1_1) && !defined(CL_VERSION_1_2)) 6411 cl_int enqueueMarker(
Event* event = NULL)
const CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
6417 (event != NULL) ? &tmp : NULL),
6418 __ENQUEUE_MARKER_ERR);
6420 if (event != NULL && err == CL_SUCCESS)
6427 cl_int enqueueWaitForEvents(
const VECTOR_CLASS<Event>& events)
const CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
6430 ::clEnqueueWaitForEvents(
6432 (cl_uint) events.size(),
6433 events.size() > 0 ? (
const cl_event*) &events.front() : NULL),
6434 __ENQUEUE_WAIT_FOR_EVENTS_ERR);
6436 #endif // #if defined(CL_VERSION_1_1) 6439 const VECTOR_CLASS<Memory>* mem_objects = NULL,
6440 const VECTOR_CLASS<Event>* events = NULL,
6441 Event* event = NULL)
const 6445 ::clEnqueueAcquireGLObjects(
6447 (mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
6448 (mem_objects != NULL && mem_objects->size() > 0) ? (
const cl_mem *) &mem_objects->front(): NULL,
6449 (events != NULL) ? (cl_uint) events->size() : 0,
6450 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6451 (
event != NULL) ? &tmp : NULL),
6452 __ENQUEUE_ACQUIRE_GL_ERR);
6454 if (event != NULL && err == CL_SUCCESS)
6461 const VECTOR_CLASS<Memory>* mem_objects = NULL,
6462 const VECTOR_CLASS<Event>* events = NULL,
6463 Event* event = NULL)
const 6467 ::clEnqueueReleaseGLObjects(
6469 (mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
6470 (mem_objects != NULL && mem_objects->size() > 0) ? (
const cl_mem *) &mem_objects->front(): NULL,
6471 (events != NULL) ? (cl_uint) events->size() : 0,
6472 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6473 (
event != NULL) ? &tmp : NULL),
6474 __ENQUEUE_RELEASE_GL_ERR);
6476 if (event != NULL && err == CL_SUCCESS)
6482 #if defined (USE_DX_INTEROP) 6483 typedef CL_API_ENTRY cl_int (CL_API_CALL *PFN_clEnqueueAcquireD3D10ObjectsKHR)(
6484 cl_command_queue command_queue, cl_uint num_objects,
6485 const cl_mem* mem_objects, cl_uint num_events_in_wait_list,
6486 const cl_event* event_wait_list, cl_event* event);
6487 typedef CL_API_ENTRY cl_int (CL_API_CALL *PFN_clEnqueueReleaseD3D10ObjectsKHR)(
6488 cl_command_queue command_queue, cl_uint num_objects,
6489 const cl_mem* mem_objects, cl_uint num_events_in_wait_list,
6490 const cl_event* event_wait_list, cl_event* event);
6492 cl_int enqueueAcquireD3D10Objects(
6493 const VECTOR_CLASS<Memory>* mem_objects = NULL,
6494 const VECTOR_CLASS<Event>* events = NULL,
6495 Event* event = NULL)
const 6497 static PFN_clEnqueueAcquireD3D10ObjectsKHR pfn_clEnqueueAcquireD3D10ObjectsKHR = NULL;
6498 #if defined(CL_VERSION_1_2) 6499 cl_context context = getInfo<CL_QUEUE_CONTEXT>();
6500 cl::Device device(getInfo<CL_QUEUE_DEVICE>());
6501 cl_platform_id platform = device.getInfo<CL_DEVICE_PLATFORM>();
6502 __INIT_CL_EXT_FCN_PTR_PLATFORM(platform, clEnqueueAcquireD3D10ObjectsKHR);
6504 #if defined(CL_VERSION_1_1) 6505 __INIT_CL_EXT_FCN_PTR(clEnqueueAcquireD3D10ObjectsKHR);
6510 pfn_clEnqueueAcquireD3D10ObjectsKHR(
6512 (mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
6513 (mem_objects != NULL && mem_objects->size() > 0) ? (
const cl_mem *) &mem_objects->front(): NULL,
6514 (events != NULL) ? (cl_uint) events->size() : 0,
6515 (events != NULL) ? (cl_event*) &events->front() : NULL,
6516 (
event != NULL) ? &tmp : NULL),
6517 __ENQUEUE_ACQUIRE_GL_ERR);
6519 if (event != NULL && err == CL_SUCCESS)
6525 cl_int enqueueReleaseD3D10Objects(
6526 const VECTOR_CLASS<Memory>* mem_objects = NULL,
6527 const VECTOR_CLASS<Event>* events = NULL,
6528 Event* event = NULL)
const 6530 static PFN_clEnqueueReleaseD3D10ObjectsKHR pfn_clEnqueueReleaseD3D10ObjectsKHR = NULL;
6531 #if defined(CL_VERSION_1_2) 6532 cl_context context = getInfo<CL_QUEUE_CONTEXT>();
6533 cl::Device device(getInfo<CL_QUEUE_DEVICE>());
6534 cl_platform_id platform = device.getInfo<CL_DEVICE_PLATFORM>();
6535 __INIT_CL_EXT_FCN_PTR_PLATFORM(platform, clEnqueueReleaseD3D10ObjectsKHR);
6536 #endif // #if defined(CL_VERSION_1_2) 6537 #if defined(CL_VERSION_1_1) 6538 __INIT_CL_EXT_FCN_PTR(clEnqueueReleaseD3D10ObjectsKHR);
6539 #endif // #if defined(CL_VERSION_1_1) 6543 pfn_clEnqueueReleaseD3D10ObjectsKHR(
6545 (mem_objects != NULL) ? (cl_uint) mem_objects->size() : 0,
6546 (mem_objects != NULL && mem_objects->size() > 0) ? (
const cl_mem *) &mem_objects->front(): NULL,
6547 (events != NULL) ? (cl_uint) events->size() : 0,
6548 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6549 (
event != NULL) ? &tmp : NULL),
6550 __ENQUEUE_RELEASE_GL_ERR);
6552 if (event != NULL && err == CL_SUCCESS)
6562 #if defined(CL_USE_DEPRECATED_OPENCL_1_1_APIS) || (defined(CL_VERSION_1_1) && !defined(CL_VERSION_1_2)) 6564 cl_int enqueueBarrier()
const CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
6567 ::clEnqueueBarrier(object_),
6568 __ENQUEUE_BARRIER_ERR);
6570 #endif // #if defined(CL_VERSION_1_1) 6584 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 6586 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 6588 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 6592 #ifdef CL_HPP_CPP11_ATOMICS_SUPPORTED 6594 #else // !CL_HPP_CPP11_ATOMICS_SUPPORTED 6596 #endif // !CL_HPP_CPP11_ATOMICS_SUPPORTED 6598 __attribute__((weak))
volatile cl_int CommandQueue::default_error_ = CL_SUCCESS;
6601 template<
typename IteratorType >
6604 IteratorType startIterator,
6605 IteratorType endIterator,
6610 typedef typename std::iterator_traits<IteratorType>::value_type DataType;
6613 cl_mem_flags flags = 0;
6615 flags |= CL_MEM_READ_ONLY;
6618 flags |= CL_MEM_READ_WRITE;
6621 flags |= CL_MEM_USE_HOST_PTR;
6624 ::size_t size =
sizeof(DataType)*(endIterator - startIterator);
6627 object_ = ::clCreateBuffer(context(), flags, size, static_cast<DataType*>(&*startIterator), &error);
6629 object_ = ::clCreateBuffer(context(), flags, size, 0, &error);
6644 error =
cl::copy(queue, startIterator, endIterator, *
this);
6652 template<
typename IteratorType >
6655 IteratorType startIterator,
6656 IteratorType endIterator,
6661 typedef typename std::iterator_traits<IteratorType>::value_type DataType;
6664 cl_mem_flags flags = 0;
6666 flags |= CL_MEM_READ_ONLY;
6669 flags |= CL_MEM_READ_WRITE;
6672 flags |= CL_MEM_USE_HOST_PTR;
6675 ::size_t size =
sizeof(DataType)*(endIterator - startIterator);
6680 object_ = ::clCreateBuffer(context(), flags, size, static_cast<DataType*>(&*startIterator), &error);
6683 object_ = ::clCreateBuffer(context(), flags, size, 0, &error);
6692 error =
cl::copy(queue, startIterator, endIterator, *
this);
6706 const VECTOR_CLASS<Event>* events = NULL,
6707 Event* event = NULL)
6712 if (error != CL_SUCCESS) {
6716 return queue.
enqueueReadBuffer(buffer, blocking, offset, size, ptr, events, event);
6725 const VECTOR_CLASS<Event>* events = NULL,
6726 Event* event = NULL)
6731 if (error != CL_SUCCESS) {
6744 const VECTOR_CLASS<Event>* events = NULL,
6745 Event* event = NULL,
6755 void * result = ::clEnqueueMapBuffer(
6756 queue(), buffer(), blocking, flags, offset, size,
6757 (events != NULL) ? (cl_uint) events->size() : 0,
6758 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6772 const VECTOR_CLASS<Event>* events = NULL,
6773 Event* event = NULL)
6778 if (error != CL_SUCCESS) {
6784 ::clEnqueueUnmapMemObject(
6785 queue(), memory(), mapped_ptr,
6786 (events != NULL) ? (cl_uint) events->size() : 0,
6787 (events != NULL && events->size() > 0) ? (cl_event*) &events->front() : NULL,
6788 (
event != NULL) ? &tmp : NULL),
6789 __ENQUEUE_UNMAP_MEM_OBJECT_ERR);
6791 if (event != NULL && err == CL_SUCCESS)
6800 ::
size_t src_offset,
6801 ::
size_t dst_offset,
6803 const VECTOR_CLASS<Event>* events = NULL,
6804 Event* event = NULL)
6809 if (error != CL_SUCCESS) {
6813 return queue.
enqueueCopyBuffer(src, dst, src_offset, dst_offset, size, events, event);
6821 template<
typename IteratorType >
6822 inline cl_int
copy( IteratorType startIterator, IteratorType endIterator,
cl::Buffer &buffer )
6826 if (error != CL_SUCCESS)
6829 return cl::copy(queue, startIterator, endIterator, buffer);
6837 template<
typename IteratorType >
6838 inline cl_int
copy(
const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator )
6842 if (error != CL_SUCCESS)
6845 return cl::copy(queue, buffer, startIterator, endIterator);
6853 template<
typename IteratorType >
6856 typedef typename std::iterator_traits<IteratorType>::value_type DataType;
6859 ::size_t length = endIterator-startIterator;
6860 ::size_t byteLength = length*
sizeof(DataType);
6863 static_cast<DataType*
>(queue.
enqueueMapBuffer(buffer, CL_TRUE, CL_MAP_WRITE, 0, byteLength, 0, 0, &error));
6865 if( error != CL_SUCCESS ) {
6868 #if defined(_MSC_VER) 6872 stdext::checked_array_iterator<DataType*>(
6875 std::copy(startIterator, endIterator, pointer);
6880 if( error != CL_SUCCESS ) {
6892 template<
typename IteratorType >
6895 typedef typename std::iterator_traits<IteratorType>::value_type DataType;
6898 ::size_t length = endIterator-startIterator;
6899 ::size_t byteLength = length*
sizeof(DataType);
6902 static_cast<DataType*
>(queue.
enqueueMapBuffer(buffer, CL_TRUE, CL_MAP_READ, 0, byteLength, 0, 0, &error));
6904 if( error != CL_SUCCESS ) {
6907 std::copy(pointer, pointer + length, startIterator);
6911 if( error != CL_SUCCESS ) {
6918 #if defined(CL_VERSION_1_1) 6919 inline cl_int enqueueReadBufferRect(
6925 ::
size_t buffer_row_pitch,
6926 ::
size_t buffer_slice_pitch,
6927 ::
size_t host_row_pitch,
6928 ::
size_t host_slice_pitch,
6930 const VECTOR_CLASS<Event>* events = NULL,
6931 Event* event = NULL)
6936 if (error != CL_SUCCESS) {
6955 inline cl_int enqueueWriteBufferRect(
6961 ::
size_t buffer_row_pitch,
6962 ::
size_t buffer_slice_pitch,
6963 ::
size_t host_row_pitch,
6964 ::
size_t host_slice_pitch,
6966 const VECTOR_CLASS<Event>* events = NULL,
6967 Event* event = NULL)
6972 if (error != CL_SUCCESS) {
6991 inline cl_int enqueueCopyBufferRect(
6997 ::
size_t src_row_pitch,
6998 ::
size_t src_slice_pitch,
6999 ::
size_t dst_row_pitch,
7000 ::
size_t dst_slice_pitch,
7001 const VECTOR_CLASS<Event>* events = NULL,
7002 Event* event = NULL)
7007 if (error != CL_SUCCESS) {
7032 ::
size_t slice_pitch,
7034 const VECTOR_CLASS<Event>* events = NULL,
7035 Event* event = NULL)
7040 if (error != CL_SUCCESS) {
7062 ::
size_t slice_pitch,
7064 const VECTOR_CLASS<Event>* events = NULL,
7065 Event* event = NULL)
7070 if (error != CL_SUCCESS) {
7092 const VECTOR_CLASS<Event>* events = NULL,
7093 Event* event = NULL)
7098 if (error != CL_SUCCESS) {
7117 ::
size_t dst_offset,
7118 const VECTOR_CLASS<Event>* events = NULL,
7119 Event* event = NULL)
7124 if (error != CL_SUCCESS) {
7141 ::
size_t src_offset,
7144 const VECTOR_CLASS<Event>* events = NULL,
7145 Event* event = NULL)
7150 if (error != CL_SUCCESS) {
7170 if (error != CL_SUCCESS) {
7174 return queue.
flush();
7182 if (error != CL_SUCCESS) {
7236 events_.push_back(e);
7245 events_.push_back(e);
7254 events_.push_back(e);
7320 events_.push_back(e);
7329 events_.push_back(e);
7338 events_.push_back(e);
7376 template<
int index,
typename T0>
7381 kernel.
setArg(index, arg);
7394 typename T0,
typename T1,
typename T2,
typename T3,
7395 typename T4,
typename T5,
typename T6,
typename T7,
7396 typename T8,
typename T9,
typename T10,
typename T11,
7397 typename T12,
typename T13,
typename T14,
typename T15,
7398 typename T16,
typename T17,
typename T18,
typename T19,
7399 typename T20,
typename T21,
typename T22,
typename T23,
7400 typename T24,
typename T25,
typename T26,
typename T27,
7401 typename T28,
typename T29,
typename T30,
typename T31
7416 const STRING_CLASS name,
7417 cl_int * err = NULL) :
7418 kernel_(program, name.c_str(), err)
7582 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 32)) 7584 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
7808 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 31)) 7810 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
8030 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 30)) 8032 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
8248 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 29)) 8250 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
8462 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 28)) 8464 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
8672 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 27)) 8674 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
8878 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 26)) 8880 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
9080 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 25)) 9082 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
9278 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 24)) 9280 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
9472 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 23)) 9474 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
9662 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 22)) 9664 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
9848 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 21)) 9850 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10030 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 20)) 10032 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10208 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 19)) 10210 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10382 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 18)) 10384 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10552 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 17)) 10554 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10718 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 16)) 10720 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
10880 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 15)) 10882 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11038 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 14)) 11040 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11192 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 13)) 11194 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11342 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 12)) 11344 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11488 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 11)) 11490 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11630 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 10)) 11632 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11768 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 9)) 11770 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
11902 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 8)) 11904 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12032 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 7)) 12034 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12158 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 6)) 12160 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12280 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 5)) 12282 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12398 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 4)) 12400 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12512 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 3)) 12514 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12622 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 2)) 12624 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12728 #if (defined(_WIN32) && defined(_VARIADIC_MAX) && (_VARIADIC_MAX < 1)) 12730 static_assert(0,
"Visual Studio has a hard limit of argument count for a std::function expansion. Please define _VARIADIC_MAX to be 10. If you need more arguments than that VC12 and below cannot support it.");
12786 T12, T13, T14, T15,
12787 T16, T17, T18, T19,
12788 T20, T21, T22, T23,
12789 T24, T25, T26, T27,
12798 T12, T13, T14, T15,
12799 T16, T17, T18, T19,
12800 T20, T21, T22, T23,
12801 T24, T25, T26, T27,
12807 const STRING_CLASS name,
12808 cl_int * err = NULL) :
12809 detail::functionImplementation_<
12813 T12, T13, T14, T15,
12814 T16, T17, T18, T19,
12815 T20, T21, T22, T23,
12816 T24, T25, T26, T27,
12824 detail::functionImplementation_<
12828 T12, T13, T14, T15,
12829 T16, T17, T18, T19,
12830 T20, T21, T22, T23,
12831 T24, T25, T26, T27,
12842 #if !defined(__CL_USER_OVERRIDE_ERROR_STRINGS) 12843 #undef __GET_DEVICE_INFO_ERR 12844 #undef __GET_PLATFORM_INFO_ERR 12845 #undef __GET_DEVICE_IDS_ERR 12846 #undef __GET_CONTEXT_INFO_ERR 12847 #undef __GET_EVENT_INFO_ERR 12848 #undef __GET_EVENT_PROFILE_INFO_ERR 12849 #undef __GET_MEM_OBJECT_INFO_ERR 12850 #undef __GET_IMAGE_INFO_ERR 12851 #undef __GET_SAMPLER_INFO_ERR 12852 #undef __GET_KERNEL_INFO_ERR 12853 #undef __GET_KERNEL_ARG_INFO_ERR 12854 #undef __GET_KERNEL_WORK_GROUP_INFO_ERR 12855 #undef __GET_PROGRAM_INFO_ERR 12856 #undef __GET_PROGRAM_BUILD_INFO_ERR 12857 #undef __GET_COMMAND_QUEUE_INFO_ERR 12859 #undef __CREATE_CONTEXT_ERR 12860 #undef __CREATE_CONTEXT_FROM_TYPE_ERR 12861 #undef __GET_SUPPORTED_IMAGE_FORMATS_ERR 12863 #undef __CREATE_BUFFER_ERR 12864 #undef __CREATE_SUBBUFFER_ERR 12865 #undef __CREATE_IMAGE2D_ERR 12866 #undef __CREATE_IMAGE3D_ERR 12867 #undef __CREATE_SAMPLER_ERR 12868 #undef __SET_MEM_OBJECT_DESTRUCTOR_CALLBACK_ERR 12870 #undef __CREATE_USER_EVENT_ERR 12871 #undef __SET_USER_EVENT_STATUS_ERR 12872 #undef __SET_EVENT_CALLBACK_ERR 12873 #undef __SET_PRINTF_CALLBACK_ERR 12875 #undef __WAIT_FOR_EVENTS_ERR 12877 #undef __CREATE_KERNEL_ERR 12878 #undef __SET_KERNEL_ARGS_ERR 12879 #undef __CREATE_PROGRAM_WITH_SOURCE_ERR 12880 #undef __CREATE_PROGRAM_WITH_BINARY_ERR 12881 #undef __CREATE_PROGRAM_WITH_BUILT_IN_KERNELS_ERR 12882 #undef __BUILD_PROGRAM_ERR 12883 #undef __CREATE_KERNELS_IN_PROGRAM_ERR 12885 #undef __CREATE_COMMAND_QUEUE_ERR 12886 #undef __SET_COMMAND_QUEUE_PROPERTY_ERR 12887 #undef __ENQUEUE_READ_BUFFER_ERR 12888 #undef __ENQUEUE_WRITE_BUFFER_ERR 12889 #undef __ENQUEUE_READ_BUFFER_RECT_ERR 12890 #undef __ENQUEUE_WRITE_BUFFER_RECT_ERR 12891 #undef __ENQEUE_COPY_BUFFER_ERR 12892 #undef __ENQEUE_COPY_BUFFER_RECT_ERR 12893 #undef __ENQUEUE_READ_IMAGE_ERR 12894 #undef __ENQUEUE_WRITE_IMAGE_ERR 12895 #undef __ENQUEUE_COPY_IMAGE_ERR 12896 #undef __ENQUEUE_COPY_IMAGE_TO_BUFFER_ERR 12897 #undef __ENQUEUE_COPY_BUFFER_TO_IMAGE_ERR 12898 #undef __ENQUEUE_MAP_BUFFER_ERR 12899 #undef __ENQUEUE_MAP_IMAGE_ERR 12900 #undef __ENQUEUE_UNMAP_MEM_OBJECT_ERR 12901 #undef __ENQUEUE_NDRANGE_KERNEL_ERR 12902 #undef __ENQUEUE_TASK_ERR 12903 #undef __ENQUEUE_NATIVE_KERNEL 12905 #undef __CL_EXPLICIT_CONSTRUCTORS 12907 #undef __UNLOAD_COMPILER_ERR 12908 #endif //__CL_USER_OVERRIDE_ERROR_STRINGS 12910 #undef __CL_FUNCTION_TYPE 12916 #if defined(CL_VERSION_1_1) 12917 #undef __INIT_CL_EXT_FCN_PTR 12918 #endif // #if defined(CL_VERSION_1_1) 12919 #undef __CREATE_SUB_DEVICES 12921 #if defined(USE_CL_DEVICE_FISSION) 12922 #undef __PARAM_NAME_DEVICE_FISSION 12923 #endif // USE_CL_DEVICE_FISSION 12925 #undef __DEFAULT_NOT_INITIALIZED 12926 #undef __DEFAULT_BEING_INITIALIZED 12927 #undef __DEFAULT_INITIALIZED 12929 #undef CL_HPP_RVALUE_REFERENCES_SUPPORTED 12930 #undef CL_HPP_NOEXCEPT CommandQueue(const Context &context, cl_command_queue_properties properties=0, cl_int *err=NULL)
Constructs a CommandQueue for an implementation defined device in the given context.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
__CL_EXPLICIT_CONSTRUCTORS Image(const cl_mem &image)
Constructor from cl_mem - takes ownership.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl_int getInfo(cl_context_info name, T *param) const
Wrapper for clGetContextInfo().
Program(const Program &program)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
Image2D & operator=(const cl_mem &rhs)
Assignment from cl_mem - performs shallow copy.
cl_int getInfo(cl_program_info name, T *param) const
Image2DGL(const Context &context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texobj, cl_int *err=NULL)
Constructs an Image2DGL in a specified context, from a given GL Texture.
cl_int build(const char *options=NULL, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=NULL, void *data=NULL) const
__CL_EXPLICIT_CONSTRUCTORS Buffer(const cl_mem &buffer)
Constructor from cl_mem - takes ownership.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
__CL_EXPLICIT_CONSTRUCTORS Kernel(const cl_kernel &kernel)
Constructor from cl_kernel - takes ownership.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
static const void * ptr(const LocalSpaceArg &)
static cl_int waitForEvents(const VECTOR_CLASS< Event > &events)
Blocks the calling thread until every event specified is complete.
Class interface for GL 2D Image Memory objects.
Image(const Image &img)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
Event result_type
Return type of the functor.
bool param(const std::string ¶m_name, T ¶m_val, const T &default_val)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Class interface for cl_event.
cl_int enqueueWriteBuffer(const Buffer &buffer, cl_bool blocking,::size_t offset,::size_t size, const void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
Function signature of kernel functor with no event dependency.
static volatile int default_initialized_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
Function signature of kernel functor with no event dependency.
Context(cl_device_type type, cl_context_properties *properties=NULL, void(CL_CALLBACK *notifyFptr)(const char *, const void *,::size_t, void *)=NULL, void *data=NULL, cl_int *err=NULL)
Constructs a context including all or a subset of devices of a specified type.
static cl_int release(cl_context context)
cl_int getInfo(cl_sampler_info name, T *param) const
Wrapper for clGetSamplerInfo().
cl_int enqueueWriteImage(const Image &image, cl_bool blocking, const size_t< 3 > &origin, const size_t< 3 > ®ion,::size_t row_pitch,::size_t slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
detail::param_traits< detail::cl_context_info, name >::param_type getInfo(cl_int *err=NULL) const
Wrapper for clGetContextInfo() that returns by value.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
__CL_EXPLICIT_CONSTRUCTORS Image3DGL(const cl_mem &image)
Constructor from cl_mem - takes ownership.
Memory(const Memory &mem)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
LocalSpaceArg Local(::size_t size)
Helper function for generating LocalSpaceArg objects.
Class interface for 2D Image Memory objects.
cl_int getInfo(cl_device_info name, T *param) const
Wrapper for clGetDeviceInfo().
The OpenCL C++ bindings are defined within this namespace.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
__CL_EXPLICIT_CONSTRUCTORS Image3D(const cl_mem &image3D)
Constructor from cl_mem - takes ownership.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5)
Function signature of kernel functor with no event dependency.
EnqueueArgs(Event e, NDRange global, NDRange local)
cl_int enqueueNDRangeKernel(const Kernel &kernel, const NDRange &offset, const NDRange &global, const NDRange &local=NullRange, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl_int createKernels(VECTOR_CLASS< Kernel > *kernels)
static volatile cl_int default_error_
static Context getDefault(cl_int *err=NULL)
Returns a singleton context including all devices of CL_DEVICE_TYPE_DEFAULT.
Sampler()
Default constructor - initializes to NULL.
static const T * ptr(const T &value)
CL_EXT_PREFIX__VERSION_1_1_DEPRECATED LocalSpaceArg __local(::size_t size) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
Helper function for generating LocalSpaceArg objects. Deprecated. Replaced with Local.
Class interface for specifying NDRange values.
Image()
Default constructor - initializes to NULL.
static cl_int release(cl_event event)
cl_int enqueueReadBuffer(const Buffer &buffer, cl_bool blocking,::size_t offset,::size_t size, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl_int enqueueCopyBuffer(const Buffer &src, const Buffer &dst,::size_t src_offset,::size_t dst_offset,::size_t size, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
Class interface for GL 3D Image Memory objects.
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
Program(const STRING_CLASS &source, bool build=false, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::functor_ FunctorType functor_
cl_int enqueueUnmapMemObject(const Memory &memory, void *mapped_ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
static cl_int retain(cl_command_queue queue)
BufferGL()
Default constructor - initializes to NULL.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::result_type Event result_type
Return type of the functor.
cl_int getInfo(cl_mem_info name, T *param) const
Wrapper for clGetMemObjectInfo().
__CL_EXPLICIT_CONSTRUCTORS Context(const cl_context &context)
Constructor from cl_context - takes ownership.
EnqueueArgs(CommandQueue &queue, const VECTOR_CLASS< Event > &events, NDRange global)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl_int enqueueReleaseGLObjects(const VECTOR_CLASS< Memory > *mem_objects=NULL, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl_int getBuildInfo(const Device &device, cl_program_build_info name, T *param) const
Sampler(const Sampler &sam)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
Buffer(const Buffer &buf)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
EnqueueArgs(CommandQueue &queue, Event e, NDRange offset, NDRange global, NDRange local)
VECTOR_CLASS< std::pair< const void *,::size_t > > Binaries
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
class used to interface between C++ and OpenCL C calls that require arrays of size_t values...
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
size_t()
Initialize size_t to all 0s.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType > FunctorType
EnqueueArgs(CommandQueue &queue, Event e, NDRange global, NDRange local)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23)
cl_int enqueueReadImage(const Image &image, cl_bool blocking, const size_t< 3 > &origin, const size_t< 3 > ®ion,::size_t row_pitch,::size_t slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
Function signature of kernel functor with no event dependency.
static cl_int release(cl_sampler sampler)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Wrapper(const Wrapper< cl_type > &rhs)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26, T27 arg27, T28 arg28)
Class interface for cl_sampler.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
::size_t size(const LocalSpaceArg &value)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
static volatile cl_int default_error_
KernelFunctorGlobal(Kernel kernel)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
NDRange(::size_t size0,::size_t size1,::size_t size2)
Constructs three-dimensional range.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Device()
Default constructor - initializes to NULL.
::size_t dimensions() const
Queries the number of dimensions in the range.
BufferRenderGL()
Default constructor - initializes to NULL.
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19)
cl_int getInfo(cl_kernel_info name, T *param) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
__CL_EXPLICIT_CONSTRUCTORS CommandQueue(const cl_command_queue &commandQueue)
C++ base class for Image Memory objects.
Program(const Context &context, const STRING_CLASS &source, bool build=false, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)
detail::param_traits< detail::cl_event_info, name >::param_type getInfo(cl_int *err=NULL) const
Wrapper for clGetEventInfo() that returns by value.
Image2D(const Context &context, cl_mem_flags flags, ImageFormat format,::size_t width,::size_t height,::size_t row_pitch=0, void *host_ptr=NULL, cl_int *err=NULL)
Constructs a 1D Image in a specified context.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
Function signature of kernel functor with no event dependency.
Class interface for Buffer Memory Objects.
#define __DEFAULT_INITIALIZED
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl_int setArg(cl_uint index,::size_t size, const void *argPtr)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl_int getInfo(cl_event_info name, T *param) const
Wrapper for clGetEventInfo().
EnqueueArgs(const VECTOR_CLASS< Event > &events, NDRange global, NDRange local)
Image3DGL()
Default constructor - initializes to NULL.
Class interface for cl_mem.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
#define __CL_EXPLICIT_CONSTRUCTORS
Kernel(const Kernel &kernel)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
EnqueueArgs(NDRange global)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)
Function signature of kernel functor with no event dependency.
static cl_int errHandler(cl_int err, const char *errStr=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26, T27 arg27)
static cl_int WaitForEvents(const VECTOR_CLASS< Event > &events)
Blocks the calling thread until every event specified is complete.
EnqueueArgs(CommandQueue &queue, NDRange global)
make_kernel(const Program &program, const STRING_CLASS name, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7)
Function signature of kernel functor with no event dependency.
cl_int enqueueReadImage(const Image &image, cl_bool blocking, const size_t< 3 > &origin, const size_t< 3 > ®ion,::size_t row_pitch,::size_t slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
BufferGL(const BufferGL &buf)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
detail::param_traits< detail::cl_image_info, name >::param_type getImageInfo(cl_int *err=NULL) const
Wrapper for clGetImageInfo() that returns by value.
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)
Function signature of kernel functor with no event dependency.
Wrapper< cl_type > & operator=(const Wrapper< cl_type > &rhs)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
functionImplementation_(const FunctorType &functor)
Image3D & operator=(const cl_mem &rhs)
Assignment from cl_mem - performs shallow copy.
cl_int enqueueWriteBufferRect(const Buffer &buffer, cl_bool blocking, const size_t< 3 > &buffer_offset, const size_t< 3 > &host_offset, const size_t< 3 > ®ion,::size_t buffer_row_pitch,::size_t buffer_slice_pitch,::size_t host_row_pitch,::size_t host_slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
EnqueueArgs(CommandQueue &queue, const VECTOR_CLASS< Event > &events, NDRange global, NDRange local)
__CL_EXPLICIT_CONSTRUCTORS Program(const cl_program &program)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
CommandQueue interface for cl_command_queue.
static cl_int release(cl_device_id)
cl_int getSupportedImageFormats(cl_mem_flags flags, cl_mem_object_type type, VECTOR_CLASS< ImageFormat > *formats) const
Gets a list of supported image formats.
static cl_int retain(cl_event event)
cl_int getObjectInfo(cl_gl_object_type *type, cl_GLuint *gl_object_name)
Wrapper for clGetGLObjectInfo().
cl_int enqueueReadBufferRect(const Buffer &buffer, cl_bool blocking, const size_t< 3 > &buffer_offset, const size_t< 3 > &host_offset, const size_t< 3 > ®ion,::size_t buffer_row_pitch,::size_t buffer_slice_pitch,::size_t host_row_pitch,::size_t host_slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
Class interface for GL Buffer Memory Objects.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)
Function signature of kernel functor with no event dependency.
cl_int wait() const
Blocks the calling thread until this event completes.
static bool isReferenceCountable(cl_device_id device)
EnqueueArgs(const VECTOR_CLASS< Event > &events, NDRange offset, NDRange global, NDRange local)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
static cl_int retain(cl_program program)
cl_int enqueueNativeKernel(void(CL_CALLBACK *userFptr)(void *), std::pair< void *,::size_t > args, const VECTOR_CLASS< Memory > *mem_objects=NULL, const VECTOR_CLASS< const void * > *mem_locs=NULL, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
EnqueueArgs(CommandQueue &queue, const VECTOR_CLASS< Event > &events, NDRange offset, NDRange global, NDRange local)
static cl_int release(cl_program program)
static cl_int retain(cl_sampler sampler)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType > FunctorType
cl_int enqueueCopyImage(const Image &src, const Image &dst, const size_t< 3 > &src_origin, const size_t< 3 > &dst_origin, const size_t< 3 > ®ion, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
BufferRenderGL(const BufferRenderGL &buf)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
CommandQueue(const CommandQueue &queue)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl_int enqueueCopyBufferToImage(const Buffer &src, const Image &dst,::size_t src_offset, const size_t< 3 > &dst_origin, const size_t< 3 > ®ion, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
cl_int copy(IteratorType startIterator, IteratorType endIterator, cl::Buffer &buffer)
__CL_EXPLICIT_CONSTRUCTORS Image2D(const cl_mem &image2D)
Constructor from cl_mem - takes ownership.
cl_int enqueueCopyImageToBuffer(const Image &src, const Buffer &dst, const size_t< 3 > &src_origin, const size_t< 3 > ®ion,::size_t dst_offset, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
Image2DGL()
Default constructor - initializes to NULL.
EnqueueArgs(const VECTOR_CLASS< Event > &events, NDRange global)
Wrapper(const cl_type &obj)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8)
Function signature of kernel functor with no event dependency.
static CommandQueue getDefault(cl_int *err=NULL)
static cl_int release(cl_mem memory)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
cl_int setArg(cl_uint index, const T &value)
Buffer()
Default constructor - initializes to NULL.
__CL_EXPLICIT_CONSTRUCTORS Memory(const cl_mem &memory)
Constructor from cl_mem - takes ownership.
Memory()
Default constructor - initializes to NULL.
void * enqueueMapBuffer(const Buffer &buffer, cl_bool blocking, cl_map_flags flags,::size_t offset,::size_t size, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL, cl_int *err=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)
Function signature of kernel functor with no event dependency.
#define __DEFAULT_NOT_INITIALIZED
cl_int enqueueCopyBufferRect(const Buffer &src, const Buffer &dst, const size_t< 3 > &src_origin, const size_t< 3 > &dst_origin, const size_t< 3 > ®ion,::size_t src_row_pitch,::size_t src_slice_pitch,::size_t dst_row_pitch,::size_t dst_slice_pitch, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
Device(const Device &dev)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
Local address wrapper for use with Kernel::setArg.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl_int getImageInfo(cl_image_info name, T *param) const
Wrapper for clGetImageInfo().
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
detail::param_traits< detail::cl_kernel_work_group_info, name >::param_type getWorkGroupInfo(const Device &device, cl_int *err=NULL) const
detail::param_traits< detail::cl_program_info, name >::param_type getInfo(cl_int *err=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Context(const Context &ctx)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl_int enqueueCopyImage(const Image &src, const Image &dst, const size_t< 3 > &src_origin, const size_t< 3 > &dst_origin, const size_t< 3 > ®ion, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
Image3D()
Default constructor - initializes to NULL.
Image3D(const Context &context, cl_mem_flags flags, ImageFormat format,::size_t width,::size_t height,::size_t depth,::size_t row_pitch=0,::size_t slice_pitch=0, void *host_ptr=NULL, cl_int *err=NULL)
Constructs a 3D Image in a specified context.
Buffer & operator=(const cl_mem &rhs)
Assignment from cl_mem - performs shallow copy.
__CL_EXPLICIT_CONSTRUCTORS BufferRenderGL(const cl_mem &buffer)
Constructor from cl_mem - takes ownership.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
Wrapper(const cl_type &obj)
VECTOR_CLASS< Event > events_
Buffer(cl_mem_flags flags,::size_t size, void *host_ptr=NULL, cl_int *err=NULL)
Constructs a Buffer in the default context.
EnqueueArgs(NDRange global, NDRange local)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl_int enqueueReadBuffer(const Buffer &buffer, cl_bool blocking,::size_t offset,::size_t size, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
make_kernel(const Kernel kernel)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
Program(const Context &context, const Sources &sources, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Memory & operator=(const cl_mem &rhs)
Assignment operator from cl_mem - takes ownership.
cl_int enqueueTask(const Kernel &kernel, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl_int build(const VECTOR_CLASS< Device > &devices, const char *options=NULL, void(CL_CALLBACK *notifyFptr)(cl_program, void *)=NULL, void *data=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24)
Sampler(const Context &context, cl_bool normalized_coords, cl_addressing_mode addressing_mode, cl_filter_mode filter_mode, cl_int *err=NULL)
Constructs a Sampler in a specified context.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
Function signature of kernel functor with no event dependency.
Image3DGL(const Context &context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texobj, cl_int *err=NULL)
Constructs an Image3DGL in a specified context, from a given GL Texture.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
EnqueueArgs(Event e, NDRange global)
void * enqueueMapBuffer(const Buffer &buffer, cl_bool blocking, cl_map_flags flags,::size_t offset,::size_t size, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL, cl_int *err=NULL)
detail::param_traits< detail::cl_program_build_info, name >::param_type getBuildInfo(const Device &device, cl_int *err=NULL) const
detail::param_traits< detail::cl_mem_info, name >::param_type getInfo(cl_int *err=NULL) const
Wrapper for clGetMemObjectInfo() that returns by value.
__CL_EXPLICIT_CONSTRUCTORS Sampler(const cl_sampler &sampler)
Constructor from cl_sampler - takes ownership.
cl_int getInfoHelper(Func f, cl_uint name, T *param, int, typename T::cl_type=0)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
EnqueueArgs(NDRange offset, NDRange global, NDRange local)
cl_int getWorkGroupInfo(const Device &device, cl_kernel_work_group_info name, T *param) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
static cl_uint getPlatformVersion(cl_platform_id platform)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
__CL_EXPLICIT_CONSTRUCTORS Image2DGL(const cl_mem &image)
Constructor from cl_mem - takes ownership.
Wrapper(const Wrapper< cl_type > &rhs)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::functor_ FunctorType functor_
::size_t & operator[](int index)
Event()
Default constructor - initializes to NULL.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20)
static cl_uint getVersion(const char *versionInfo)
Program(const Context &context, const VECTOR_CLASS< Device > &devices, const Binaries &binaries, VECTOR_CLASS< cl_int > *binaryStatus=NULL, cl_int *err=NULL)
Image2DGL(const Image2DGL &img)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
#define __PARAM_NAME_INFO_1_0(F)
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
static cl_int retain(cl_device_id)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22)
static volatile int default_initialized_
static cl_int release(cl_command_queue queue)
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
Class interface for cl_kernel.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::functor_ FunctorType functor_
static cl_int retain(cl_context context)
Class interface for 3D Image Memory objects.
Buffer(const Context &context, cl_mem_flags flags,::size_t size, void *host_ptr=NULL, cl_int *err=NULL)
Constructs a Buffer in a specified context.
detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31 > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl_int getInfo(Func f, cl_uint name, T *param)
Program interface that implements cl_program.
Kernel()
Default constructor - initializes to NULL.
cl_int getInfo(Func f, const Arg0 &arg0, const Arg1 &arg1, cl_uint name, T *param)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15)
void getDevices(const std::vector< cl::Platform > &platforms, std::vector< cl::Device > &devices)
static cl_int release(cl_kernel kernel)
VECTOR_CLASS< std::pair< const char *,::size_t > > Sources
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl_int getObjectInfo(cl_gl_object_type *type, cl_GLuint *gl_object_name)
Wrapper for clGetGLObjectInfo().
cl_int enqueueCopyBuffer(const Buffer &src, const Buffer &dst,::size_t src_offset,::size_t dst_offset,::size_t size, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
BufferRenderGL(const Context &context, cl_mem_flags flags, cl_GLuint bufobj, cl_int *err=NULL)
Constructs a BufferRenderGL in a specified context, from a given GL Renderbuffer. ...
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)
Function signature of kernel functor with no event dependency.
static cl_uint getDevicePlatformVersion(cl_device_id device)
cl_int enqueueCopyBufferToImage(const Buffer &src, const Image &dst,::size_t src_offset, const size_t< 3 > &dst_origin, const size_t< 3 > ®ion, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
detail::param_traits< detail::cl_profiling_info, name >::param_type getProfilingInfo(cl_int *err=NULL) const
Wrapper for clGetEventProfilingInfo() that returns by value.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
CommandQueue(cl_command_queue_properties properties, cl_int *err=NULL)
void * enqueueMapImage(const Image &buffer, cl_bool blocking, cl_map_flags flags, const size_t< 3 > &origin, const size_t< 3 > ®ion,::size_t *row_pitch,::size_t *slice_pitch, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL, cl_int *err=NULL) const
static const NDRange NullRange
A zero-dimensional range.
detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31 > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl_int enqueueWriteBuffer(const Buffer &buffer, cl_bool blocking,::size_t offset,::size_t size, const void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26, T27 arg27, T28 arg28, T29 arg29)
detail::param_traits< detail::cl_kernel_info, name >::param_type getInfo(cl_int *err=NULL) const
__CL_EXPLICIT_CONSTRUCTORS Device(const cl_device_id &device)
Constructor from cl_device_id.
EnqueueArgs(CommandQueue &queue, Event e, NDRange global)
Image3DGL(const Image3DGL &img)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
#define __DEFAULT_BEING_INITIALIZED
KernelFunctorGlobal(const Program &program, const STRING_CLASS name, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
Buffer(IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=NULL)
Construct a Buffer from a host container via iterators. IteratorType must be random access...
CommandQueue(const Context &context, const Device &device, cl_command_queue_properties properties=0, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
Function signature of kernel functor with no event dependency.
cl_int enqueueUnmapMemObject(const Memory &memory, void *mapped_ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
static cl_int retain(cl_kernel kernel)
Image2D(const Image2D &img)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16)
BufferGL(const Context &context, cl_mem_flags flags, cl_GLuint bufobj, cl_int *err=NULL)
Constructs a BufferGL in a specified context, from a given GL buffer.
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
static cl_int retain(cl_mem memory)
EnqueueArgs(CommandQueue &queue, NDRange global, NDRange local)
EnqueueArgs(CommandQueue &queue, NDRange offset, NDRange global, NDRange local)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
Function signature of kernel functor with no event dependency.
static CommandQueue default_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
NDRange(::size_t size0)
Constructs one-dimensional range.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
Class interface for cl_device_id.
Context(const VECTOR_CLASS< Device > &devices, cl_context_properties *properties=NULL, void(CL_CALLBACK *notifyFptr)(const char *, const void *,::size_t, void *)=NULL, void *data=NULL, cl_int *err=NULL)
Constructs a context including a list of specified devices.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
detail::param_traits< detail::cl_sampler_info, name >::param_type getInfo(cl_int *err=NULL) const
Wrapper for clGetSamplerInfo() that returns by value.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl_int enqueueCopyImageToBuffer(const Image &src, const Buffer &dst, const size_t< 3 > &src_origin, const size_t< 3 > ®ion,::size_t dst_offset, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
Image3D(const Image3D &img)
Copy constructor to forward copy to the superclass correctly. Required for MSVC.
__CL_EXPLICIT_CONSTRUCTORS Event(const cl_event &event)
Constructor from cl_event - takes ownership.
cl_int enqueueAcquireGLObjects(const VECTOR_CLASS< Memory > *mem_objects=NULL, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
#define __CL_DECLARE_PARAM_TRAITS(token, param_name, T)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
detail::param_traits< detail::cl_device_info, name >::param_type getInfo(cl_int *err=NULL) const
Wrapper for clGetDeviceInfo() that returns by value.
cl_int getInfo(cl_command_queue_info name, T *param) const
Class interface for cl_context.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
Image2D()
Default constructor - initializes to NULL.
NDRange()
Default constructor - resulting range has zero dimensions.
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26, T27 arg27, T28 arg28, T29 arg29, T30 arg30)
static Device getDefault(cl_int *err=NULL)
Returns the first device on the default context.
Class interface for GL Render Buffer Memory Objects.
cl_int getProfilingInfo(cl_profiling_info name, T *param) const
Wrapper for clGetEventProfilingInfo().
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
Function signature of kernel functor with no event dependency.
Context()
Default constructor - initializes to NULL.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
Context(const Device &device, cl_context_properties *properties=NULL, void(CL_CALLBACK *notifyFptr)(const char *, const void *,::size_t, void *)=NULL, void *data=NULL, cl_int *err=NULL)
cl::detail::functionImplementation_< T0, T1, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)
Function signature of kernel functor with no event dependency.
cl_int copy(const CommandQueue &queue, const cl::Buffer &buffer, IteratorType startIterator, IteratorType endIterator)
detail::param_traits< detail::cl_command_queue_info, name >::param_type getInfo(cl_int *err=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
__CL_EXPLICIT_CONSTRUCTORS BufferGL(const cl_mem &buffer)
Constructor from cl_mem - takes ownership.
NDRange(::size_t size0,::size_t size1)
Constructs two-dimensional range.
Image & operator=(const cl_mem &rhs)
Assignment from cl_mem - performs shallow copy.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)
Function signature of kernel functor with no event dependency.
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16, T17 arg17, T18 arg18, T19 arg19, T20 arg20, T21 arg21, T22 arg22, T23 arg23, T24 arg24, T25 arg25, T26 arg26, T27 arg27, T28 arg28, T29 arg29, T30 arg30, T31 arg31)
EnqueueArgs(Event e, NDRange offset, NDRange global, NDRange local)
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::FunctorType detail::KernelFunctorGlobal< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType > FunctorType
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)
const ::size_t & operator[](int index) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functor_ FunctorType functor_
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::result_type Event result_type
Return type of the functor.
cl::detail::functionImplementation_< T0, T1, T2, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0, T1, T2)
Function signature of kernel functor with no event dependency.
cl_int enqueueWriteImage(const Image &image, cl_bool blocking, const size_t< 3 > &origin, const size_t< 3 > ®ion,::size_t row_pitch,::size_t slice_pitch, void *ptr, const VECTOR_CLASS< Event > *events=NULL, Event *event=NULL) const
cl::detail::functionImplementation_< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::operator() Event operator()(const EnqueueArgs &enqueueArgs, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::type_ Event type_(const EnqueueArgs &, T0)
Function signature of kernel functor with no event dependency.
int compare_exchange(volatile int *dest, int exchange, int comparand)
cl::detail::functionImplementation_< T0, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType, NullType >::functionImplementation_ functionImplementation_(const FunctorType &functor)