| 364 | } |
| 365 | |
| 366 | std::string OpenCL::clErrorToString(int err) |
| 367 | { |
| 368 | #ifdef USE_OPENCL |
| 369 | switch (err) |
| 370 | { |
| 371 | case CL_SUCCESS: return "Success"; |
| 372 | case CL_DEVICE_NOT_FOUND: return "Device Not Found"; |
| 373 | case CL_DEVICE_NOT_AVAILABLE: return "Device Not Available"; |
| 374 | case CL_COMPILER_NOT_AVAILABLE: return "Compiler Not Available"; |
| 375 | case CL_MEM_OBJECT_ALLOCATION_FAILURE: return "Memory Object Allocation Failure"; |
| 376 | case CL_OUT_OF_RESOURCES: return "Out of Resources"; |
| 377 | case CL_OUT_OF_HOST_MEMORY: return "Out of Host Memory"; |
| 378 | case CL_PROFILING_INFO_NOT_AVAILABLE: return "Profiling Information Not Available"; |
| 379 | case CL_MEM_COPY_OVERLAP: return "Memory Copy Overlap"; |
| 380 | case CL_IMAGE_FORMAT_MISMATCH: return "Image Format Mismatch"; |
| 381 | case CL_IMAGE_FORMAT_NOT_SUPPORTED: return "Image Format Not Supported"; |
| 382 | case CL_BUILD_PROGRAM_FAILURE: return "Build Program Failure"; |
| 383 | case CL_MAP_FAILURE: return "Map Failure"; |
| 384 | case CL_INVALID_VALUE: return "Invalid Value"; |
| 385 | case CL_INVALID_DEVICE_TYPE: return "Invalid Device Type"; |
| 386 | case CL_INVALID_PLATFORM: return "Invalid Platform"; |
| 387 | case CL_INVALID_DEVICE: return "Invalid Device"; |
| 388 | case CL_INVALID_CONTEXT: return "Invalid Context"; |
| 389 | case CL_INVALID_QUEUE_PROPERTIES: return "Invalid Queue Properties"; |
| 390 | case CL_INVALID_COMMAND_QUEUE: return "Invalid Command Queue"; |
| 391 | case CL_INVALID_HOST_PTR: return "Invalid Host Pointer"; |
| 392 | case CL_INVALID_MEM_OBJECT: return "Invalid Memory Object"; |
| 393 | case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR: return "Invalid Image Format Descriptor"; |
| 394 | case CL_INVALID_IMAGE_SIZE: return "Invalid Image Size"; |
| 395 | case CL_INVALID_SAMPLER: return "Invalid Sampler"; |
| 396 | case CL_INVALID_BINARY: return "Invalid Binary"; |
| 397 | case CL_INVALID_BUILD_OPTIONS: return "Invalid Build Options"; |
| 398 | case CL_INVALID_PROGRAM: return "Invalid Program"; |
| 399 | case CL_INVALID_PROGRAM_EXECUTABLE: return "Invalid Program Executable"; |
| 400 | case CL_INVALID_KERNEL_NAME: return "Invalid Kernel Name"; |
| 401 | case CL_INVALID_KERNEL_DEFINITION: return "Invalid Kernel Definition"; |
| 402 | case CL_INVALID_KERNEL: return "Invalid Kernel"; |
| 403 | case CL_INVALID_ARG_INDEX: return "Invalid Argument Index"; |
| 404 | case CL_INVALID_ARG_VALUE: return "Invalid Argument Value"; |
| 405 | case CL_INVALID_ARG_SIZE: return "Invalid Argument Size"; |
| 406 | case CL_INVALID_KERNEL_ARGS: return "Invalid Kernel Arguments"; |
| 407 | case CL_INVALID_WORK_DIMENSION: return "Invalid Work Dimension"; |
| 408 | case CL_INVALID_WORK_GROUP_SIZE: return "Invalid Work Group Size"; |
| 409 | case CL_INVALID_WORK_ITEM_SIZE: return "Invalid Work Item Size"; |
| 410 | case CL_INVALID_GLOBAL_OFFSET: return "Invalid Global Offset"; |
| 411 | case CL_INVALID_EVENT_WAIT_LIST: return "Invalid Event Wait List"; |
| 412 | case CL_INVALID_EVENT: return "Invalid Event"; |
| 413 | case CL_INVALID_OPERATION: return "Invalid Operation"; |
| 414 | case CL_INVALID_GL_OBJECT: return "Invalid GL Object"; |
| 415 | case CL_INVALID_BUFFER_SIZE: return "Invalid Buffer Size"; |
| 416 | case CL_INVALID_MIP_LEVEL: return "Invalid MIP Level"; |
| 417 | case CL_INVALID_GLOBAL_WORK_SIZE: return "Invalid Global Work Size"; |
| 418 | #ifdef CL_VERSION_1_2 |
| 419 | case CL_COMPILE_PROGRAM_FAILURE: return "Compile Program Failure"; |
| 420 | case CL_LINKER_NOT_AVAILABLE: return "Linker Not Available"; |
| 421 | case CL_LINK_PROGRAM_FAILURE: return "Link Program Failure"; |
| 422 | case CL_DEVICE_PARTITION_FAILED: return "Device Partition Failed"; |
| 423 | case CL_KERNEL_ARG_INFO_NOT_AVAILABLE: return "Kernel Argument Info Not Available"; |