NULL, // clEnqueueAcquireEGLObjectsKHR
NULL, // clEnqueueReleaseEGLObjectsKHR
NULL, // clCreateEventFromEGLSyncKHR
- NULL, // clCreateCommandQueueWithProperties
+ clCreateCommandQueueWithProperties,
NULL, // clCreatePipe
NULL, // clGetPipeInfo
NULL, // clSVMAlloc
} catch (error &e) {
return e.get();
}
+
+CLOVER_API cl_command_queue
+clCreateCommandQueueWithProperties(cl_context context, cl_device_id device,
+ const cl_queue_properties *properties,
+ cl_int *errcode_ret) try {
+ cl_command_queue_properties props = 0;
+ if (properties) {
+ for (auto idx = 0; properties[idx]; idx += 2) {
+ if (properties[idx] == CL_QUEUE_PROPERTIES)
+ props |= properties[idx + 1];
+ else
+ throw error(CL_INVALID_VALUE);
+ }
+ }
+
+ return clCreateCommandQueue(context, device, props, errcode_ret);
+
+} catch (error &e) {
+ ret_error(errcode_ret, e);
+ return NULL;
+}