[Mesa-dev] [PATCH] clover: add functions up to 2.2 to ICD dispatch table
Karol Herbst
kherbst at redhat.com
Mon Jan 22 11:58:17 UTC 2018
using void* for functions we need newer CL headers for.
Signed-off-by: Karol Herbst <kherbst at redhat.com>
---
src/gallium/state_trackers/clover/api/dispatch.cpp | 29 +++++-
src/gallium/state_trackers/clover/api/dispatch.hpp | 116 +++++++++++++++++++++
2 files changed, 144 insertions(+), 1 deletion(-)
diff --git a/src/gallium/state_trackers/clover/api/dispatch.cpp b/src/gallium/state_trackers/clover/api/dispatch.cpp
index 8f4cfdc7fb..f362c84819 100644
--- a/src/gallium/state_trackers/clover/api/dispatch.cpp
+++ b/src/gallium/state_trackers/clover/api/dispatch.cpp
@@ -142,6 +142,33 @@ namespace clover {
NULL, // clEnqueueReleaseD3D11ObjectsKHR
NULL, // clGetDeviceIDsFromDX9MediaAdapterKHR
NULL, // clEnqueueAcquireDX9MediaSurfacesKHR
- NULL // clEnqueueReleaseDX9MediaSurfacesKHR
+ NULL, // clEnqueueReleaseDX9MediaSurfacesKHR
+ NULL, // clCreateFromEGLImageKHR
+ NULL, // clEnqueueAcquireEGLObjectsKHR
+ NULL, // clEnqueueReleaseEGLObjectsKHR
+ NULL, // clCreateEventFromEGLSyncKHR
+ NULL, // clCreateCommandQueueWithProperties
+ NULL, // clCreatePipe
+ NULL, // clGetPipeInfo
+ NULL, // clSVMAlloc
+ NULL, // clSVMFree
+ NULL, // clEnqueueSVMFree
+ NULL, // clEnqueueSVMMemcpy
+ NULL, // clEnqueueSVMMemFill
+ NULL, // clEnqueueSVMMap
+ NULL, // clEnqueueSVMUnmap
+ NULL, // clCreateSamplerWithProperties
+ NULL, // clSetKernelArgSVMPointer
+ NULL, // clSetKernelExecInfo
+ NULL, // clGetKernelSubGroupInfoKHR
+ NULL, // clCloneKernel
+ NULL, // clCreateProgramWithIL,
+ NULL, // clEnqueueSVMMigrateMem
+ NULL, // clGetDeviceAndHostTimer
+ NULL, // clGetHostTimer
+ NULL, // clGetKernelSubGroupInfo
+ NULL, // clSetDefaultDeviceCommandQueue
+ NULL, // clSetProgramReleaseCallback
+ NULL, // clSetProgramSpecializationConstant
};
}
diff --git a/src/gallium/state_trackers/clover/api/dispatch.hpp b/src/gallium/state_trackers/clover/api/dispatch.hpp
index 0ec1b51fa6..0910e19422 100644
--- a/src/gallium/state_trackers/clover/api/dispatch.hpp
+++ b/src/gallium/state_trackers/clover/api/dispatch.hpp
@@ -765,6 +765,122 @@ struct _cl_icd_dispatch {
void *clGetDeviceIDsFromDX9MediaAdapterKHR;
void *clEnqueueAcquireDX9MediaSurfacesKHR;
void *clEnqueueReleaseDX9MediaSurfacesKHR;
+ void *clCreateFromEGLImageKHR;
+ void *clEnqueueAcquireEGLObjectsKHR;
+ void *clEnqueueReleaseEGLObjectsKHR;
+ void *clCreateEventFromEGLSyncKHR;
+ void *clCreateCommandQueueWithProperties;
+ void *clCreatePipe;
+ void *clGetPipeInfo;
+ void *clSVMAlloc;
+
+ CL_API_ENTRY void (CL_API_CALL *clSVMFree)(
+ cl_context context,
+ void *svm_pointer);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMFree)(
+ cl_command_queue command_queue,
+ cl_uint num_svm_pointers,
+ void **svm_pointers,
+ void (CL_CALLBACK *pfn_free_func)(cl_command_queue, cl_uint, void **, void *),
+ void *user_data,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMMemcpy)(
+ cl_command_queue command_queue,
+ cl_bool blocking_copy,
+ void *dst_ptr,
+ const void *src_ptr,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMMemFill)(
+ cl_command_queue command_queue,
+ void *svm_ptr,
+ const void *pattern,
+ size_t pattern_size,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMMap)(
+ cl_command_queue command_queue,
+ cl_bool blocking_map,
+ cl_map_flags map_flags,
+ void *svm_ptr,
+ size_t size,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMUnmap)(
+ cl_command_queue command_queue,
+ void *svm_ptr,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ void *clCreateSamplerWithProperties;
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clSetKernelArgSVMPointer)(
+ cl_kernel kernel,
+ cl_uint arg_index,
+ const void *arg_value);
+
+ void *clSetKernelExecInfo;
+ void *clGetKernelSubGroupInfoKHR;
+
+ CL_API_ENTRY cl_kernel (CL_API_CALL *clCloneKernel)(
+ cl_kernel source_kernel,
+ cl_int *errcode_ret);
+
+ CL_API_ENTRY cl_program (CL_API_CALL *clCreateProgramWithIL)(
+ cl_context context,
+ const void *il,
+ size_t length,
+ cl_int *errcode_ret);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueSVMMigrateMem)(
+ cl_command_queue command_queue,
+ cl_uint num_svm_pointers,
+ const void **svm_pointers,
+ const size_t *sizes,
+ cl_mem_migration_flags flags,
+ cl_uint num_events_in_wait_list,
+ const cl_event *event_wait_list,
+ cl_event *event);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceAndHostTimer)(
+ cl_device_id device,
+ cl_ulong *device_timestamp,
+ cl_ulong *host_timestamp);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clGetHostTimer)(
+ cl_device_id device,
+ cl_ulong *host_timestamp);
+
+ void *clGetKernelSubGroupInfo;
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clSetDefaultDeviceCommandQueue)(
+ cl_context context,
+ cl_device_id device,
+ cl_command_queue command_queue);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clSetProgramReleaseCallback)(
+ cl_program program,
+ void (CL_CALLBACK *pfn_notify)(cl_program program, void *user_data),
+ void *user_data);
+
+ CL_API_ENTRY cl_int (CL_API_CALL *clSetProgramSpecializationConstant)(
+ cl_program program,
+ cl_uint spec_id,
+ size_t spec_size,
+ const void *spec_value);
};
namespace clover {
--
2.14.3
More information about the mesa-dev
mailing list