Skip to content

Commit

Permalink
Remove unused cl_khr_external_memory_dx and cl_khr_external_semaphore…
Browse files Browse the repository at this point in the history
…_dx_fence extensions (#1160)

No implementers (and no interest expressed), no CTS tests. These extensions
should not be part of the specification.


Change-Id: I064076c8075b5947ef9109558c4b03da426e4505

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • Loading branch information
kpet committed May 14, 2024
1 parent b041b2f commit ffa3f8e
Show file tree
Hide file tree
Showing 6 changed files with 5 additions and 206 deletions.
59 changes: 0 additions & 59 deletions api/cl_khr_external_memory_dx.asciidoc

This file was deleted.

3 changes: 1 addition & 2 deletions api/cl_khr_external_semaphore.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,7 @@ This extension defines:
semaphores created from different handle types.
* API query exportable semaphores handles using specified handle type.

The layered extensions {cl_khr_external_semaphore_dx_fence_EXT},
{cl_khr_external_semaphore_opaque_fd_EXT},
The layered extensions {cl_khr_external_semaphore_opaque_fd_EXT},
{cl_khr_external_semaphore_sync_fd_EXT}, and
{cl_khr_external_semaphore_win32_EXT} define specific external semaphores
that may be imported into or exported from OpenCL.
Expand Down
45 changes: 0 additions & 45 deletions api/cl_khr_external_semaphore_dx_fence.asciidoc

This file was deleted.

70 changes: 2 additions & 68 deletions api/opencl_runtime_layer.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -5597,32 +5597,6 @@ The imported memory object holds a reference to its payload.

==== NT Handle Types

ifdef::cl_khr_external_memory_dx[]
The {cl_khr_external_memory_dx_EXT} extension extends
{cl_external_memory_handle_type_khr_TYPE} to support the following new types
of handles, and adds as a property that may be specified when creating a
buffer or an image memory object from an external handle:

* {CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR_anchor} specifies an NT handle
returned by `IDXGIResource1::CreateSharedHandle` referring to a Direct3D
10 or 11 texture resource.
It owns a reference to the memory used by the Direct3D resource.
* {CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KMT_KHR_anchor} specifies a global
share handle returned by `IDXGIResource::GetSharedHandle` referring to a
Direct3D 10 or 11 texture resource.
It does not own a reference to the underlying Direct3D resource, and
will therefore become invalid when all memory objects and Direct3D
resources associated with it are destroyed.
* {CL_EXTERNAL_MEMORY_HANDLE_D3D12_HEAP_KHR_anchor} specifies an NT handle
returned by `ID3D12Device::CreateSharedHandle` referring to a Direct3D
12 heap resource.
It owns a reference to the resources used by the Direct3D heap.
* {CL_EXTERNAL_MEMORY_HANDLE_D3D12_RESOURCE_KHR_anchor} specifies an NT handle
returned by `ID3D12Device::CreateSharedHandle` referring to a Direct3D
12 committed resource.
It owns a reference to the memory used by the Direct3D resource.
endif::cl_khr_external_memory_dx[]

ifdef::cl_khr_external_memory_win32[]
The {cl_khr_external_memory_win32_EXT} extension extends
{cl_external_memory_handle_type_khr_TYPE} to support the following new types
Expand Down Expand Up @@ -13128,42 +13102,10 @@ endif::cl_khr_external_semaphore_sync_fd[]
endif::cl_khr_external_semaphore_opaque_fd,cl_khr_external_semaphore_sync_fd[]


ifdef::cl_khr_external_semaphore_dx_fence,cl_khr_external_semaphore_win32[]
ifdef::cl_khr_external_semaphore_win32[]

==== NT Handle Types

ifdef::cl_khr_external_semaphore_dx_fence[]

The {cl_khr_external_semaphore_dx_fence_EXT} extension extends
{cl_external_semaphore_handle_type_khr_TYPE} to support the following new
types of handles, and adds as a property that may be specified when creating
a semaphore from an external handle:

* {CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR} specifies an NT handle returned by
`ID3D12Device::CreateSharedHandle` referring to a Direct3D 12 fence, or
`ID3D11Device5::CreateFence` referring to a Direct3D 11 fence.
It owns a reference to the underlying synchronization primitive
associated with the Direct3D fence.

When waiting on semaphores using {clEnqueueWaitSemaphoresKHR} or signaling
semaphores using {clEnqueueSignalSemaphoresKHR}, the semaphore payload must
be provided for semaphores created from
{CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR}.

* If _sema_objects_ list has a mix of semaphores obtained from
{CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR} and other handle types, then the
_sema_payload_list_ should point to a list of _num_sema_objects_ payload
values for each semaphore in _sema_objects_.
However, the payload values corresponding to semaphores with type
{CL_SEMAPHORE_TYPE_BINARY_KHR} can be set to 0 or will be ignored.

{clEnqueueWaitSemaphoresKHR} and {clEnqueueSignalSemaphoresKHR} may return
{CL_INVALID_VALUE} if _sema_objects_ list has one or more semaphores
obtained from {CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR} and _sema_payload_list_
is NULL.

endif::cl_khr_external_semaphore_dx_fence[]

ifdef::cl_khr_external_semaphore_win32[]

The {cl_khr_external_semaphore_win32_EXT} extension extends
Expand Down Expand Up @@ -13193,14 +13135,6 @@ endif::cl_khr_external_semaphore_win32[]
|====
| Handle Type | Transference | Permanence

ifdef::cl_khr_external_semaphore_dx_fence[]
| {CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR_anchor}

include::{generated}/api/version-notes/CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR.asciidoc[]
| Reference
| Temporary, Permanent
endif::cl_khr_external_semaphore_dx_fence[]

ifdef::cl_khr_external_semaphore_win32[]
| {CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KHR_anchor}

Expand All @@ -13223,7 +13157,7 @@ For handle types defined as NT handles, the application must release
ownership using the `CloseHandle` system call when the handle is no longer
needed.

endif::cl_khr_external_semaphore_dx_fence,cl_khr_external_semaphore_win32[]
endif::cl_khr_external_semaphore_win32[]

endif::cl_khr_external_semaphore[]

Expand Down
8 changes: 0 additions & 8 deletions ext/quick_reference.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,6 @@ Language Specifications.
| dma_buf External Memory Handles
| Extension

| [[cl_khr_external_memory_dx]] link:{APISpecURL}#cl_khr_external_memory[{cl_khr_external_memory_dx_EXT}]
| Direct3D 11 and 12 External Memory Handles
| Provisional Extension

| [[cl_khr_external_memory_opaque_fd]] link:{APISpecURL}#cl_khr_external_memory[{cl_khr_external_memory_opaque_fd_EXT}]
| Opaque File Descriptor External Memory Handles
| Extension
Expand All @@ -124,10 +120,6 @@ Language Specifications.
| Common Functionality for External Semaphore Sharing
| Extension

| [[cl_khr_external_semaphore_dx_fence]] link:{APISpecURL}#cl_khr_external_semaphore[{cl_khr_external_semaphore_dx_fence_EXT}]
| Direct3D 12 External Semaphore Handles
| Provisional Extension

| [[cl_khr_external_semaphore_opaque_fd]] link:{APISpecURL}#cl_khr_external_semaphore[{cl_khr_external_semaphore_opaque_fd_EXT}]
| Opaque File Descriptor External Semaphore Handles
| Extension
Expand Down
26 changes: 2 additions & 24 deletions xml/cl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1888,14 +1888,11 @@ server's OpenCL/api-docs repository.
<enum value="0x2056" name="CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KHR"/>
<enum value="0x2057" name="CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KMT_KHR"/>
<enum value="0x2058" name="CL_SEMAPHORE_HANDLE_SYNC_FD_KHR"/>
<enum value="0x2059" name="CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR"/>
<unused start="0x2059" end="0x2059" comment="Reserved to Khronos for interop"/>
<enum value="0x2060" name="CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_FD_KHR"/>
<enum value="0x2061" name="CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KHR"/>
<enum value="0x2062" name="CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KMT_KHR"/>
<enum value="0x2063" name="CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR"/>
<enum value="0x2064" name="CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KMT_KHR"/>
<enum value="0x2065" name="CL_EXTERNAL_MEMORY_HANDLE_D3D12_HEAP_KHR"/>
<enum value="0x2066" name="CL_EXTERNAL_MEMORY_HANDLE_D3D12_RESOURCE_KHR"/>
<unused start="0x2063" end="0x2066" comment="Reserved to Khronos for interop"/>
<enum value="0x2067" name="CL_EXTERNAL_MEMORY_HANDLE_DMA_BUF_KHR"/>
<unused start="0x2068" end="0x2FFF" comment="Reserved to Khronos for interop"/>
</enums>
Expand Down Expand Up @@ -7057,14 +7054,6 @@ server's OpenCL/api-docs repository.
<command name="clGetSemaphoreHandleForTypeKHR"/>
</require>
</extension>
<extension name="cl_khr_external_semaphore_dx_fence" revision="0.9.0" supported="opencl" depends="CL_VERSION_1_2+cl_khr_semaphore+cl_khr_external_semaphore" ratified="opencl" provisional="true">
<require>
<type name="CL/cl.h"/>
</require>
<require comment="cl_external_semaphore_handle_type_khr">
<enum name="CL_SEMAPHORE_HANDLE_D3D12_FENCE_KHR"/>
</require>
</extension>
<extension name="cl_khr_external_semaphore_opaque_fd" revision="0.9.0" supported="opencl" depends="CL_VERSION_1_2+cl_khr_semaphore+cl_khr_external_semaphore" ratified="opencl">
<require>
<type name="CL/cl.h"/>
Expand Down Expand Up @@ -7131,17 +7120,6 @@ server's OpenCL/api-docs repository.
<enum name="CL_EXTERNAL_MEMORY_HANDLE_DMA_BUF_KHR"/>
</require>
</extension>
<extension name="cl_khr_external_memory_dx" revision="0.9.3" supported="opencl" depends="CL_VERSION_3_0+cl_khr_external_memory" ratified="opencl" provisional="true">
<require>
<type name="CL/cl.h"/>
</require>
<require comment="cl_external_memory_handle_type_khr">
<enum name="CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR"/>
<enum name="CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KMT_KHR"/>
<enum name="CL_EXTERNAL_MEMORY_HANDLE_D3D12_HEAP_KHR"/>
<enum name="CL_EXTERNAL_MEMORY_HANDLE_D3D12_RESOURCE_KHR"/>
</require>
</extension>
<extension name="cl_khr_external_memory_opaque_fd" revision="0.9.3" supported="opencl" depends="CL_VERSION_3_0+cl_khr_external_memory" ratified="opencl">
<require>
<type name="CL/cl.h"/>
Expand Down

0 comments on commit ffa3f8e

Please sign in to comment.