Skip to content

Commit 78deaad

Browse files
authored
remove references to the OpenCL Extension Specification (#1503)
* remove references to the OpenCL Extension Specification This is not needed and is incorrect now that OpenCL extensions have been integrated into the main specification. Also, fixes numerous issues in the Associated OpenCL Specifications section. * tidy up one part of the OpenCL C specification for extensions We cannot remove OpenCL C references to the OpenCL extension specification completely because extension pragmas and defines are still described in the OpenCL extension specification.
1 parent b00754b commit 78deaad

4 files changed

Lines changed: 35 additions & 47 deletions

File tree

OpenCL_C.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ what versions of OpenCL C specify that feature.
9696
is used, it has the identical meaning.
9797
* Requires support for OpenCL C 2.0, or OpenCL C 3.0 or newer and the
9898
{opencl_c_feature_name} feature:
99-
Features that were introduced in OpenCL C 2.0 as mandatory, but made
100-
<<optional-functionality, optional>> in OpenCL C 3.0.
99+
Features that were introduced in OpenCL C 2.0 as mandatory, but are
100+
<<optional-functionality, optional>> in OpenCL C 3.0 or newer.
101101
Compilers for versions of OpenCL C 1.2 or below will not provide these
102102
features, compilers for OpenCL C 2.0 will provide these features,
103103
compilers for OpenCL C 3.0 or newer may provide these features.
@@ -282,13 +282,13 @@ corresponding optional functionality.
282282
=== Extensions
283283

284284
Other optional functionality may be described by language extensions to OpenCL
285-
C. Extensions are described in the <<opencl-extension-spec,OpenCL Extension
286-
Specification>>. When an OpenCL C extension is supported an associated
287-
__extension macro__ will be predefined. Please refer to the OpenCL Extension
288-
Specification for more information about predefined extension macros.
289-
290-
Prior to OpenCL C 3.0, support for some optional core language features was
291-
indicated using predefined extension macros.
285+
C.
286+
Extensions to OpenCL C are described in the OpenCL C specification or in
287+
vendor-provided documentation.
288+
When an OpenCL C extension is supported an associated extension macro will be
289+
predefined.
290+
Please refer to the <<opencl-extension-spec,OpenCL Extension Specification>> for
291+
more information about predefined extension macros.
292292

293293
When an optional core language feature began as an extension it may have both an
294294
associated feature macro and an associated extension macro. If an optional core

api/embedded_profile.asciidoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66

77
The OpenCL specification describes the feature requirements for desktop
88
platforms.
9-
This section describes the OpenCL embedded profile that allows us to
10-
target a subset of the OpenCL specification for handheld and embedded
9+
This section describes the OpenCL embedded profile, which defines
10+
a subset of the OpenCL specification for handheld and embedded
1111
platforms.
12-
The optional extensions defined in the OpenCL Extension Specification
13-
apply to both profiles.
12+
Optional OpenCL extensions may apply to both profiles.
1413

1514
The OpenCL embedded profile has the following restrictions until version 2.0 (i.e. the optionality described below was <<unified-spec, deprecated by>> version 2.0):
1615

api/opencl_assoc_spec.asciidoc

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,35 @@
11
// Copyright 2017-2026 The Khronos Group Inc.
22
// SPDX-License-Identifier: CC-BY-4.0
33

4-
= Associated OpenCL specification
4+
= Associated OpenCL Specifications
5+
6+
7+
[[opencl-c-kernel-language]]
8+
== The OpenCL C Kernel Language
9+
10+
The OpenCL C kernel language is defined in the OpenCL C unified
11+
specification, which specifies all versions of OpenCL C.
12+
When an OpenCL device supports one or more versions of the OpenCL C kernel
13+
language (see {CL_DEVICE_OPENCL_C_VERSION} and
14+
{CL_DEVICE_OPENCL_C_ALL_VERSIONS}), OpenCL program objects may be created by
15+
passing OpenCL C source strings to {clCreateProgramWithSource}.
516

617

718
[[spirv-il]]
819
== SPIR-V Intermediate Language
920

10-
OpenCL 2.1 and 2.2 require support for the SPIR-V intermediate
11-
language that allows offline compilation to a binary
12-
format that may be consumed by the {clCreateProgramWithIL} interface.
13-
14-
The OpenCL specification includes a specification for the SPIR-V
15-
intermediate language as a cross-platform input language.
16-
In addition, platform vendors may support their own IL if this is
17-
appropriate.
18-
The OpenCL runtime will return a list of supported IL versions using the
19-
{CL_DEVICE_IL_VERSION} or {CL_DEVICE_ILS_WITH_VERSION} parameter to
20-
the {clGetDeviceInfo} query.
21+
The OpenCL specifications include the SPIR-V specification, which defines a
22+
cross-platform intermediate language.
23+
When an OpenCL device supports one or more versions of SPIR-V (see
24+
{CL_DEVICE_IL_VERSION} or {CL_DEVICE_ILS_WITH_VERSION}), OpenCL program objects
25+
may be created by passing SPIR-V to {clCreateProgramWithIL}.
2126

2227

2328
[[opencl-extensions]]
2429
== Extensions to OpenCL
2530

2631
In addition to the specification of core features, OpenCL provides a number
27-
of extensions to the API, kernel language or intermediate representation.
28-
These features are defined in the OpenCL extension specification document.
29-
30-
Extensions defined against earlier versions of the OpenCL specifications,
31-
whether the API or language specification, are defined in the matching
32-
versions of the extension specification document.
33-
34-
[[opencl-c-kernel-language]]
35-
== The OpenCL C Kernel Language
32+
of extensions to the API, kernel language, or intermediate representation.
33+
These extensions are described in the OpenCL specifications or in vendor-provided
34+
documentation.
3635

37-
The OpenCL C kernel language is not defined in the OpenCL unified
38-
specification.
39-
The OpenCL C kernel languages are instead defined in the OpenCL 1.0,
40-
OpenCL 1.1, OpenCL 1.2, OpenCL C 2.0 Kernel Language, and OpenCL C 3.0
41-
Kernel Language specifications.
42-
When OpenCL devices support one or more versions of the OpenCL C
43-
kernel language (see {CL_DEVICE_OPENCL_C_VERSION} and
44-
{CL_DEVICE_OPENCL_C_ALL_VERSIONS}),
45-
OpenCL program objects may be created by passing OpenCL C source
46-
strings to {clCreateProgramWithSource}.

api/opencl_platform_layer.asciidoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,8 +1490,8 @@ include::{generated}/api/version-notes/CL_DEVICE_EXTENSIONS.asciidoc[]
14901490
{cl_khr_depth_images_EXT} +
14911491
{cl_khr_image2d_from_buffer_EXT}
14921492

1493-
Please refer to the OpenCL Extension Specification or vendor
1494-
provided documentation for a detailed description of these extensions.
1493+
Please refer to the OpenCL Specification or vendor-provided
1494+
documentation for a detailed description of these extensions.
14951495

14961496
| {CL_DEVICE_EXTENSIONS_WITH_VERSION_anchor}
14971497

@@ -3109,7 +3109,7 @@ include::{generated}/api/version-notes/CL_CONTEXT_INTEROP_USER_SYNC.asciidoc[]
31093109
| {cl_bool_TYPE}
31103110
| Specifies whether the user is responsible for synchronization
31113111
between OpenCL and other APIs.
3112-
Please refer to the specific sections in the OpenCL Extension
3112+
Please refer to the specific sections in the OpenCL
31133113
Specification that describe sharing with other APIs for restrictions
31143114
on using this flag.
31153115

0 commit comments

Comments
 (0)