Skip to content

Commit 376baee

Browse files
author
Pekka Jääskeläinen
committed
BDA: Removed CL_MEM_DEVICE_SHARED_ADDRESS_EXT as unneeded.
Also made the enums globally unique.
1 parent 92385e5 commit 376baee

3 files changed

Lines changed: 23 additions & 38 deletions

File tree

api/cl_ext_buffer_device_address.asciidoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ include::{generated}/meta/{refprefix}cl_ext_buffer_device_address.txt[]
66
=== Other Extension Metadata
77

88
*Last Modified Date*::
9-
2024-12-06
9+
2024-12-12
1010
*IP Status*::
1111
No known IP claims.
1212
*Contributors*::
@@ -55,7 +55,6 @@ can allocate.
5555

5656
* {cl_mem_properties_TYPE}
5757
** {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT}
58-
** {CL_MEM_DEVICE_SHARED_ADDRESS_EXT}
5958
* {cl_mem_info_TYPE}
6059
** {CL_MEM_DEVICE_ADDRESS_EXT}
6160
* {cl_kernel_exec_info_TYPE}
@@ -68,6 +67,8 @@ can allocate.
6867
[options="header"]
6968
|====
7069
| *Version* | *Date* | *Author* | *Changes*
70+
| 0.9.1 | 2024-12-12 | Pekka Jääskeläinen |
71+
Removed CL_MEM_DEVICE_SHARED_ADDRESS_EXT as unneeded.
7172
| 0.9.0 | 2024-12-06 | Pekka Jääskeläinen, Kevin Petit |
7273
Integrated to the main unified specification.
7374
Moved the functionality to clCreateBufferWithProperties,

api/opencl_runtime_layer.asciidoc

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -617,15 +617,6 @@ include::{generated}/api/version-notes/CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT.asciido
617617
allocated buffers can be computed by adding the sub-buffer origin to the
618618
device-specific start address.
619619

620-
| {CL_MEM_DEVICE_SHARED_ADDRESS_EXT_anchor}
621-
622-
include::{generated}/api/version-notes/CL_MEM_DEVICE_SHARED_ADDRESS_EXT.asciidoc[]
623-
| {cl_bool_TYPE}
624-
| When set to CL_TRUE, the buffer has otherwise the same properties as
625-
when allocated using the {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT_anchor} flag,
626-
but with an additional property that the buffer's address is the same across
627-
all the devices in the context.
628-
629620
endif::cl_ext_buffer_device_address[]
630621

631622
|====
@@ -697,12 +688,8 @@ ifdef::cl_khr_external_memory[]
697688
endif::cl_khr_external_memory[]
698689
ifdef::cl_ext_buffer_device_address[]
699690
* {CL_INVALID_DEVICE}
700-
** If _properties_ includes either {CL_MEM_DEVICE_SHARED_ADDRESS_EXT} or
701-
{CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} and there is at least one device in
702-
the context that doesn't support such allocation.
703-
* {CL_INVALID_VALUE}
704-
** If _properties_ includes both {CL_MEM_DEVICE_SHARED_ADDRESS_EXT} and
705-
{CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} at the same time.
691+
** If _properties_ includes {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} and there
692+
is at least one device in the context that doesn't support such allocation.
706693
endif::cl_ext_buffer_device_address[]
707694

708695
[[memory-flags-table]]
@@ -6424,9 +6411,7 @@ include::{generated}/api/version-notes/CL_MEM_DEVICE_ADDRESS_EXT.asciidoc[]
64246411
| If _memobj_ was created using {clCreateBufferWithProperties} with
64256412
the {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} property set to CL_TRUE,
64266413
returns a list of device addresses for the buffer, one for each
6427-
device in the context. If the buffer was allocated
6428-
with the {CL_MEM_DEVICE_SHARED_ADDRESS_EXT} property,
6429-
only one device address is returned.
6414+
device in the context.
64306415

64316416
endif::cl_ext_buffer_device_address[]
64326417

@@ -6448,8 +6433,7 @@ Otherwise, it returns one of the following errors:
64486433
ifdef::cl_ext_buffer_device_address[]
64496434
** Returned for the {CL_MEM_DEVICE_ADDRESS_EXT} query if
64506435
the {cl_ext_buffer_device_address_EXT} is not supported or if the
6451-
buffer was not allocated with neither {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} or
6452-
{CL_MEM_DEVICE_SHARED_ADDRESS_EXT}.
6436+
buffer was not allocated with {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT}.
64536437
endif::cl_ext_buffer_device_address[]
64546438
* {CL_OUT_OF_RESOURCES} if there is a failure to allocate resources required
64556439
by the OpenCL implementation on the device.
@@ -10773,9 +10757,8 @@ include::{generated}/api/version-notes/clSetKernelArgDevicePointerEXT.asciidoc[]
1077310757
value is changed by a call to {clSetKernelArgDevicePointerEXT} for _kernel_.
1077410758
The device pointer can only be used for arguments that are declared to be a
1077510759
pointer to `global` memory allocated with {clCreateBufferWithProperties} with
10776-
either the {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} or {CL_MEM_DEVICE_SHARED_ADDRESS_EXT}
10777-
property. The pointer value specified as the argument value
10778-
can be the pointer to the beginning of the buffer or any offset into
10760+
the {CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT} property. The pointer value specified as
10761+
the argument value can be the pointer to the beginning of the buffer or any offset into
1077910762
the buffer region. The device pointer value must be naturally aligned according to
1078010763
the argument's type.
1078110764

xml/cl.xml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -720,8 +720,6 @@ server's OpenCL/api-docs repository.
720720
<enum value="((cl_device_partition_property_ext)0 - 1)" name="CL_PARTITION_BY_NAMES_LIST_END_EXT"/>
721721
<enum value="-1" name="CL_PARTITION_BY_NAMES_LIST_END_INTEL"/>
722722
<enum value="0" name="CL_MEM_DEVICE_HANDLE_LIST_END_KHR"/>
723-
<enum value="1" name="CL_MEM_DEVICE_SHARED_ADDRESS_EXT"/>
724-
<enum value="2" name="CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT"/>
725723
<enum value="0" name="CL_SEMAPHORE_DEVICE_HANDLE_LIST_END_KHR"/>
726724
<enum value="0" name="CL_SEMAPHORE_EXPORT_HANDLE_TYPES_LIST_END_KHR"/>
727725
</enums>
@@ -914,7 +912,7 @@ server's OpenCL/api-docs repository.
914912
<enum bitpos="38" name="CL_MEM_RESERVED1_QCOM"/>
915913
<enum bitpos="39" name="CL_MEM_RESERVED2_QCOM"/>
916914
<enum bitpos="40" name="CL_MEM_RESERVED3_QCOM"/>
917-
<unused start="43" end="63"/>
915+
<unused start="41" end="63"/>
918916
</enums>
919917

920918
<enums name="cl_map_flags" vendor="Khronos" type="bitmask">
@@ -1633,8 +1631,7 @@ server's OpenCL/api-docs repository.
16331631
<enum value="0x1108" name="CL_MEM_OFFSET"/>
16341632
<enum value="0x1109" name="CL_MEM_USES_SVM_POINTER"/>
16351633
<enum value="0x110A" name="CL_MEM_PROPERTIES"/>
1636-
<enum value="0x110B" name="CL_MEM_DEVICE_ADDRESS_EXT"/>
1637-
<unused start="0x110D" end="0x110F" comment="Reserved for cl_mem_info"/>
1634+
<unused start="0x110B" end="0x110F" comment="Reserved for cl_mem_info"/>
16381635
<enum value="0x1110" name="CL_IMAGE_FORMAT"/>
16391636
<enum value="0x1111" name="CL_IMAGE_ELEMENT_SIZE"/>
16401637
<enum value="0x1112" name="CL_IMAGE_ROW_PITCH"/>
@@ -1727,8 +1724,7 @@ server's OpenCL/api-docs repository.
17271724
<enum value="0x11B8" name="CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT"/>
17281725
<enum value="0x11B9" name="CL_KERNEL_MAX_NUM_SUB_GROUPS"/>
17291726
<enum value="0x11BA" name="CL_KERNEL_COMPILE_NUM_SUB_GROUPS"/>
1730-
<enum value="0x11BB" name="CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT"/>
1731-
<unused start="0x11BC" end="0x11CF" comment="Reserved for cl_kernel_info / cl_kernel_work_group_info / cl_kernel_exec_info / cl_kernel_sub_group_info"/>
1727+
<unused start="0x11BB" end="0x11CF" comment="Reserved for cl_kernel_info / cl_kernel_work_group_info / cl_kernel_exec_info / cl_kernel_sub_group_info"/>
17321728
<enum value="0x11D0" name="CL_EVENT_COMMAND_QUEUE"/>
17331729
<enum value="0x11D1" name="CL_EVENT_COMMAND_TYPE"/>
17341730
<enum value="0x11D2" name="CL_EVENT_REFERENCE_COUNT"/>
@@ -2320,6 +2316,12 @@ server's OpenCL/api-docs repository.
23202316
<unused start="0x42B0" end="0x4FFF"/>
23212317
</enums>
23222318

2319+
<enums start="0x5000" end="0x500F" name="enums.5000" comment="For cl_ext_buffer_device_address">
2320+
<enum value="0x5000" name="CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT"/>
2321+
<enum value="0x5001" name="CL_MEM_DEVICE_ADDRESS_EXT"/>
2322+
<enum value="0x5002" name="CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT"/>
2323+
</enums>
2324+
23232325
<enums start="0x10000" end="0x10FFF" name="enums.10000" vendor="Khronos" comment="Experimental range for internal development only. Do not allocate.">
23242326
<!-- Khronos will never assign values in this range, and vendors
23252327
should never ship using values in this range. It is intended
@@ -3739,7 +3741,7 @@ server's OpenCL/api-docs repository.
37393741
<proto><type>cl_int</type> <name>clSetKernelArgDevicePointerEXT</name></proto>
37403742
<param><type>cl_kernel</type> <name>kernel</name></param>
37413743
<param><type>cl_uint</type> <name>arg_index</name></param>
3742-
<param>const <type>void</type>* <name>arg_value</name></param>
3744+
<param>const <type>cl_mem_device_address_ext</type>* <name>arg_value</name></param>
37433745
</command>
37443746
<command suffix="CL_API_SUFFIX__VERSION_2_0">
37453747
<proto><type>cl_int</type> <name>clSetKernelExecInfo</name></proto>
@@ -7202,12 +7204,14 @@ server's OpenCL/api-docs repository.
72027204
<command name="clSetContentSizeBufferPoCL"/>
72037205
</require>
72047206
</extension>
7205-
<extension name="cl_ext_buffer_device_address" revision="0.9.0" supported="opencl" depends="CL_VERSION_3_0" provisional="true">
7207+
<extension name="cl_ext_buffer_device_address" revision="0.9.1" supported="opencl" depends="CL_VERSION_3_0" provisional="true">
7208+
<require>
7209+
<type name="cl_mem_device_address_ext"/>
7210+
</require>
72067211
<require>
72077212
<command name="clSetKernelArgDevicePointerEXT"/>
72087213
</require>
72097214
<require comment="cl_mem_properties">
7210-
<enum name="CL_MEM_DEVICE_SHARED_ADDRESS_EXT"/>
72117215
<enum name="CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT"/>
72127216
</require>
72137217
<require comment="cl_mem_info">
@@ -7216,9 +7220,6 @@ server's OpenCL/api-docs repository.
72167220
<require comment="cl_kernel_exec_info">
72177221
<enum name="CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT"/>
72187222
</require>
7219-
<require>
7220-
<type name="cl_mem_device_address_ext"/>
7221-
</require>
72227223
</extension>
72237224
<extension name="cl_khr_command_buffer" revision="0.9.6" supported="opencl" depends="CL_VERSION_1_2" ratified="opencl" provisional="true">
72247225
<require>

0 commit comments

Comments
 (0)