You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Specifies the list of OpenCL devices (terminated with {CL_DEVICE_HANDLE_LIST_END_KHR}) to associate with the external memory handle.
198
+
| Specifies the list of OpenCL devices (terminated with {CL_MEM_DEVICE_HANDLE_LIST_END_KHR}) to associate with the external memory handle.
198
199
|====
199
200
200
-
If {CL_DEVICE_HANDLE_LIST_KHR} is not specified as part of _properties_, the memory object created by {clCreateBufferWithProperties} or {clCreateImageWithProperties} is by default accessible to all devices in the _context_.
201
+
If {CL_MEM_DEVICE_HANDLE_LIST_KHR} is not specified as part of _properties_, the memory object created by {clCreateBufferWithProperties} or {clCreateImageWithProperties} is by default accessible to all devices in the _context_.
201
202
202
203
The properties used to create a buffer or image from an external memory handle are described by related extensions.
203
204
When a buffer or image is created from an external memory handle, the _flags_ used to specify usage information for the buffer or image must not include {CL_MEM_USE_HOST_PTR}, {CL_MEM_ALLOC_HOST_PTR}, or {CL_MEM_COPY_HOST_PTR}, and the _host_ptr_ argument must be `NULL`.
204
205
205
206
Add to the list of error conditions for {clCreateBufferWithProperties} and {clCreateImageWithProperties}:
206
207
207
208
* {CL_INVALID_DEVICE}
208
-
** if a device identified by the property {CL_DEVICE_HANDLE_LIST_KHR} is not a valid device or is not associated with _context_, or
209
-
** if a device identified by property {CL_DEVICE_HANDLE_LIST_KHR} cannot import the requested external memory object type, or
210
-
** if {CL_DEVICE_HANDLE_LIST_KHR} is not specified as part of _properties_ and one or more devices in _context_ cannot import the requested external memory object type.
209
+
** if a device identified by the property {CL_MEM_DEVICE_HANDLE_LIST_KHR} is not a valid device or is not associated with _context_, or
210
+
** if a device identified by property {CL_MEM_DEVICE_HANDLE_LIST_KHR} cannot import the requested external memory object type, or
211
+
** if {CL_MEM_DEVICE_HANDLE_LIST_KHR} is not specified as part of _properties_ and one or more devices in _context_ cannot import the requested external memory object type.
211
212
* {CL_INVALID_VALUE}
212
213
** if _properties_ includes a supported external memory handle and _flags_ includes {CL_MEM_USE_HOST_PTR}, {CL_MEM_ALLOC_HOST_PTR}, or {CL_MEM_COPY_HOST_PTR}.
213
214
* {CL_INVALID_HOST_PTR}
214
215
** if _properties_ includes a supported external memory handle and _host_ptr_ is not `NULL`.
215
216
* {CL_INVALID_PROPERTY}
216
-
** if _properties_ does not include a supported external memory handle and {CL_DEVICE_HANDLE_LIST_KHR} is specified as part of _properties_.
217
+
** if _properties_ does not include a supported external memory handle and {CL_MEM_DEVICE_HANDLE_LIST_KHR} is specified as part of _properties_.
217
218
218
219
Add images created from an external memory handle to the description of `image_row_pitch` and `image_slice_pitch` for {cl_image_desc_TYPE}:
219
220
@@ -288,7 +289,7 @@ Otherwise, it returns one of the following errors:
288
289
* {CL_INVALID_MEM_OBJECT} if any of the memory objects in _mem_objects_ is not a valid OpenCL memory object created using an external memory handle.
289
290
* {CL_INVALID_COMMAND_QUEUE}
290
291
** if _command_queue_ is not a valid command-queue, or
291
-
** if device associated with _command_queue_ is not one of the devices specified by {CL_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _mem_objects_, or
292
+
** if device associated with _command_queue_ is not one of the devices specified by {CL_MEM_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _mem_objects_, or
292
293
** if one or more of _mem_objects_ belong to a context that does not contain a device associated with _command_queue_.
293
294
* {CL_INVALID_EVENT_WAIT_LIST}
294
295
** if _event_wait_list_ is `NULL` and _num_events_in_wait_list_ is not 0, or
@@ -333,7 +334,7 @@ Otherwise, it returns one of the following errors:
333
334
* {CL_INVALID_MEM_OBJECT} if any of the memory objects in _mem_objects_ is not a valid OpenCL memory object created using an external memory handle.
334
335
* {CL_INVALID_COMMAND_QUEUE}
335
336
** if _command_queue_ is not a valid command-queue, or
336
-
** if device associated with _command_queue_ is not one of the devices specified by {CL_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _mem_objects_, or
337
+
** if device associated with _command_queue_ is not one of the devices specified by {CL_MEM_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _mem_objects_, or
337
338
** if one or more of _mem_objects_ belong to a context that does not contain a device associated with _command_queue_.
338
339
* {CL_INVALID_EVENT_WAIT_LIST}
339
340
** if _event_wait_list_ is `NULL` and _num_events_in_wait_list_ is not 0, or
Copy file name to clipboardexpand all lines: ext/cl_khr_external_semaphore.asciidoc
+23-23
Original file line number
Diff line number
Diff line change
@@ -217,7 +217,7 @@ Following new properties are added to the list of possible supported properties
217
217
218
218
Add to the list of error conditions for {clCreateSemaphoreWithPropertiesKHR}:
219
219
220
-
* {CL_INVALID_DEVICE} if one or more devices identified by properties {CL_DEVICE_HANDLE_LIST_KHR} can not import the requested external semaphore handle type.
220
+
* {CL_INVALID_DEVICE} if one or more devices identified by properties {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} can not import the requested external semaphore handle type.
221
221
222
222
{clCreateSemaphoreWithPropertiesKHR} may return a NULL value on some implementations if _sema_props_ does not contain an external semaphore handle type to import.
223
223
Such implementations are required to return a valid semaphore when a supported external memory handle type and valid external semaphore handle is specified.
_context_ identifies a valid OpenCL context that the created {cl_semaphore_khr_TYPE} will belong to.
245
246
246
-
// TODO: Do we want the same "all devices in the context" behavior if CL_DEVICE_HANDLE_LIST_KHR is not specified?
247
+
// TODO: Do we want the same "all devices in the context" behavior if CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR is not specified?
247
248
248
249
_sema_props_ specifies additional semaphore properties in the form list of <property_name, property_value> pairs terminated with 0.
249
250
{CL_SEMAPHORE_TYPE_KHR} must be part of the list of properties specified by _sema_props_.
@@ -257,12 +258,12 @@ Following new properties are added to the list of possible supported properties
257
258
| {CL_SEMAPHORE_TYPE_KHR}
258
259
| {cl_semaphore_type_khr_TYPE}
259
260
| Specifies the type of semaphore to create. This property is always required.
260
-
| {CL_DEVICE_HANDLE_LIST_KHR}
261
+
| {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR}
261
262
| {cl_device_id_TYPE}[]
262
-
| Specifies the list of OpenCL devices (terminated with {CL_DEVICE_HANDLE_LIST_END_KHR}) to associate with the semaphore.
263
+
| Specifies the list of OpenCL devices (terminated with {CL_SEMAPHORE_DEVICE_HANDLE_LIST_END_KHR}) to associate with the semaphore.
263
264
|====
264
265
265
-
If {CL_DEVICE_HANDLE_LIST_KHR} is not specified as part of _sema_props_, the semaphore object created by {clCreateSemaphoreWithPropertiesKHR} is by default accessible to all devices in the _context_.
266
+
If {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} is not specified as part of _sema_props_, the semaphore object created by {clCreateSemaphoreWithPropertiesKHR} is by default accessible to all devices in the _context_.
266
267
267
268
_errcode_ret_ returns an appropriate error code. If _errcode_ret_ is `NULL`, no error code is returned.
268
269
@@ -271,7 +272,7 @@ Otherwise, it returns a `NULL` value with one of the following error values retu
271
272
272
273
* {CL_INVALID_CONTEXT} if _context_ is not a valid context.
273
274
* {CL_INVALID_PROPERTY} if a property name in _sema_props_ is not a supported property name, if the value specified for a supported property name is not valid, or if the same property name is specified more than once.
274
-
* {CL_INVALID_DEVICE} if {CL_DEVICE_HANDLE_LIST_KHR} is specified as part of _sema_props_, but it does not identify a valid device or if a device identified by {CL_DEVICE_HANDLE_LIST_KHR} is not one of the devices within _context_.
275
+
* {CL_INVALID_DEVICE} if {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} is specified as part of _sema_props_, but it does not identify a valid device or if a device identified by {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} is not one of the devices within _context_.
275
276
* {CL_INVALID_VALUE}
276
277
** if _sema_props_ is `NULL`, or
277
278
** if _sema_props_ do not specify <property, value> pairs for minimum set of properties (i.e. {CL_SEMAPHORE_TYPE_KHR}) required for successful creation of a {cl_semaphore_khr_TYPE}, or
@@ -315,7 +316,7 @@ Otherwise, it returns one of the following errors:
315
316
316
317
* {CL_INVALID_COMMAND_QUEUE}
317
318
** if _command_queue_ is not a valid command-queue, or
318
-
** if the device associated with _command_queue_ is not same as one of the devices specified by {CL_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _sema_objects_, or
319
+
** if the device associated with _command_queue_ is not same as one of the devices specified by {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _sema_objects_, or
319
320
** if one or more of _sema_objects_ belong to a context that does not contain a device associated with _command_queue_.
320
321
* {CL_INVALID_VALUE} if _num_sema_objects_ is 0.
321
322
* {CL_INVALID_SEMAPHORE_KHR} if any of the semaphore objects specified by _sema_objects_ is not valid.
@@ -366,7 +367,7 @@ Otherwise, it returns one of the following errors:
366
367
367
368
* {CL_INVALID_COMMAND_QUEUE}
368
369
** if _command_queue_ is not a valid command-queue, or
369
-
** if the device associated with _command_queue_ is not same as one of the devices specified by {CL_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _sema_objects_, or
370
+
** if the device associated with _command_queue_ is not same as one of the devices specified by {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR} at the time of creating one or more of _sema_objects_, or
370
371
** if one or more of _sema_objects_ belong to a context that does not contain a device associated with _command_queue_.
371
372
* {CL_INVALID_VALUE} if _num_sema_objects_ is 0
372
373
* {CL_INVALID_SEMAPHORE_KHR} if any of the semaphore objects specified by _sema_objects_ is not valid.
@@ -429,7 +430,7 @@ being queried by _param_value_. If _param_value_size_ret_ is `NULL`, it is ignor
429
430
if the semaphore is in an un-signaled state and `1` if it is in a
430
431
signaled state.
431
432
432
-
| {CL_DEVICE_HANDLE_LIST_KHR}
433
+
| {CL_SEMAPHORE_DEVICE_HANDLE_LIST_KHR}
433
434
| {cl_device_id_TYPE}[]
434
435
| Returns the list of OpenCL devices the semaphore is associated with.
0 commit comments