Now that we are uisng the OpenCL 1.2 headers, applications expect all
the OpenCL 1.2 functions to be implemented.
This fixes linking errors with the piglit CL tests.
v2:
- Use c++ features
- Fix error code handling
v3:
- Move <iostream> into api/util.hpp
- Fix indentation
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
clCreateSubDevices,
clRetainDevice,
clReleaseDevice,
- NULL, // clCreateImage
+ clCreateImage,
NULL, // clCreateProgramWithBuiltInKernels
NULL, // clCompileProgram
NULL, // clLinkProgram
CL_API_ENTRY cl_int (CL_API_CALL *clReleaseDevice)(
cl_device_id device);
- void *clCreateImage;
+ CL_API_ENTRY cl_mem (CL_API_CALL *clCreateImage)(
+ cl_context context,
+ cl_mem_flags flags,
+ const cl_image_format *image_format,
+ const cl_image_desc *image_desc,
+ void *host_ptr,
+ cl_int *errcode_ret);
CL_API_ENTRY cl_program (CL_API_CALL *clCreateProgramWithBuiltInKernels)(
cl_context context,
} catch (error &e) {
return e.get();
}
+
+CLOVER_API cl_mem
+clCreateImage(cl_context d_ctx, cl_mem_flags flags,
+ const cl_image_format *format,
+ const cl_image_desc *image_desc,
+ void *host_ptr, cl_int *r_errcode) {
+ // This function was added in OpenCL 1.2
+ std::cerr << "CL user error: clCreateImage() not supported by OpenCL 1.1." <<
+ std::endl;
+ ret_error(r_errcode, CL_INVALID_OPERATION);
+ return NULL;
+}
#define CLOVER_API_UTIL_HPP
#include <cassert>
+#include <iostream>
#include "core/error.hpp"
#include "core/property.hpp"