| // Copyright 2017-2024 The Khronos Group. This work is licensed under a |
| // Creative Commons Attribution 4.0 International License; see |
| // http://creativecommons.org/licenses/by/4.0/ |
| |
| // The API and C specifications are published in the same directory as the |
| // extension specification, so only the relative URL is required. |
| |
| :APISpecURL: OpenCL_API.html |
| |
| [appendix] |
| [[quick-reference]] |
| == Quick Reference |
| |
| Each extension in this table includes a link to the corresponding appendix |
| in the OpenCL 3.0 API Specification, which provides a fuller description and |
| references to the actual extension specification language in the API and C |
| Language Specifications. |
| |
| // Editors note: Please keep this table in alphabetical order! |
| |
| [cols="5,4,2",options="header",] |
| |==== |
| | Extension Name and Link |
| | Brief Description |
| | Status |
| |
| | [[cl_khr_3d_image_writes]] link:{APISpecURL}#cl_khr_3d_image_writes[`cl_khr_3d_image_writes`] |
| | Write to 3D images |
| | Core Feature in OpenCL 2.0 |
| |
| | [[cl_khr_async_work_group_copy_fence]] link:{APISpecURL}#cl_khr_async_work_group_copy_fence[`cl_khr_async_work_group_copy_fence`] |
| | Asynchronous Copy Fences |
| | Extension |
| |
| | [[cl_khr_byte_addressable_store]] link:{APISpecURL}#cl_khr_byte_addressable_store[`cl_khr_byte_addressable_store`] |
| | Read and write from 8-bit and 16-bit pointers |
| | Core Feature in OpenCL 1.1 |
| |
| | [[cl_khr_command_buffer]] link:{APISpecURL}#cl_khr_command_buffer[`cl_khr_command_buffer`] |
| | Record and Replay Commands |
| | Provisional Extension |
| |
| | [[cl_khr_command_buffer_multi_device]] link:{APISpecURL}#cl_khr_command_buffer_multi_device[`cl_khr_command_buffer_multi_device`] |
| | Allow a command-buffer to contain commands targeting different devices |
| | Provisional Extension |
| |
| | [[cl_khr_command_buffer_mutable_dispatch]] link:{APISpecURL}#cl_khr_command_buffer_mutable_dispatch[`cl_khr_command_buffer_mutable_dispatch`] |
| | Modify kernel execution commands between enqueues of a command-buffer |
| | Provisional Extension |
| |
| | [[cl_khr_create_command_queue]] link:{APISpecURL}#cl_khr_create_command_queue[`cl_khr_create_command_queue`] |
| | API to Create Command-Queues with Properties |
| | Core Feature in OpenCL 2.0 |
| |
| | [[cl_khr_d3d10_sharing]] link:{APISpecURL}#cl_khr_d3d10_sharing[`cl_khr_d3d10_sharing`] |
| | Share Direct3D 10 Buffers and Textures with OpenCL |
| | Extension |
| |
| | [[cl_khr_d3d11_sharing]] link:{APISpecURL}#cl_khr_d3d11_sharing[`cl_khr_d3d11_sharing`] |
| | Share Direct3D 11 Buffers and Textures with OpenCL |
| | Extension |
| |
| | [[cl_khr_depth_images]] link:{APISpecURL}#cl_khr_depth_images[`cl_khr_depth_images`] |
| | Single Channel Depth Images |
| | Core Feature in OpenCL 2.0 |
| |
| | [[cl_khr_device_enqueue_local_arg_types]] link:{APISpecURL}#cl_khr_device_enqueue_local_arg_types[`cl_khr_device_enqueue_local_arg_types`] |
| | Pass Non-Void Local Pointers to Child Kernels |
| | Extension |
| |
| | [[cl_khr_device_uuid]] link:{APISpecURL}#cl_khr_device_uuid[`cl_khr_device_uuid`] |
| | Unique Device and Driver Identifier Queries |
| | Extension |
| |
| | [[cl_khr_dx9_media_sharing]] link:{APISpecURL}#cl_khr_dx9_media_sharing[`cl_khr_dx9_media_sharing`] |
| | Share DirectX 9 Media Surfaces with OpenCL |
| | Extension |
| |
| | [[cl_khr_egl_event]] link:{APISpecURL}#cl_khr_egl_event[`cl_khr_egl_event`] |
| | Share EGL Sync Objects with OpenCL |
| | Extension |
| |
| | [[cl_khr_egl_image]] link:{APISpecURL}#cl_khr_egl_image[`cl_khr_egl_image`] |
| | Share EGL Images with OpenCL |
| | Extension |
| |
| | [[cl_khr_extended_async_copies]] link:{APISpecURL}#cl_khr_extended_async_copies[`cl_khr_extended_async_copies`] |
| | 2D and 3D Async Copies |
| | Extension |
| |
| | [[cl_khr_extended_bit_ops]] link:{APISpecURL}#cl_khr_extended_bit_ops[`cl_khr_extended_bit_ops`] |
| | Bit Insert, Extract, and Reverse Operations |
| | Extension |
| |
| | [[cl_khr_extended_versioning]] link:{APISpecURL}#cl_khr_extended_versioning[`cl_khr_extended_versioning`] |
| | Extend versioning of platform, devices, extensions, etc. |
| | Core Feature in OpenCL 3.0 (with minor changes) |
| |
| | [[cl_khr_external_memory]] link:{APISpecURL}#cl_khr_external_memory[`cl_khr_external_memory`] |
| | Common Functionality for External Memory Sharing |
| | Provisional Extension |
| |
| | [[cl_khr_external_memory_dma_buf]] link:{APISpecURL}#cl_khr_external_memory[`cl_khr_external_memory_dma_buf`] |
| | dma_buf External Memory Handles |
| | Provisional Extension |
| |
| | [[cl_khr_external_memory_dx]] link:{APISpecURL}#cl_khr_external_memory[`cl_khr_external_memory_dx`] |
| | 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`] |
| | Opaque File Descriptor External Memory Handles |
| | Provisional Extension |
| |
| | [[cl_khr_external_memory_win32]] link:{APISpecURL}#cl_khr_external_memory[`cl_khr_external_memory_win32`] |
| | NT Handle External Memory Handles |
| | Provisional Extension |
| |
| | [[cl_khr_expect_assume]] link:{APISpecURL}#cl_khr_expect_assume[`cl_khr_expect_assume`] |
| | Kernel Optimization Hints |
| | Extension |
| |
| | [[cl_khr_external_semaphore]] link:{APISpecURL}#cl_khr_external_semaphore[`cl_khr_external_semaphore`] |
| | Common Functionality for External Semaphore Sharing |
| | Provisional Extension |
| |
| | [[cl_khr_external_semaphore_dx_fence]] link:{APISpecURL}#cl_khr_external_semaphore[`cl_khr_external_semaphore_dx_fence`] |
| | 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`] |
| | Opaque File Descriptor External Semaphore Handles |
| | Provisional Extension |
| |
| | [[cl_khr_external_semaphore_sync_fd]] link:{APISpecURL}#cl_khr_external_semaphore[`cl_khr_external_semaphore_sync_fd`] |
| | Sync FD External Semaphore Handles |
| | Provisional Extension |
| |
| | [[cl_khr_external_semaphore_win32]] link:{APISpecURL}#cl_khr_external_semaphore[`cl_khr_external_semaphore_win32`] |
| | NT Handle External Semaphore Handles |
| | Provisional Extension |
| |
| | [[cl_khr_fp16]] link:{APISpecURL}#cl_khr_fp16[`cl_khr_fp16`] |
| | Operations on 16-bit Floating-Point Values |
| | Extension |
| |
| | [[cl_khr_fp64]] link:{APISpecURL}#cl_khr_fp64[`cl_khr_fp64`] |
| | Operations on 64-bit Floating-Point Values |
| | Optional Core Feature in OpenCL 1.2 |
| |
| | [[cl_khr_gl_depth_images]] link:{APISpecURL}#cl_khr_gl_depth_images[`cl_khr_gl_depth_images`] |
| | Share OpenGL Depth Images with OpenCL |
| | Extension |
| |
| | [[cl_khr_gl_event]] link:{APISpecURL}#cl_khr_gl_event[`cl_khr_gl_event`] |
| | Share OpenGL Fence Sync Objects with OpenCL |
| | Extension |
| |
| | [[cl_khr_gl_msaa_sharing]] link:{APISpecURL}#cl_khr_gl_msaa_sharing[`cl_khr_gl_msaa_sharing`] |
| | Share OpenGL MSAA Textures with OpenCL |
| | Extension |
| |
| | [[cl_khr_gl_sharing]] link:{APISpecURL}#cl_khr_gl_sharing[`cl_khr_gl_sharing`] |
| | Sharing OpenGL Buffers and Textures with OpenCL |
| | Extension |
| |
| | [[cl_khr_global_int32_base_atomics]] link:{APISpecURL}#cl_khr_int32_atomics[`cl_khr_global_int32_base_atomics`] |
| | Basic Atomic Operations on 32-bit Integers in Global Memory |
| | Core Feature in OpenCL 1.1 |
| |
| | [[cl_khr_global_int32_extended_atomics]] link:{APISpecURL}#cl_khr_int32_atomics[`cl_khr_global_int32_extended_atomics`] |
| | Extended Atomic Operations on 32-bit Integers in Global Memory |
| | Core Feature in OpenCL 1.1 |
| |
| | [[cl_khr_icd]] link:{APISpecURL}#cl_khr_icd[`cl_khr_icd`] |
| | Installable Client Drivers |
| | Extension |
| |
| | [[cl_khr_il_program]] link:{APISpecURL}#cl_khr_il_program[`cl_khr_il_program`] |
| | Support for Intermediate Language (IL) Programs (SPIR-V) |
| | Core Feature in OpenCL 2.1 |
| |
| | [[cl_khr_image2d_from_buffer]] link:{APISpecURL}#cl_khr_image2d_from_buffer[`cl_khr_image2d_from_buffer`] |
| | Create 2D Images from Buffers |
| | Core Feature in OpenCL 2.0 |
| |
| | [[cl_khr_initialize_memory]] link:{APISpecURL}#cl_khr_initialize_memory[`cl_khr_initialize_memory`] |
| | Initialize Local and Private Memory on Allocation |
| | Extension |
| |
| | [[cl_khr_int64_base_atomics]] link:{APISpecURL}#cl_khr_int64_atomics[`cl_khr_int64_base_atomics`] |
| | Basic Atomic Operations on 64-bit Integers in Global and Local Memory |
| | Extension |
| |
| | [[cl_khr_int64_extended_atomics]] link:{APISpecURL}#cl_khr_int64_atomics[`cl_khr_int64_extended_atomics`] |
| | Extended Atomic Operations on 64-bit Integers in Global and Local Memory |
| | Extension |
| |
| | [[cl_khr_local_int32_base_atomics]] link:{APISpecURL}#cl_khr_int32_atomics[`cl_khr_local_int32_base_atomics`] |
| | Basic Atomic Operations on 32-bit Integers in Local Memory |
| | Core Feature in OpenCL 1.1 |
| |
| | [[cl_khr_local_int32_extended_atomics]] link:{APISpecURL}#cl_khr_int32_atomics[`cl_khr_local_int32_extended_atomics`] |
| | Extended Atomic Operations on 32-bit Integers in Local Memory |
| | Core Feature in OpenCL 1.1 |
| |
| | [[cl_khr_integer_dot_product]] link:{APISpecURL}#cl_khr_integer_dot_product[`cl_khr_integer_dot_product`] |
| | Integer dot product operations |
| | Extension |
| |
| | [[cl_khr_mipmap_image]] link:{APISpecURL}#cl_khr_mipmap_image[`cl_khr_mipmap_image`] |
| | Create and Use Images with Mipmaps |
| | Extension |
| |
| | [[cl_khr_pci_bus_info]] link:{APISpecURL}#cl_khr_pci_bus_info[`cl_khr_pci_bus_info`] |
| | Query PCI Bus Information for an OpenCL Device |
| | Extension |
| |
| | [[cl_khr_priority_hints]] link:{APISpecURL}#cl_khr_priority_hints[`cl_khr_priority_hints`] |
| | Create Command-Queues with Different Priorities |
| | Extension |
| |
| | [[cl_khr_select_fprounding_mode]] link:{APISpecURL}#cl_khr_select_fprounding_mode[`cl_khr_select_fprounding_mode`] |
| | Set the Current Kernel Rounding Mode |
| | DEPRECATED |
| |
| | [[cl_khr_semaphore]] link:{APISpecURL}#cl_khr_semaphore[`cl_khr_semaphore`] |
| | Semaphore Synchronization Primitives |
| | Provisional Extension |
| |
| | [[cl_khr_spir]] link:{APISpecURL}#cl_khr_spir[`cl_khr_spir`] |
| | Standard Portable Intermediate Representation Programs |
| | Extension, Superseded by IL Programs / SPIR-V |
| |
| | [[cl_khr_srgb_image_writes]] link:{APISpecURL}#cl_khr_srgb_image_writes[`cl_khr_srgb_image_writes`] |
| | Write to sRGB Images |
| | Extension |
| |
| | [[cl_khr_subgroups]] link:{APISpecURL}#cl_khr_subgroups[`cl_khr_subgroups`] |
| | Sub-Groupings of Work Items |
| | Core Feature in OpenCL 2.1 (with minor changes) |
| |
| | [[cl_khr_subgroup_ballot]] link:{APISpecURL}#cl_khr_subgroup_ballot[`cl_khr_subgroup_ballot`] |
| | Exchange Ballots Among Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_subgroup_clustered_reduce]] link:{APISpecURL}#cl_khr_subgroup_clustered_reduce[`cl_khr_subgroup_clustered_reduce`] |
| | Clustered Reductions for Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_subgroup_extended_types]] link:{APISpecURL}#cl_khr_subgroup_extended_types[`cl_khr_subgroup_extended_types`] |
| | Additional Type Support for Sub-group Functions |
| | Extension |
| |
| | [[cl_khr_subgroup_named_barrier]] link:{APISpecURL}#cl_khr_subgroup_named_barrier[`cl_khr_subgroup_named_barrier`] |
| | Barriers for Subsets of a Work-group |
| | Extension |
| |
| | [[cl_khr_subgroup_non_uniform_arithmetic]] link:{APISpecURL}#cl_khr_subgroup_non_uniform_arithmetic[`cl_khr_subgroup_non_uniform_arithmetic`] |
| | Sub-group Arithmetic Functions in Non-Uniform Control Flow |
| | Extension |
| |
| | [[cl_khr_subgroup_non_uniform_vote]] link:{APISpecURL}#cl_khr_subgroup_non_uniform_vote[`cl_khr_subgroup_non_uniform_vote`] |
| | Hold Votes Among Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_subgroup_rotate]] link:{APISpecURL}#cl_khr_subgroup_rotate[`cl_khr_subgroup_rotate`] |
| | Rotation Among Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_subgroup_shuffle]] link:{APISpecURL}#cl_khr_subgroup_shuffle[`cl_khr_subgroup_shuffle`] |
| | General-Purpose Shuffles Among Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_subgroup_shuffle_relative]] link:{APISpecURL}#cl_khr_subgroup_shuffle_relative[`cl_khr_subgroup_shuffle_relative`] |
| | Relative Shuffles Among Sub-Groupings of Work Items |
| | Extension |
| |
| | [[cl_khr_suggested_local_work_size]] link:{APISpecURL}#cl_khr_suggested_local_work_size[`cl_khr_suggested_local_work_size`] |
| | Query a Suggested Local Work Size |
| | Extension |
| |
| | [[cl_khr_terminate_context]] link:{APISpecURL}#cl_khr_terminate_context[`cl_khr_terminate_context`] |
| | Terminate an OpenCL Context |
| | Extension |
| |
| | [[cl_khr_throttle_hints]] link:{APISpecURL}#cl_khr_throttle_hints[`cl_khr_throttle_hints`] |
| | Create Command-Queues with Different Throttle Policies |
| | Extension |
| |
| | [[cl_khr_work_group_uniform_arithmetic]] link:{APISpecURL}#cl_khr_work_group_uniform_arithmetic[`cl_khr_work_group_uniform_arithmetic`] |
| | Work-group Uniform Arithmetic |
| | Extension |
| |
| |==== |