diff --git a/api/cl_khr_icd.asciidoc b/api/cl_khr_icd.asciidoc index 834f9ca66..fbb5ef223 100644 --- a/api/cl_khr_icd.asciidoc +++ b/api/cl_khr_icd.asciidoc @@ -273,11 +273,18 @@ Returned by {clGetPlatformIDs} when no platforms are found: * {CL_PLATFORM_NOT_FOUND_KHR} -New in version 2.0.0, used as a value in the pointer to -`clGetPlatformIDs` in the dispatch structure: +New in version 2.0.0. + +Used as a value in the pointer to `clGetPlatformIDs` in +the dispatch structure: * `CL_ICD2_TAG_KHR` +Used as a parameter name to query if a platform can be unlaoded by the ICD +Loader: + + * {CL_PLATFORM_UNLOADABLE_KHR} + === Issues . Some OpenCL functions do not take an object argument from which their diff --git a/api/opencl_platform_layer.asciidoc b/api/opencl_platform_layer.asciidoc index e37ba3e2b..8f32e713e 100644 --- a/api/opencl_platform_layer.asciidoc +++ b/api/opencl_platform_layer.asciidoc @@ -337,6 +337,11 @@ include::{generated}/api/version-notes/CL_PLATFORM_ICD_SUFFIX_KHR.asciidoc[] | {char_TYPE}[] | The function name suffix used to identify extension functions to be directed to this platform by the ICD Loader. +| {CL_PLATFORM_UNLOADABLE_KHR_anchor} + +include::{generated}/api/version-notes/CL_PLATFORM_UNLOADABLE_KHR.asciidoc[] + | {cl_bool_TYPE} + | The platform can be unloaded by the ICD Loader. endif::cl_khr_icd[] |==== diff --git a/extensions/cl_loader_layers.asciidoc b/extensions/cl_loader_layers.asciidoc index c286706de..49800c2c3 100644 --- a/extensions/cl_loader_layers.asciidoc +++ b/extensions/cl_loader_layers.asciidoc @@ -21,6 +21,7 @@ interception layers (Layer ICDs) for OpenCL. |==== | *Date* | *Version* | *Description* | 2020-11-04 | 1.0.0 | First assigned version. +| 2024-09-04 | 2.0.0 | Deinitialization support. |==== ==== Contributors @@ -45,6 +46,8 @@ cl_int clInitLayer(cl_uint num_entries, const cl_icd_dispatch *target_dispatch, cl_uint *num_entries_ret, const cl_icd_dispatch **layer_dispatch_ret); + +cl_int clDeinitLayer(void); ---- [[cl_loader_layers-new-api-types]] @@ -72,12 +75,13 @@ Accepted as _param_name_ to the function *clGetLayerInfo*: === New API Tokens Returned by *clGetLayerInfo* when supplied *CL_LAYER_API_VERSION* -and the corresponding layer implements version 1.0.0 of the layer -API: +and the corresponding layer implements version 1.0.0 or 2.0.0 of +the layer API: [source,opencl] ---- #define CL_LAYER_API_VERSION_100 100 +#define CL_LAYER_API_VERSION_200 200 ---- [[cl_loader_layers-new-environment-variables]] @@ -173,6 +177,18 @@ Otherwise, it returns one of the following errors. _target_dispatch_ is a `NULL` value, or _num_entries_ret_ is a `NULL` value, or _layer_dispatch_ret_ is a `NULL` value. +==== Layer Deinitialization + +[open,refpage='clDeinitLayer',desc='Deinitialize an OpenCL layer',type='protos'] +Deinitilization of a layer can be achieved with the function: +[source,opencl] + +---- +cl_int clInitLayer(void); +---- + +*clDeinitLayer* returns *CL_SUCCESS* if the function is executed successfully. + [[cl_loader_layers-source-code]] === Source Code diff --git a/xml/cl.xml b/xml/cl.xml index f6a8bd618..1745f724d 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -522,6 +522,7 @@ server's OpenCL/api-docs repository. + @@ -1422,7 +1423,8 @@ server's OpenCL/api-docs repository. - + + @@ -4246,6 +4248,9 @@ server's OpenCL/api-docs repository. cl_uint* num_entries_ret const cl_icd_dispatch** layer_dispatch_ret + + cl_int clDeinitLayer + cl_int clGetICDLoaderInfoOCLICD cl_icdl_info param_name @@ -5625,6 +5630,7 @@ server's OpenCL/api-docs repository. + @@ -5638,7 +5644,7 @@ server's OpenCL/api-docs repository. - + @@ -5652,10 +5658,12 @@ server's OpenCL/api-docs repository. + +