summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/clover/api/dispatch.cpp2
-rw-r--r--src/gallium/state_trackers/clover/api/dispatch.hpp8
-rw-r--r--src/gallium/state_trackers/clover/api/memory.cpp12
-rw-r--r--src/gallium/state_trackers/clover/api/util.hpp1
4 files changed, 21 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/clover/api/dispatch.cpp b/src/gallium/state_trackers/clover/api/dispatch.cpp
index 2ee62086dc8..488e65491bf 100644
--- a/src/gallium/state_trackers/clover/api/dispatch.cpp
+++ b/src/gallium/state_trackers/clover/api/dispatch.cpp
@@ -120,7 +120,7 @@ namespace clover {
clCreateSubDevices,
clRetainDevice,
clReleaseDevice,
- NULL, // clCreateImage
+ clCreateImage,
NULL, // clCreateProgramWithBuiltInKernels
NULL, // clCompileProgram
NULL, // clLinkProgram
diff --git a/src/gallium/state_trackers/clover/api/dispatch.hpp b/src/gallium/state_trackers/clover/api/dispatch.hpp
index 833fb0e8008..ffae1ae6e12 100644
--- a/src/gallium/state_trackers/clover/api/dispatch.hpp
+++ b/src/gallium/state_trackers/clover/api/dispatch.hpp
@@ -653,7 +653,13 @@ struct _cl_icd_dispatch {
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,
diff --git a/src/gallium/state_trackers/clover/api/memory.cpp b/src/gallium/state_trackers/clover/api/memory.cpp
index 7ed2191f14e..d26b1c613cb 100644
--- a/src/gallium/state_trackers/clover/api/memory.cpp
+++ b/src/gallium/state_trackers/clover/api/memory.cpp
@@ -334,3 +334,15 @@ clSetMemObjectDestructorCallback(cl_mem d_mem,
} 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;
+}
diff --git a/src/gallium/state_trackers/clover/api/util.hpp b/src/gallium/state_trackers/clover/api/util.hpp
index c2b216ec236..918df6125a4 100644
--- a/src/gallium/state_trackers/clover/api/util.hpp
+++ b/src/gallium/state_trackers/clover/api/util.hpp
@@ -24,6 +24,7 @@
#define CLOVER_API_UTIL_HPP
#include <cassert>
+#include <iostream>
#include "core/error.hpp"
#include "core/property.hpp"