diff --git a/specs/2.2/html/OpenCL_API.html b/specs/2.2/html/OpenCL_API.html
index afc7d01..dacbc0f 100644
--- a/specs/2.2/html/OpenCL_API.html
+++ b/specs/2.2/html/OpenCL_API.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Khronos OpenCL Working Group">
 <title>The OpenCL&#8482; Specification</title>
 <style>
@@ -841,9 +841,9 @@
 <h1>The OpenCL<sup>&#8482;</sup> Specification</h1>
 <div class="details">
 <span id="author" class="author">Khronos OpenCL Working Group</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:27 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:49:19 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -1074,7 +1074,6 @@
 Yariv Aridor, Intel<br>
 Michael Kinsner, Intel<br>
 Kevin Stevens, Intel<br>
-Jon Leech, Khronos<br>
 Benjamin Bergen, Los Alamos National Laboratory<br>
 Roy Ju, Mediatek<br>
 Bor-Sung Liang, Mediatek<br>
@@ -3460,15 +3459,15 @@
 <td class="tableblock halign-left valign-top" rowspan="2"><p class="tableblock">Kernel</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Static Allocation for program scope variables</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Static Allocation</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Static Allocation.</p>
-<p class="tableblock">            Dynamic allocation for child kernel</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Static Allocation.
+</p><p class="tableblock">            Dynamic allocation for child kernel</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Static Allocation</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write access</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read-only access</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write access.</p>
-<p class="tableblock">        No access to child&#8217;s local memory.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write access.
+</p><p class="tableblock">        No access to child&#8217;s local memory.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write access</p></td>
 </tr>
 </tbody>
@@ -3516,10 +3515,12 @@
 </ul>
 </div>
 <div class="paragraph">
-<p>In both cases, the commands to transfer data between devices and the host
+<p>With Read/Write/Map, the commands
 can be blocking or non-blocking operations.
 The OpenCL function call for a blocking memory transfer returns once the
-associated memory resources on the host can be safely reused.
+command (memory transfer) has completed.  At this point the associated memory
+resources on the host can be safely reused, and following operations on the host are
+guaranteed that the transfer has already completed.
 For a non-blocking memory transfer, the OpenCL function call returns as soon
 as the command is enqueued.</p>
 </div>
@@ -5157,11 +5158,11 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]<sup>1</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">OpenCL profile string.
         Returns the profile name supported by the implementation.
-        The profile name returned can be one of the following strings:</p>
-<p class="tableblock">        FULL_PROFILE - if the implementation supports the OpenCL
+        The profile name returned can be one of the following strings:
+</p><p class="tableblock">        FULL_PROFILE - if the implementation supports the OpenCL
         specification (functionality defined as part of the core
-        specification and does not require any extensions to be supported).</p>
-<p class="tableblock">        EMBEDDED_PROFILE - if the implementation supports the OpenCL
+        specification and does not require any extensions to be supported).
+</p><p class="tableblock">        EMBEDDED_PROFILE - if the implementation supports the OpenCL
         embedded profile.
         The embedded profile is defined to be a subset for each version of
         OpenCL.
@@ -5173,10 +5174,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">OpenCL version string.
         Returns the OpenCL version supported by the implementation.
-        This version string has the following format:</p>
-<p class="tableblock">        <em>OpenCL&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;platform-specific
-        information&gt;</em></p>
-<p class="tableblock">        The <em>major_version.minor_version</em> value returned will be 2.2.</p></td>
+        This version string has the following format:
+</p><p class="tableblock">        <em>OpenCL&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;platform-specific
+        information&gt;</em>
+</p><p class="tableblock">        The <em>major_version.minor_version</em> value returned will be 2.2.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_PLATFORM_NAME</strong></p></td>
@@ -5446,8 +5447,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_TYPE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The OpenCL device type.
-        Currently supported values are:</p>
-<p class="tableblock">        CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_GPU, CL_DEVICE_TYPE_ACCELERATOR,
+        Currently supported values are:
+</p><p class="tableblock">        CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_GPU, CL_DEVICE_TYPE_ACCELERATOR,
         CL_DEVICE_TYPE_DEFAULT, a combination of the above types or
         CL_DEVICE_TYPE_CUSTOM.</p></td>
 </tr>
@@ -5477,10 +5478,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_WORK_ITEM_SIZES</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t []</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of work-items that can be specified in each dimension
-        of the work-group to <strong>clEnqueueNDRangeKernel</strong>.</p>
-<p class="tableblock">        Returns <em>n</em> size_t entries, where <em>n</em> is the value returned by the
-        query for CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS.</p>
-<p class="tableblock">        The minimum value is (1, 1, 1) for devices that are not of type
+        of the work-group to <strong>clEnqueueNDRangeKernel</strong>.
+</p><p class="tableblock">        Returns <em>n</em> size_t entries, where <em>n</em> is the value returned by the
+        query for CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS.
+</p><p class="tableblock">        The minimum value is (1, 1, 1) for devices that are not of type
         CL_DEVICE_TYPE_CUSTOM.</p></td>
 </tr>
 <tr>
@@ -5508,10 +5509,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Preferred native vector width size for built-in scalar types that
         can be put into vectors.
         The vector width is defined as the number of scalar elements that
-        can be stored in the vector.</p>
-<p class="tableblock">        If double precision is not supported,
-        CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE must return 0.</p>
-<p class="tableblock">        If the <strong>cl_khr_fp16</strong> extension is not supported,
+        can be stored in the vector.
+</p><p class="tableblock">        If double precision is not supported,
+        CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE must return 0.
+</p><p class="tableblock">        If the <strong>cl_khr_fp16</strong> extension is not supported,
         CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF must return 0.</p></td>
 </tr>
 <tr>
@@ -5525,10 +5526,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the native ISA vector width.
         The vector width is defined as the number of scalar elements that
-        can be stored in the vector.</p>
-<p class="tableblock">        If double precision is not supported,
-        CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE must return 0.</p>
-<p class="tableblock">        If the <strong>cl_khr_fp16</strong> extension is not supported,
+        can be stored in the vector.
+</p><p class="tableblock">        If double precision is not supported,
+        CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE must return 0.
+</p><p class="tableblock">        If the <strong>cl_khr_fp16</strong> extension is not supported,
         CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF must return 0.</p></td>
 </tr>
 <tr>
@@ -5563,7 +5564,7 @@
         otherwise.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_READ_IMAGE_ARGS</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_READ_IMAGE_ARGS<sup>4</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Max number of image objects arguments of a kernel declared with the
         read_only qualifier.
@@ -5577,7 +5578,7 @@
         The minimum value is 64 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS<sup>4</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS<sup>5</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Max number of image objects arguments of a kernel declared with the
         write_only or read_write qualifier.
@@ -5596,68 +5597,68 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE2D_MAX_WIDTH</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Max width of 2D image or 1D image not created from a buffer object
-        in pixels.</p>
-<p class="tableblock">        The minimum value is 16384 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+        in pixels.
+</p><p class="tableblock">        The minimum value is 16384 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE2D_MAX_HEIGHT</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max height of 2D image in pixels.</p>
-<p class="tableblock">        The minimum value is 16384 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max height of 2D image in pixels.
+</p><p class="tableblock">        The minimum value is 16384 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE3D_MAX_WIDTH</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max width of 3D image in pixels.</p>
-<p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max width of 3D image in pixels.
+</p><p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE3D_MAX_HEIGHT</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max height of 3D image in pixels.</p>
-<p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max height of 3D image in pixels.
+</p><p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE3D_MAX_DEPTH</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max depth of 3D image in pixels.</p>
-<p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max depth of 3D image in pixels.
+</p><p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE_MAX_BUFFER_SIZE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of pixels for a 1D image created from a buffer object.</p>
-<p class="tableblock">        The minimum value is 65536 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of pixels for a 1D image created from a buffer object.
+</p><p class="tableblock">        The minimum value is 65536 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE_MAX_ARRAY_SIZE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of images in a 1D or 2D image array.</p>
-<p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of images in a 1D or 2D image array.
+</p><p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_SAMPLERS</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of samplers that can be used in a kernel.</p>
-<p class="tableblock">        The minimum value is 16 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of samplers that can be used in a kernel.
+</p><p class="tableblock">        The minimum value is 16 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE_PITCH_ALIGNMENT</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The row pitch alignment size in pixels for 2D images created from a
         buffer.
-        The value returned must be a power of 2.</p>
-<p class="tableblock">        If the device does not support images, this value must be 0.</p></td>
+        The value returned must be a power of 2.
+</p><p class="tableblock">        If the device does not support images, this value must be 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This query should be used when a 2D image is created from a buffer
         which was created using CL_MEM_USE_HOST_PTR.
-        The value returned must be a power of 2.</p>
-<p class="tableblock">        This query specifies the minimum alignment in pixels of the host_ptr
-        specified to <strong>clCreateBuffer</strong>.</p>
-<p class="tableblock">        If the device does not support images, this value must be 0.</p></td>
+        The value returned must be a power of 2.
+</p><p class="tableblock">        This query specifies the minimum alignment in pixels of the host_ptr
+        specified to <strong>clCreateBuffer</strong>.
+</p><p class="tableblock">        If the device does not support images, this value must be 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_PIPE_ARGS</p></td>
@@ -5684,8 +5685,8 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_PARAMETER_SIZE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max size in bytes of all arguments that can be passed to a kernel.</p>
-<p class="tableblock">        The minimum value is 1024 for devices that are not of type
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max size in bytes of all arguments that can be passed to a kernel.
+</p><p class="tableblock">        The minimum value is 1024 for devices that are not of type
         CL_DEVICE_TYPE_CUSTOM.
         For this minimum value, only a maximum of 128 arguments can be
         passed to a kernel</p></td>
@@ -5700,48 +5701,48 @@
         type CL_DEVICE_TYPE_CUSTOM.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_SINGLE_FP_CONFIG<sup>5</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_SINGLE_FP_CONFIG<sup>6</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_fp_config</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes single precision floating-point capability of the device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_FP_DENORM - denorms are supported</p>
-<p class="tableblock">        CL_FP_INF_NAN - INF and quiet NaNs are supported.</p>
-<p class="tableblock">        CL_FP_ROUND_TO_NEAREST-- round to nearest even rounding mode
-        supported</p>
-<p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported</p>
-<p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
-        rounding modes supported</p>
-<p class="tableblock">        CL_FP_FMA - IEEE754-2008 fused multiply-add is supported.</p>
-<p class="tableblock">        CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT - divide and sqrt are correctly
-        rounded as defined by the IEEE754 specification.</p>
-<p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
-        addition, subtraction, multiplication) are implemented in software.</p>
-<p class="tableblock">        For the full profile, the mandated minimum floating-point capability
+        values:
+</p><p class="tableblock">        CL_FP_DENORM - denorms are supported
+</p><p class="tableblock">        CL_FP_INF_NAN - INF and quiet NaNs are supported.
+</p><p class="tableblock">        CL_FP_ROUND_TO_NEAREST-- round to nearest even rounding mode
+        supported
+</p><p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported
+</p><p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
+        rounding modes supported
+</p><p class="tableblock">        CL_FP_FMA - IEEE754-2008 fused multiply-add is supported.
+</p><p class="tableblock">        CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT - divide and sqrt are correctly
+        rounded as defined by the IEEE754 specification.
+</p><p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
+        addition, subtraction, multiplication) are implemented in software.
+</p><p class="tableblock">        For the full profile, the mandated minimum floating-point capability
         for devices that are not of type CL_DEVICE_TYPE_CUSTOM is:
-        CL_FP_ROUND_TO_NEAREST | CL_FP_INF_NAN.</p>
-<p class="tableblock">        For the embedded profile, see section 10.</p></td>
+        CL_FP_ROUND_TO_NEAREST | CL_FP_INF_NAN.
+</p><p class="tableblock">        For the embedded profile, see section 10.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_DOUBLE_FP_CONFIG<sup>6</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_DOUBLE_FP_CONFIG<sup>7</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_fp_config</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes double precision floating-point capability of the OpenCL
         device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_FP_DENORM - denorms are supported</p>
-<p class="tableblock">        CL_FP_INF_NAN - INF and NaNs are supported.</p>
-<p class="tableblock">        CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode
-        supported.</p>
-<p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported.</p>
-<p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
-        rounding modes supported.</p>
-<p class="tableblock">        CP_FP_FMA - IEEE754-2008 fused multiply-add is supported.</p>
-<p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
-        addition, subtraction, multiplication) are implemented in software.</p>
-<p class="tableblock">        Double precision is an optional feature so the mandated minimum
-        double precision floating-point capability is 0.</p>
-<p class="tableblock">        If double precision is supported by the device, then the minimum
+        values:
+</p><p class="tableblock">        CL_FP_DENORM - denorms are supported
+</p><p class="tableblock">        CL_FP_INF_NAN - INF and NaNs are supported.
+</p><p class="tableblock">        CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode
+        supported.
+</p><p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported.
+</p><p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
+        rounding modes supported.
+</p><p class="tableblock">        CL_FP_FMA - IEEE754-2008 fused multiply-add is supported.
+</p><p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
+        addition, subtraction, multiplication) are implemented in software.
+</p><p class="tableblock">        Double precision is an optional feature so the mandated minimum
+        double precision floating-point capability is 0.
+</p><p class="tableblock">        If double precision is supported by the device, then the minimum
         double precision floating-point capability must be:<br>
         CL_FP_FMA |<br>
         CL_FP_ROUND_TO_NEAREST |<br>
@@ -5790,8 +5791,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The maximum number of bytes of storage that may be allocated for any
         single variable in program scope or inside a function in an OpenCL
-        kernel language declared in the global address space.</p>
-<p class="tableblock">        The minimum value is 64 KB.</p></td>
+        kernel language declared in the global address space.
+</p><p class="tableblock">        The minimum value is 64 KB.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE</p></td>
@@ -5809,8 +5810,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_local_mem_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Type of local memory supported.
         This can be set to CL_LOCAL implying dedicated local memory storage
-        such as SRAM , or CL_GLOBAL.</p>
-<p class="tableblock">        For custom devices, CL_NONE can also be returned indicating no local
+        such as SRAM , or CL_GLOBAL.
+</p><p class="tableblock">        For custom devices, CL_NONE can also be returned indicating no local
         memory support.</p></td>
 </tr>
 <tr>
@@ -5851,40 +5852,40 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_COMPILER_AVAILABLE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bool</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Is CL_FALSE if the implementation does not have a compiler available
-        to compile the program source.</p>
-<p class="tableblock">        Is CL_TRUE if the compiler is available.
+        to compile the program source.
+</p><p class="tableblock">        Is CL_TRUE if the compiler is available.
         This can be CL_FALSE for the embedded platform profile only.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_LINKER_AVAILABLE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bool</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Is CL_FALSE if the implementation does not have a linker available.
-        Is CL_TRUE if the linker is available.</p>
-<p class="tableblock">        This can be CL_FALSE for the embedded platform profile only.</p>
-<p class="tableblock">        This must be CL_TRUE if CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE.</p></td>
+        Is CL_TRUE if the linker is available.
+</p><p class="tableblock">        This can be CL_FALSE for the embedded platform profile only.
+</p><p class="tableblock">        This must be CL_TRUE if CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_EXECUTION_CAPABILITIES</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_exec_ capabilities</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes the execution capabilities of the device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_EXEC_KERNEL - The OpenCL device can execute OpenCL kernels.</p>
-<p class="tableblock">        CL_EXEC_NATIVE_KERNEL - The OpenCL device can execute native
-        kernels.</p>
-<p class="tableblock">        The mandated minimum capability is: CL_EXEC_KERNEL.</p></td>
+        values:
+</p><p class="tableblock">        CL_EXEC_KERNEL - The OpenCL device can execute OpenCL kernels.
+</p><p class="tableblock">        CL_EXEC_NATIVE_KERNEL - The OpenCL device can execute native
+        kernels.
+</p><p class="tableblock">        The mandated minimum capability is: CL_EXEC_KERNEL.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_QUEUE_ON_HOST_PROPERTIES<sup>7</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_QUEUE_ON_HOST_PROPERTIES<sup>8</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_command_queue_properties</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes the on host command-queue properties supported by the
         device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<br>
-        CL_QUEUE_PROFILING_ENABLE</p>
-<p class="tableblock">        These properties are described in the <a href="#queue-properties-table">Queue Properties</a> table.</p>
-<p class="tableblock">        The mandated minimum capability is: CL_QUEUE_PROFILING_ENABLE.</p></td>
+        values:
+</p><p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<br>
+        CL_QUEUE_PROFILING_ENABLE
+</p><p class="tableblock">        These properties are described in the <a href="#queue-properties-table">Queue Properties</a> table.
+</p><p class="tableblock">        The mandated minimum capability is: CL_QUEUE_PROFILING_ENABLE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES</p></td>
@@ -5892,11 +5893,11 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes the on device command-queue properties supported by the
         device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<br>
-        CL_QUEUE_PROFILING_ENABLE</p>
-<p class="tableblock">        These properties are described in the <a href="#queue-properties-table">Queue Properties</a> table.</p>
-<p class="tableblock">        The mandated minimum capability is:
+        values:
+</p><p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<br>
+        CL_QUEUE_PROFILING_ENABLE
+</p><p class="tableblock">        These properties are described in the <a href="#queue-properties-table">Queue Properties</a> table.
+</p><p class="tableblock">        The mandated minimum capability is:
         CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE | CL_QUEUE_PROFILING_ENABLE.</p></td>
 </tr>
 <tr>
@@ -5905,8 +5906,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">The size of the device queue in bytes preferred by the
         implementation.
         Applications should use this size for the device queue to ensure
-        good performance.</p>
-<p class="tableblock">        The minimum value is 16 KB</p></td>
+        good performance.
+</p><p class="tableblock">        The minimum value is 16 KB</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE</p></td>
@@ -5919,8 +5920,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_ON_DEVICE_QUEUES</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The maximum number of device queues that can be created for this
-        device in a single context.</p>
-<p class="tableblock">        The minimum value is 1.</p></td>
+        device in a single context.
+</p><p class="tableblock">        The minimum value is 1.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_MAX_ON_DEVICE_EVENTS</p></td>
@@ -5928,8 +5929,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">The maximum number of events in use by a device queue.
         These refer to events returned by the <code>enqueue_</code> built-in functions
         to a device queue or user events returned by the <code>create_user_event</code>
-        built-in function that have not been released.</p>
-<p class="tableblock">        The minimum value is 1024.</p></td>
+        built-in function that have not been released.
+</p><p class="tableblock">        The minimum value is 1024.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_BUILT_IN_KERNELS</p></td>
@@ -5961,15 +5962,15 @@
         Follows a vendor-specific format.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_PROFILE<sup>8</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_PROFILE<sup>9</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">OpenCL profile string.
         Returns the profile name supported by the device.
-        The profile name returned can be one of the following strings:</p>
-<p class="tableblock">        FULL_PROFILE - if the device supports the OpenCL specification
+        The profile name returned can be one of the following strings:
+</p><p class="tableblock">        FULL_PROFILE - if the device supports the OpenCL specification
         (functionality defined as part of the core specification and does
-        not require any extensions to be supported).</p>
-<p class="tableblock">        EMBEDDED_PROFILE - if the device supports the OpenCL embedded
+        not require any extensions to be supported).
+</p><p class="tableblock">        EMBEDDED_PROFILE - if the device supports the OpenCL embedded
         profile.</p></td>
 </tr>
 <tr>
@@ -5977,10 +5978,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">OpenCL version string.
         Returns the OpenCL version supported by the device. This version
-        string has the following format:</p>
-<p class="tableblock">        <em>OpenCL&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;vendor-specific
-        information&gt;</em></p>
-<p class="tableblock">        The major_version.minor_version value returned will be 2.2.</p></td>
+        string has the following format:
+</p><p class="tableblock">        <em>OpenCL&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;vendor-specific
+        information&gt;</em>
+</p><p class="tableblock">        The major_version.minor_version value returned will be 2.2.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_OPENCL_C_VERSION</p></td>
@@ -5988,16 +5989,16 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">OpenCL C version string.
         Returns the highest OpenCL C version supported by the compiler for
         this device that is not of type CL_DEVICE_TYPE_CUSTOM.
-        This version string has the following format:</p>
-<p class="tableblock">        <em>OpenCL&lt;space&gt;C&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;vendor-specific
-        information&gt;</em></p>
-<p class="tableblock">        The major_version.minor_version value returned must be 2.0 if
-        CL_DEVICE_VERSION is OpenCL 2.0.</p>
-<p class="tableblock">        The major_version.minor_version value returned must be 1.2 if
-        CL_DEVICE_VERSION is OpenCL 1.2.</p>
-<p class="tableblock">        The major_version.minor_version value returned must be 1.1 if
-        CL_DEVICE_VERSION is OpenCL 1.1.</p>
-<p class="tableblock">        The major_version.minor_version value returned can be 1.0 or 1.1 if
+        This version string has the following format:
+</p><p class="tableblock">        <em>OpenCL&lt;space&gt;C&lt;space&gt;&lt;major_version.minor_version&gt;&lt;space&gt;&lt;vendor-specific
+        information&gt;</em>
+</p><p class="tableblock">        The major_version.minor_version value returned must be 2.0 if
+        CL_DEVICE_VERSION is OpenCL 2.0.
+</p><p class="tableblock">        The major_version.minor_version value returned must be 1.2 if
+        CL_DEVICE_VERSION is OpenCL 1.2.
+</p><p class="tableblock">        The major_version.minor_version value returned must be 1.1 if
+        CL_DEVICE_VERSION is OpenCL 1.1.
+</p><p class="tableblock">        The major_version.minor_version value returned can be 1.0 or 1.1 if
         CL_DEVICE_VERSION is OpenCL 1.0.</p></td>
 </tr>
 <tr>
@@ -6007,8 +6008,8 @@
         names themselves do not contain any spaces) supported by the device.
         The list of extension names returned can be vendor supported
         extension names and one or more of the following Khronos approved
-        extension names:</p>
-<p class="tableblock">        <strong>cl_khr_int64_base_atomics</strong><br>
+        extension names:
+</p><p class="tableblock">        <strong>cl_khr_int64_base_atomics</strong><br>
         <strong>cl_khr_int64_extended_atomics</strong><br>
         <strong>cl_khr_fp16</strong><br>
         <strong>cl_khr_gl_sharing</strong><br>
@@ -6021,16 +6022,16 @@
         <strong>cl_khr_initialize_memory</strong><br>
         <strong>cl_khr_terminate_context</strong><br>
         <strong>cl_khr_spir</strong><br>
-        <strong>cl_khr_srgb_image_writes</strong></p>
-<p class="tableblock">        The following approved Khronos extension names must be returned by
-        all devices that support OpenCL C 2.0:</p>
-<p class="tableblock">        <strong>cl_khr_byte_addressable_store</strong><br>
+        <strong>cl_khr_srgb_image_writes</strong>
+</p><p class="tableblock">        The following approved Khronos extension names must be returned by
+        all devices that support OpenCL C 2.0:
+</p><p class="tableblock">        <strong>cl_khr_byte_addressable_store</strong><br>
         <strong>cl_khr_fp64</strong> (for backward compatibility if double precision is
         supported)<br>
         <strong>cl_khr_3d_image_writes</strong><br>
         <strong>cl_khr_image2d_from_buffer</strong><br>
-        <strong>cl_khr_depth_images</strong></p>
-<p class="tableblock">        Please refer to the OpenCL 2.0 Extension Specification for a
+        <strong>cl_khr_depth_images</strong>
+</p><p class="tableblock">        Please refer to the OpenCL 2.0 Extension Specification for a
         detailed description of these extensions.</p></td>
 </tr>
 <tr>
@@ -6061,19 +6062,19 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_PARTITION_MAX_SUB_DEVICES</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the maximum number of sub-devices that can be created when a
-        device is partitioned.</p>
-<p class="tableblock">        The value returned cannot exceed CL_DEVICE_MAX_COMPUTE_UNITS.</p></td>
+        device is partitioned.
+</p><p class="tableblock">        The value returned cannot exceed CL_DEVICE_MAX_COMPUTE_UNITS.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_DEVICE_PARTITION_PROPERTIES</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_partition_ property[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of partition types supported by <em>device</em>.
         This is an array of cl_device_partition_property values drawn from
-        the following list:</p>
-<p class="tableblock">        CL_DEVICE_PARTITION_EQUALLY<br>
+        the following list:
+</p><p class="tableblock">        CL_DEVICE_PARTITION_EQUALLY<br>
         CL_DEVICE_PARTITION_BY_COUNTS<br>
-        CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN</p>
-<p class="tableblock">        If the device cannot be partitioned (i.e. there is no partitioning
+        CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
+</p><p class="tableblock">        If the device cannot be partitioned (i.e. there is no partitioning
         scheme supported by the device that will return at least two
         subdevices), a value of 0 will be returned.</p></td>
 </tr>
@@ -6083,14 +6084,14 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the list of supported affinity domains for partitioning the
         device using CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA<br>
+        values:
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA<br>
         CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE<br>
         CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE<br>
         CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE<br>
         CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE<br>
-        CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE</p>
-<p class="tableblock">        If the device does not support any affinity domains, a value of 0
+        CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
+</p><p class="tableblock">        If the device does not support any affinity domains, a value of 0
         will be returned.</p></td>
 </tr>
 <tr>
@@ -6102,13 +6103,13 @@
         CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN,
         CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, the affinity domain
         used to perform the partition will be returned.
-        This can be one of the following values:</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA<br>
+        This can be one of the following values:
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA<br>
         CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE<br>
         CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE<br>
         CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE<br>
-        CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE</p>
-<p class="tableblock">        Otherwise the implementation may either return a
+        CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE
+</p><p class="tableblock">        Otherwise the implementation may either return a
         <em>param_value_size_ret</em> of 0 i.e. there is no partition type
         associated with device or can return a property value of 0 (where 0
         is used to terminate the partition property list) in the memory that
@@ -6129,23 +6130,23 @@
         Coarse-grain SVM allocations are required to be supported by all
         OpenCL 2.0 devices.
         This is a bit-field that describes a combination of the following
-        values:</p>
-<p class="tableblock">        CL_DEVICE_SVM_COARSE_GRAIN_BUFFER - Support for coarse-grain buffer
+        values:
+</p><p class="tableblock">        CL_DEVICE_SVM_COARSE_GRAIN_BUFFER - Support for coarse-grain buffer
         sharing using <strong>clSVMAlloc</strong>.
         Memory consistency is guaranteed at synchronization points and the
         host must use calls to <strong>clEnqueueMapBuffer</strong> and
-        <strong>clEnqueueUnmapMemObject</strong>.</p>
-<p class="tableblock">        CL_DEVICE_SVM_FINE_GRAIN_BUFFER - Support for fine-grain buffer
+        <strong>clEnqueueUnmapMemObject</strong>.
+</p><p class="tableblock">        CL_DEVICE_SVM_FINE_GRAIN_BUFFER - Support for fine-grain buffer
         sharing using <strong>clSVMAlloc</strong>.
         Memory consistency is guaranteed at synchronization points without
-        need for <strong>clEnqueueMapBuffer</strong> and <strong>clEnqueueUnmapMemObject</strong>.</p>
-<p class="tableblock">        CL_DEVICE_SVM_FINE_GRAIN_SYSTEM - Support for sharing the host&#8217;s
+        need for <strong>clEnqueueMapBuffer</strong> and <strong>clEnqueueUnmapMemObject</strong>.
+</p><p class="tableblock">        CL_DEVICE_SVM_FINE_GRAIN_SYSTEM - Support for sharing the host&#8217;s
         entire virtual memory including memory allocated using <strong>malloc</strong>.
-        Memory consistency is guaranteed at synchronization points.</p>
-<p class="tableblock">        CL_DEVICE_SVM_ATOMICS - Support for the OpenCL 2.0 atomic
+        Memory consistency is guaranteed at synchronization points.
+</p><p class="tableblock">        CL_DEVICE_SVM_ATOMICS - Support for the OpenCL 2.0 atomic
         operations that provide memory consistency across the host and all
-        OpenCL devices supporting fine-grain SVM allocations.</p>
-<p class="tableblock">        The mandated minimum capability is
+        OpenCL devices supporting fine-grain SVM allocations.
+</p><p class="tableblock">        The mandated minimum capability is
         CL_DEVICE_SVM_COARSE_GRAIN_BUFFER.</p></td>
 </tr>
 <tr>
@@ -6195,16 +6196,19 @@
 <dl>
 <dt class="hdlist1">4</dt>
 <dd>
-<p>NOTE: <strong>CL_DEVICE_MAX_WRITE_IMAGE_ARGS</strong> is only there for backward
-compatibility.
-<strong>CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS</strong> should be used instead.</p>
+<p>A kernel that uses an image argument with the write_only or read_write
+image qualifier may result in additional read_only images resources being
+created internally by an implementation.
+The internally created read_only image resources will count against the max
+supported read image arguments given by CL_DEVICE_MAX_READ_IMAGE_ARGS.
+Enqueuing a kernel that requires more images than the implementation can
+support will result in a CL_OUT_OF_RESOURCES error being returned.</p>
 </dd>
 <dt class="hdlist1">5</dt>
 <dd>
-<p>The optional rounding modes should be included as a device capability
-only if it is supported natively.
-All explicit conversion functions with specific rounding modes must
-still operate correctly.</p>
+<p>NOTE: <strong>CL_DEVICE_MAX_WRITE_IMAGE_ARGS</strong> is only there for backward
+compatibility.
+<strong>CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS</strong> should be used instead.</p>
 </dd>
 <dt class="hdlist1">6</dt>
 <dd>
@@ -6215,10 +6219,17 @@
 </dd>
 <dt class="hdlist1">7</dt>
 <dd>
+<p>The optional rounding modes should be included as a device capability
+only if it is supported natively.
+All explicit conversion functions with specific rounding modes must
+still operate correctly.</p>
+</dd>
+<dt class="hdlist1">8</dt>
+<dd>
 <p>CL_DEVICE_QUEUE_PROPERTIES is deprecated and replaced by
 CL_DEVICE_QUEUE_ON_HOST_PROPERTIES.</p>
 </dd>
-<dt class="hdlist1">8</dt>
+<dt class="hdlist1">9</dt>
 <dd>
 <p>The platform profile returns the profile that is implemented by the
 OpenCL framework.
@@ -6475,10 +6486,10 @@
         unit counts.
         For each non-zero count <em>m</em> in the list, a sub-device is created
         with <em>m</em> compute units in it.
-        CL_DEVICE_PARTITION_BY_COUNTS_LIST_END is defined to be 0.</p>
-<p class="tableblock">        The number of non-zero count entries in the list may not exceed
-        CL_DEVICE_PARTITION_MAX_SUB_DEVICES.</p>
-<p class="tableblock">        The total number of compute units specified may not exceed
+        CL_DEVICE_PARTITION_BY_COUNTS_LIST_END is defined to be 0.
+</p><p class="tableblock">        The number of non-zero count entries in the list may not exceed
+        CL_DEVICE_PARTITION_MAX_SUB_DEVICES.
+</p><p class="tableblock">        The total number of compute units specified may not exceed
         CL_DEVICE_PARTITION_MAX_COMPUTE_UNITS.</p></td>
 </tr>
 <tr>
@@ -6487,28 +6498,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Split the device into smaller aggregate devices containing one or
         more compute units that all share part of a cache hierarchy.
         The value accompanying this property may be drawn from the following
-        list:</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA - Split the device into sub-devices
-        comprised of compute units that share a NUMA node.</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE - Split the device into
+        list:
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NUMA - Split the device into sub-devices
+        comprised of compute units that share a NUMA node.
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE - Split the device into
         sub-devices comprised of compute units that share a level 4 data
-        cache.</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE - Split the device into
+        cache.
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE - Split the device into
         sub-devices comprised of compute units that share a level 3 data
-        cache.</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE - Split the device into
+        cache.
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE - Split the device into
         sub-devices comprised of compute units that share a level 2 data
-        cache.</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE - Split the device into
+        cache.
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE - Split the device into
         sub-devices comprised of compute units that share a level 1 data
-        cache.</p>
-<p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE - Split the device
+        cache.
+</p><p class="tableblock">        CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE - Split the device
         along the next partitionable affinity domain.
         The implementation shall find the first level along which the device
         or sub-device may be further subdivided in the order NUMA, L4, L3,
         L2, L1, and partition the device into sub-devices comprised of
-        compute units that share memory subsystems at this level.</p>
-<p class="tableblock">        The user may determine what happened by calling
+        compute units that share memory subsystems at this level.
+</p><p class="tableblock">        The user may determine what happened by calling
         <strong>clGetDeviceInfo</strong>(CL_DEVICE_PARTITION_TYPE) on the sub-devices.</p></td>
 </tr>
 </tbody>
@@ -6747,8 +6758,8 @@
         between OpenCL and other APIs.
         Please refer to the specific sections in the OpenCL 2.0 extension
         specification that describe sharing with other APIs for restrictions
-        on using this flag.</p>
-<p class="tableblock">        If CL_CONTEXT_INTEROP_USER_SYNC is not specified, a default of
+        on using this flag.
+</p><p class="tableblock">        If CL_CONTEXT_INTEROP_USER_SYNC is not specified, a default of
         CL_FALSE is assumed.</p></td>
 </tr>
 </tbody>
@@ -6757,13 +6768,13 @@
 <p><em>num_devices</em> is the number of devices specified in the <em>devices</em> argument.</p>
 </div>
 <div class="paragraph">
-<p><em>devices</em> is a pointer to a list of unique devices<sup>9</sup> returned by
+<p><em>devices</em> is a pointer to a list of unique devices<sup>10</sup> returned by
 <strong>clGetDeviceIDs</strong> or sub-devices created by <strong>clCreateSubDevices</strong> for a
 platform.</p>
 </div>
 <div class="dlist">
 <dl>
-<dt class="hdlist1">9</dt>
+<dt class="hdlist1">10</dt>
 <dd>
 <p>Duplicate devices specified in <em>devices</em> are ignored.</p>
 </dd>
@@ -6870,7 +6881,7 @@
 </ul>
 </div>
 <div class="paragraph">
-<p>The function<sup>10</sup></p>
+<p>The function<sup>11</sup></p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -6957,7 +6968,7 @@
 required by the OpenCL implementation on the host.</p>
 <div class="dlist">
 <dl>
-<dt class="hdlist1">10</dt>
+<dt class="hdlist1">11</dt>
 <dd>
 <p><strong>clCreateContextfromType</strong> may return all or a subset of the actual
 physical devices present in the platform and that match device_type.</p>
@@ -7100,7 +7111,7 @@
 </thead>
 <tbody>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_CONTEXT_REFERENCE_COUNT</strong><sup>11</sup></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_CONTEXT_REFERENCE_COUNT</strong><sup>12</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the <em>context</em> reference count.</p></td>
 </tr>
@@ -7118,12 +7129,12 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_CONTEXT_PROPERTIES</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_context_properties[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the properties argument specified in <strong>clCreateContext</strong> or
-        <strong>clCreateContextFromType</strong>.</p>
-<p class="tableblock">        If the <em>properties</em> argument specified in <strong>clCreateContext</strong> or
+        <strong>clCreateContextFromType</strong>.
+</p><p class="tableblock">        If the <em>properties</em> argument specified in <strong>clCreateContext</strong> or
         <strong>clCreateContextFromType</strong> used to create <em>context</em> is not <code>NULL</code>, the
         implementation must return the values specified in the properties
-        argument.</p>
-<p class="tableblock">        If the <em>properties</em> argument specified in <strong>clCreateContext</strong> or
+        argument.
+</p><p class="tableblock">        If the <em>properties</em> argument specified in <strong>clCreateContext</strong> or
         <strong>clCreateContextFromType</strong> used to create <em>context</em> is <code>NULL</code>, the
         implementation may return either a <em>param_value_size_ret</em> of 0
         i.e. there is no context property value to be returned or can return
@@ -7135,7 +7146,7 @@
 </table>
 <div class="dlist">
 <dl>
-<dt class="hdlist1">11</dt>
+<dt class="hdlist1">12</dt>
 <dd>
 <p>The reference count returned should be considered immediately stale.
 It is unsuitable for general use in applications.
@@ -7253,35 +7264,35 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_QUEUE_PROPERTIES</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bitfield</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be set to a combination of the following
-        values:</p>
-<p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE - Determines whether the
+        values:
+</p><p class="tableblock">        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE - Determines whether the
         commands queued in the command-queue are executed in-order or
         out-of-order.
         If set, the commands in the command-queue are executed out-of-order.
-        Otherwise, commands are executed in-order.</p>
-<p class="tableblock">        CL_QUEUE_PROFILING_ENABLE - Enable or disable profiling of commands
+        Otherwise, commands are executed in-order.
+</p><p class="tableblock">        CL_QUEUE_PROFILING_ENABLE - Enable or disable profiling of commands
         in the command-queue.
         If set, the profiling of commands is enabled.
-        Otherwise profiling of commands is disabled.</p>
-<p class="tableblock">        CL_QUEUE_ON_DEVICE - Indicates that this is a device queue.
+        Otherwise profiling of commands is disabled.
+</p><p class="tableblock">        CL_QUEUE_ON_DEVICE - Indicates that this is a device queue.
         If CL_QUEUE_ON_DEVICE is set,
-        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<sup>1</sup> must also be set.</p>
-<p class="tableblock">        CL_QUEUE_ON_DEVICE_DEFAULT<sup>2</sup> --indicates that this is the default
+        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE<sup>1</sup> must also be set.
+</p><p class="tableblock">        CL_QUEUE_ON_DEVICE_DEFAULT<sup>2</sup> --indicates that this is the default
         device queue.
-        This can only be used with CL_QUEUE_ON_DEVICE.</p>
-<p class="tableblock">        If CL_QUEUE_PROPERTIES is not specified an in-order host command
+        This can only be used with CL_QUEUE_ON_DEVICE.
+</p><p class="tableblock">        If CL_QUEUE_PROPERTIES is not specified an in-order host command
         queue is created for the specified device</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_QUEUE_SIZE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the size of the device queue in bytes.</p>
-<p class="tableblock">        This can only be specified if CL_QUEUE_ON_DEVICE is set in
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the size of the device queue in bytes.
+</p><p class="tableblock">        This can only be specified if CL_QUEUE_ON_DEVICE is set in
         CL_QUEUE_PROPERTIES.
-        This must be a value ≤ CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE.</p>
-<p class="tableblock">        For best performance, this should be ≤
-        CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE.</p>
-<p class="tableblock">        If CL_QUEUE_SIZE is not specified, the device queue is created with
+        This must be a value ≤ CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE.
+</p><p class="tableblock">        For best performance, this should be ≤
+        CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE.
+</p><p class="tableblock">        If CL_QUEUE_SIZE is not specified, the device queue is created with
         CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE as the size of the queue.</p></td>
 </tr>
 </tbody>
@@ -7678,18 +7689,18 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_WRITE_ONLY</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the memory object will be
-    written but not read by a kernel.</p>
-<p class="tableblock">    Reading from a buffer or image object created with CL_MEM_WRITE_ONLY
-    inside a kernel is undefined.</p>
-<p class="tableblock">    CL_MEM_READ_WRITE and CL_MEM_WRITE_ONLY are mutually exclusive.</p></td>
+    written but not read by a kernel.
+</p><p class="tableblock">    Reading from a buffer or image object created with CL_MEM_WRITE_ONLY
+    inside a kernel is undefined.
+</p><p class="tableblock">    CL_MEM_READ_WRITE and CL_MEM_WRITE_ONLY are mutually exclusive.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_READ_ONLY</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the memory object is a
-    readonly memory object when used inside a kernel.</p>
-<p class="tableblock">    Writing to a buffer or image object created with CL_MEM_READ_ONLY inside
-    a kernel is undefined.</p>
-<p class="tableblock">    CL_MEM_READ_WRITE or CL_MEM_WRITE_ONLY and CL_MEM_READ_ONLY are mutually
+    readonly memory object when used inside a kernel.
+</p><p class="tableblock">    Writing to a buffer or image object created with CL_MEM_READ_ONLY inside
+    a kernel is undefined.
+</p><p class="tableblock">    CL_MEM_READ_WRITE or CL_MEM_WRITE_ONLY and CL_MEM_READ_ONLY are mutually
     exclusive.</p></td>
 </tr>
 <tr>
@@ -7697,21 +7708,21 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag is valid only if host_ptr is not <code>NULL</code>.
     If specified, it indicates that the application wants the OpenCL
     implementation to use memory referenced by host_ptr as the storage bits
-    for the memory object.</p>
-<p class="tableblock">    The contents of the memory pointed to by host_ptr at the time of the
-    clCreateBuffer call define the initial contents of the buffer object.</p>
-<p class="tableblock">    OpenCL implementations are allowed to cache the buffer contents pointed
+    for the memory object.
+</p><p class="tableblock">    The contents of the memory pointed to by host_ptr at the time of the
+    clCreateBuffer call define the initial contents of the buffer object.
+</p><p class="tableblock">    OpenCL implementations are allowed to cache the buffer contents pointed
     to by host_ptr in device memory.
-    This cached copy can be used when kernels are executed on a device.</p>
-<p class="tableblock">    The result of OpenCL commands that operate on multiple buffer objects
+    This cached copy can be used when kernels are executed on a device.
+</p><p class="tableblock">    The result of OpenCL commands that operate on multiple buffer objects
     created with the same host_ptr or from overlapping host or SVM regions
     is considered to be undefined.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_ALLOC_HOST_PTR</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the application wants the OpenCL implementation
-    to allocate memory from host accessible memory.</p>
-<p class="tableblock">    CL_MEM_ALLOC_HOST_PTR and CL_MEM_USE_HOST_PTR are mutually exclusive.</p></td>
+    to allocate memory from host accessible memory.
+</p><p class="tableblock">    CL_MEM_ALLOC_HOST_PTR and CL_MEM_USE_HOST_PTR are mutually exclusive.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_COPY_HOST_PTR</strong></p></td>
@@ -7721,9 +7732,9 @@
     data from memory referenced by host_ptr.
     The implementation will copy the memory immediately and host_ptr is
     available for reuse by the application when the <strong>clCreateBuffer</strong> or
-    <strong>clCreateImage</strong> operation returns.</p>
-<p class="tableblock">    CL_MEM_COPY_HOST_PTR and CL_MEM_USE_HOST_PTR are mutually exclusive.</p>
-<p class="tableblock">    CL_MEM_COPY_HOST_PTR can be used with CL_MEM_ALLOC_HOST_PTR to
+    <strong>clCreateImage</strong> operation returns.
+</p><p class="tableblock">    CL_MEM_COPY_HOST_PTR and CL_MEM_USE_HOST_PTR are mutually exclusive.
+</p><p class="tableblock">    CL_MEM_COPY_HOST_PTR can be used with CL_MEM_ALLOC_HOST_PTR to
     initialize the contents of the cl_mem object allocated using
     hostaccessible (e.g. PCIe) memory.</p></td>
 </tr>
@@ -7739,14 +7750,14 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_HOST_READ_ONLY</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the host will only read
     the memory object (using OpenCL APIs that enqueue a read or a map for
-    read).</p>
-<p class="tableblock">    CL_MEM_HOST_WRITE_ONLY and CL_MEM_HOST_READ_ONLY are mutually exclusive.</p></td>
+    read).
+</p><p class="tableblock">    CL_MEM_HOST_WRITE_ONLY and CL_MEM_HOST_READ_ONLY are mutually exclusive.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_HOST_NO_ACCESS</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the host will not read or
-    write the memory object.</p>
-<p class="tableblock">    CL_MEM_HOST_WRITE_ONLY or CL_MEM_HOST_READ_ONLY and
+    write the memory object.
+</p><p class="tableblock">    CL_MEM_HOST_WRITE_ONLY or CL_MEM_HOST_READ_ONLY and
     CL_MEM_HOST_NO_ACCESS are mutually exclusive.</p></td>
 </tr>
 </tbody>
@@ -8072,8 +8083,8 @@
 points to can be used by the application.</p>
 </div>
 <div class="paragraph">
-<p>If <em>blocking_write</em> is CL_TRUE, the OpenCL implementation copies the data
-referred to by <em>ptr</em> and enqueues the write operation in the command-queue.
+<p>If <em>blocking_write</em> is CL_TRUE, the write command is blocking and does not
+return until the command is complete, including transfer of the data.
 The memory pointed to by <em>ptr</em> can be reused by the application after the
 <strong>clEnqueueWriteBuffer</strong> call returns.</p>
 </div>
@@ -8258,8 +8269,8 @@
 points to can be used by the application.</p>
 </div>
 <div class="paragraph">
-<p>If <em>blocking_write</em> is CL_TRUE, the OpenCL implementation copies the data
-referred to by <em>ptr</em> and enqueues the write operation in the command-queue.
+<p>If <em>blocking_write</em> is CL_TRUE, the write command is blocking and does not
+return until the command is complete, including transfer of the data.
 The memory pointed to by <em>ptr</em> can be reused by the application after the
 <strong>clEnqueueWriteBufferRect</strong> call returns.</p>
 </div>
@@ -9233,31 +9244,31 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MAP_READ</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the region being mapped in the memory object is
-    being mapped for reading.</p>
-<p class="tableblock">    The pointer returned by <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) is
+    being mapped for reading.
+</p><p class="tableblock">    The pointer returned by <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) is
     guaranteed to contain the latest bits in the region being mapped when
     the <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) command has completed.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MAP_WRITE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the region being mapped in the memory object is
-    being mapped for writing.</p>
-<p class="tableblock">    The pointer returned by <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) is
+    being mapped for writing.
+</p><p class="tableblock">    The pointer returned by <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) is
     guaranteed to contain the latest bits in the region being mapped when
     the <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) command has completed</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MAP_WRITE_INVALIDATE_REGION</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the region being mapped in the memory object is
-    being mapped for writing.</p>
-<p class="tableblock">    The contents of the region being mapped are to be discarded.
+    being mapped for writing.
+</p><p class="tableblock">    The contents of the region being mapped are to be discarded.
     This is typically the case when the region being mapped is overwritten
     by the host.
     This flag allows the implementation to no longer guarantee that the
     pointer returned by <strong>clEnqueueMapBuffer</strong> (<strong>clEnqueueMapImage</strong>) contains
     the latest bits in the region being mapped which can be a significant
-    performance enhancement.</p>
-<p class="tableblock">    CL_MAP_READ or CL_MAP_WRITE and CL_MAP_WRITE_INVALIDATE_REGION are
+    performance enhancement.
+</p><p class="tableblock">    CL_MAP_READ or CL_MAP_WRITE and CL_MAP_WRITE_INVALIDATE_REGION are
     mutually exclusive.</p></td>
 </tr>
 </tbody>
@@ -10414,8 +10425,8 @@
 points to can be used by the application.</p>
 </div>
 <div class="paragraph">
-<p>If <em>blocking_write</em> is CL_TRUE, the OpenCL implementation copies the data
-referred to by <em>ptr</em> and enqueues the write command in the command-queue.
+<p>If <em>blocking_write</em> is CL_TRUE, the write command is blocking and does not
+return until the command is complete, including transfer of the data.
 The memory pointed to by <em>ptr</em> can be reused by the application after the
 <strong>clEnqueueWriteImage</strong> call returns.</p>
 </div>
@@ -12612,12 +12623,12 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_TYPE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_mem_object_type</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns one of the following values:</p>
-<p class="tableblock">        CL_MEM_OBJECT_BUFFER if <em>memobj</em> is created with <strong>clCreateBuffer</strong> or
-        <strong>clCreateSubBuffer</strong>.</p>
-<p class="tableblock">        cl_image_desc.image_type argument value if <em>memobj</em> is created with
-        <strong>clCreateImage</strong>.</p>
-<p class="tableblock">        CL_MEM_OBJECT_PIPE if <em>memobj</em> is created with <strong>clCreatePipe</strong>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns one of the following values:
+</p><p class="tableblock">        CL_MEM_OBJECT_BUFFER if <em>memobj</em> is created with <strong>clCreateBuffer</strong> or
+        <strong>clCreateSubBuffer</strong>.
+</p><p class="tableblock">        cl_image_desc.image_type argument value if <em>memobj</em> is created with
+        <strong>clCreateImage</strong>.
+</p><p class="tableblock">        CL_MEM_OBJECT_PIPE if <em>memobj</em> is created with <strong>clCreatePipe</strong>.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_FLAGS</strong></p></td>
@@ -12626,8 +12637,8 @@
         with <strong>clCreateBuffer</strong>,<br>
         <strong>clCreateSubBuffer</strong>,<br>
         <strong>clCreateImage</strong> or<br>
-        <strong>clCreatePipe</strong>.</p>
-<p class="tableblock">        If <em>memobj</em> is a sub-buffer the memory access qualifiers inherited
+        <strong>clCreatePipe</strong>.
+</p><p class="tableblock">        If <em>memobj</em> is a sub-buffer the memory access qualifiers inherited
         from parent buffer is also returned.</p></td>
 </tr>
 <tr>
@@ -12642,8 +12653,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">If <em>memobj</em> is created with <strong>clCreateBuffer</strong> or <strong>clCreateImage</strong> and
         CL_MEM_USE_HOST_PTR is specified in mem_flags, return the host_ptr
         argument value specified when <em>memobj</em> is created.
-        Otherwise a <code>NULL</code> value is returned.</p>
-<p class="tableblock">        If <em>memobj</em> is created with <strong>clCreateSubBuffer</strong>, return the host_ptr
+        Otherwise a <code>NULL</code> value is returned.
+</p><p class="tableblock">        If <em>memobj</em> is created with <strong>clCreateSubBuffer</strong>, return the host_ptr
         +  origin value specified when <em>memobj</em> is created.
         host_ptr is the argument value specified to <strong>clCreateBuffer</strong> and
         CL_MEM_USE_HOST_PTR is specified in mem_flags for memory object from
@@ -12674,17 +12685,17 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return memory object from which <em>memobj</em> is created.
         This returns the memory object specified as buffer argument to
         <strong>clCreateSubBuffer</strong> if <em>memobj</em> is a subbuffer object created using
-        <strong>clCreateSubBuffer</strong>.</p>
-<p class="tableblock">        This returns the mem_object specified in cl_image_desc if <em>memobj</em>
-        is an image object.</p>
-<p class="tableblock">        Otherwise a <code>NULL</code> value is returned.</p></td>
+        <strong>clCreateSubBuffer</strong>.
+</p><p class="tableblock">        This returns the mem_object specified in cl_image_desc if <em>memobj</em>
+        is an image object.
+</p><p class="tableblock">        Otherwise a <code>NULL</code> value is returned.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_OFFSET</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return offset if <em>memobj</em> is a sub-buffer object created using
-        <strong>clCreateSubBuffer</strong>.</p>
-<p class="tableblock">        This return 0 if <em>memobj</em> is not a subbuffer object.</p></td>
+        <strong>clCreateSubBuffer</strong>.
+</p><p class="tableblock">        This return 0 if <em>memobj</em> is not a subbuffer object.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_USES_SVM_POINTER</strong></p></td>
@@ -12887,18 +12898,18 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_WRITE_ONLY</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the SVM buffer will be written but not read by
-    a kernel.</p>
-<p class="tableblock">    Reading from a SVM buffer created with CL_MEM_WRITE_ONLY inside a kernel
-    is undefined.</p>
-<p class="tableblock">    CL_MEM_READ_WRITE and CL_MEM_WRITE_ONLY are mutually exclusive.</p></td>
+    a kernel.
+</p><p class="tableblock">    Reading from a SVM buffer created with CL_MEM_WRITE_ONLY inside a kernel
+    is undefined.
+</p><p class="tableblock">    CL_MEM_READ_WRITE and CL_MEM_WRITE_ONLY are mutually exclusive.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_MEM_READ_ONLY</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This flag specifies that the SVM buffer object is a read-only memory
-    object when used inside a kernel.</p>
-<p class="tableblock">    Writing to a SVM buffer created with CL_MEM_READ_ONLY inside a kernel is
-    undefined.</p>
-<p class="tableblock">    CL_MEM_READ_WRITE or CL_MEM_WRITE_ONLY and CL_MEM_READ_ONLY are mutually
+    object when used inside a kernel.
+</p><p class="tableblock">    Writing to a SVM buffer created with CL_MEM_READ_ONLY inside a kernel is
+    undefined.
+</p><p class="tableblock">    CL_MEM_READ_WRITE or CL_MEM_WRITE_ONLY and CL_MEM_READ_ONLY are mutually
     exclusive.</p></td>
 </tr>
 <tr>
@@ -13873,32 +13884,32 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_SAMPLER_NORMALIZED_COORDS</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bool</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">A boolean value that specifies whether the image coordinates
-        specified are normalized or not.</p>
-<p class="tableblock">        The default value (i.e. the value used if this property is not
+        specified are normalized or not.
+</p><p class="tableblock">        The default value (i.e. the value used if this property is not
         specified in sampler_properties) is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_SAMPLER_ADDRESSING_MODE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_addressing_mode</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies how out-of-range image coordinates are handled when
-        reading from an image.</p>
-<p class="tableblock">        Valid values are:</p>
-<p class="tableblock">        CL_ADDRESS_MIRRORED_REPEAT<br>
+        reading from an image.
+</p><p class="tableblock">        Valid values are:
+</p><p class="tableblock">        CL_ADDRESS_MIRRORED_REPEAT<br>
         CL_ADDRESS_REPEAT<br>
         CL_ADDRESS_CLAMP_TO_EDGE<br>
         CL_ADDRESS_CLAMP<br>
-        CL_ADDRESS_NONE</p>
-<p class="tableblock">        The default is CL_ADDRESS_CLAMP.</p></td>
+        CL_ADDRESS_NONE
+</p><p class="tableblock">        The default is CL_ADDRESS_CLAMP.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_SAMPLER_FILTER_MODE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_filter_mode</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the type of filter that must be applied when reading an
         image.
-        Valid values are:</p>
-<p class="tableblock">        CL_FILTER_NEAREST<br>
-        CL_FILTER_LINEAR</p>
-<p class="tableblock">        The default value is CL_FILTER_NEAREST.</p></td>
+        Valid values are:
+</p><p class="tableblock">        CL_FILTER_NEAREST<br>
+        CL_FILTER_LINEAR
+</p><p class="tableblock">        The default value is CL_FILTER_NEAREST.</p></td>
 </tr>
 </tbody>
 </table>
@@ -15830,13 +15841,13 @@
         <strong>clCreateProgramWithSource</strong>.
         The source string returned is a concatenation of all source strings
         specified to <strong>clCreateProgramWithSource</strong> with a null terminator.
-        The concatenation strips any nulls in the original source strings.</p>
-<p class="tableblock">        If <em>program</em> is created using <strong>clCreateProgramWithBinary</strong>,
+        The concatenation strips any nulls in the original source strings.
+</p><p class="tableblock">        If <em>program</em> is created using <strong>clCreateProgramWithBinary</strong>,
         <strong>clCreateProgramWithIL</strong> or <strong>clCreateProgramWithBuiltinKernels</strong>, a
         null string or the appropriate program source code is returned
         depending on whether or not the program source code is stored in the
-        binary.</p>
-<p class="tableblock">        The actual number of characters that represents the program source
+        binary.
+</p><p class="tableblock">        The actual number of characters that represents the program source
         code including the null terminator is returned in
         <em>param_value_size_ret</em>.</p></td>
 </tr>
@@ -15844,8 +15855,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_PROGRAM_IL</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the program IL for programs created with
-        <strong>clCreateProgramWithIL</strong>.</p>
-<p class="tableblock">        If <em>program</em> is created with <strong>clCreateProgramWithSource</strong>,
+        <strong>clCreateProgramWithIL</strong>.
+</p><p class="tableblock">        If <em>program</em> is created with <strong>clCreateProgramWithSource</strong>,
         <strong>clCreateProgramWithBinary</strong> or <strong>clCreateProgramWithBuiltinKernels</strong>
         the memory pointed to by param_value will be unchanged and
         param_value_size_retwill be set to 0.</p></td>
@@ -15859,8 +15870,8 @@
         The size of the array is the number of devices associated with
         program.
         If a binary is not available for a device(s), a size of zero is
-        returned.</p>
-<p class="tableblock">        If <em>program</em> is created using <strong>clCreateProgramWithBuiltinKernels</strong>,
+        returned.
+</p><p class="tableblock">        If <em>program</em> is created using <strong>clCreateProgramWithBuiltinKernels</strong>,
         the implementation may return zero in any entries of the returned
         array.</p></td>
 </tr>
@@ -15880,13 +15891,13 @@
         representation (a.k.a. IR) or device specific executable bits or
         both.
         The decision on which information is returned in the binary is up to
-        the OpenCL implementation.</p>
-<p class="tableblock">        param_value points to an array of <code>n</code> pointers allocated by the
+        the OpenCL implementation.
+</p><p class="tableblock">        param_value points to an array of <code>n</code> pointers allocated by the
         caller, where <code>n</code> is the number of devices associated with program.
         The buffer sizes needed to allocate the memory that these <code>n</code>
         pointers refer to can be queried using the CL_PROGRAM_BINARY_SIZES
-        query as described in this table.</p>
-<p class="tableblock">        Each entry in this array is used by the implementation as the
+        query as described in this table.
+</p><p class="tableblock">        Each entry in this array is used by the implementation as the
         location in memory where to copy the program binary for a specific
         device, if there is a binary available.
         To find out which device the program binary in the array refers to,
@@ -16035,18 +16046,18 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_PROGRAM_BUILD_STATUS</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_build_status</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the build, compile or link status, whichever was performed
-        last on program for device.</p>
-<p class="tableblock">        This can be one of the following:</p>
-<p class="tableblock">        CL_BUILD_NONE - The build status returned if no <strong>clBuildProgram</strong>,
+        last on program for device.
+</p><p class="tableblock">        This can be one of the following:
+</p><p class="tableblock">        CL_BUILD_NONE - The build status returned if no <strong>clBuildProgram</strong>,
         <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong> has been performed on the
-        specified program object for device.</p>
-<p class="tableblock">        CL_BUILD_ERROR - The build status returned if <strong>clBuildProgram</strong>,
+        specified program object for device.
+</p><p class="tableblock">        CL_BUILD_ERROR - The build status returned if <strong>clBuildProgram</strong>,
         <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong> whichever was performed last
-        on the specified program object for device generated an error.</p>
-<p class="tableblock">        CL_BUILD_SUCCESS - The build status returned if <strong>clBuildProgram</strong>,
+        on the specified program object for device generated an error.
+</p><p class="tableblock">        CL_BUILD_SUCCESS - The build status returned if <strong>clBuildProgram</strong>,
         <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong> whichever was performed last
-        on the specified program object for device was successful.</p>
-<p class="tableblock">        CL_BUILD_IN_PROGRESS - The build status returned if
+        on the specified program object for device was successful.
+</p><p class="tableblock">        CL_BUILD_IN_PROGRESS - The build status returned if
         <strong>clBuildProgram</strong>, <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong> whichever
         was performed last on the specified program object for device has
         not finished.</p></td>
@@ -16056,8 +16067,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the build, compile or link options specified by the options
         argument in <strong>clBuildProgram</strong>, <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong>,
-        whichever was performed last on program for device.</p>
-<p class="tableblock">        If build status of program for device is CL_BUILD_NONE, an empty
+        whichever was performed last on program for device.
+</p><p class="tableblock">        If build status of program for device is CL_BUILD_NONE, an empty
         string is returned.</p></td>
 </tr>
 <tr>
@@ -16065,28 +16076,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the build, compile or link log for <strong>clBuildProgram</strong>,
         <strong>clCompileProgram</strong> or <strong>clLinkProgram</strong>, whichever was performed last
-        on program for device.</p>
-<p class="tableblock">        If build status of program for device is CL_BUILD_NONE, an empty
+        on program for device.
+</p><p class="tableblock">        If build status of program for device is CL_BUILD_NONE, an empty
         string is returned.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_PROGRAM_BINARY_TYPE</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_program_binary_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the program binary type for device.
-        This can be one of the following values:</p>
-<p class="tableblock">        CL_PROGRAM_BINARY_TYPE_NONE - There is no binary associated with
-        device.</p>
-<p class="tableblock">        CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT - A compiled binary is
+        This can be one of the following values:
+</p><p class="tableblock">        CL_PROGRAM_BINARY_TYPE_NONE - There is no binary associated with
+        device.
+</p><p class="tableblock">        CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT - A compiled binary is
         associated with device.
         This is the case if program was created using
         <strong>clCreateProgramWithSource</strong> and compiled using <strong>clCompileProgram</strong> or
-        a compiled binary is loaded using <strong>clCreateProgramWithBinary</strong>.</p>
-<p class="tableblock">        CL_PROGRAM_BINARY_TYPE_LIBRARY - A library binary is associated with
+        a compiled binary is loaded using <strong>clCreateProgramWithBinary</strong>.
+</p><p class="tableblock">        CL_PROGRAM_BINARY_TYPE_LIBRARY - A library binary is associated with
         device.
         This is the case if program was created by <strong>clLinkProgram</strong> which is
         called with the <code>-create-library</code> link option or if a library binary
-        is loaded using <strong>clCreateProgramWithBinary</strong>.</p>
-<p class="tableblock">        CL_PROGRAM_BINARY_TYPE_EXECUTABLE - An executable binary is
+        is loaded using <strong>clCreateProgramWithBinary</strong>.
+</p><p class="tableblock">        CL_PROGRAM_BINARY_TYPE_EXECUTABLE - An executable binary is
         associated with device.
         This is the case if program was created by <strong>clLinkProgram</strong> without
         the <code>-create-library link</code> option or program was created by
@@ -16704,8 +16715,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">void *[]</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">SVM pointers must reference locations contained entirely within
         buffers that are passed to kernel as arguments, or that are passed
-        through the execution information.</p>
-<p class="tableblock">        Non-argument SVM buffers must be specified by passing pointers to
+        through the execution information.
+</p><p class="tableblock">        Non-argument SVM buffers must be specified by passing pointers to
         those buffers via <strong>clSetKernelExecInfo</strong> for coarse-grain and
         fine-grain buffer SVM allocations but not for finegrain system SVM
         allocations.</p></td>
@@ -16992,13 +17003,13 @@
         with the kernel function declaration in the program source.
         These attributes include attributes described in the earlier OpenCL
         C kernel language specifications and other attributes supported by
-        an implementation.</p>
-<p class="tableblock">        Attributes are returned as they were declared inside
+        an implementation.
+</p><p class="tableblock">        Attributes are returned as they were declared inside
         <code>__attribute__((...))</code>, with any surrounding whitespace and
         embedded newlines removed.
         When multiple attributes are present, they are returned as a single,
-        space delimited string.</p>
-<p class="tableblock">        For kernels not created from OpenCL C source and the
+        space delimited string.
+</p><p class="tableblock">        For kernels not created from OpenCL C source and the
         <strong>clCreateProgramWithSource</strong> API call the string returned from this
         query will be empty.</p></td>
 </tr>
@@ -17112,8 +17123,8 @@
         global size that can be used to execute a kernel (i.e.
         <em>global_work_size</em> argument to <strong>clEnqueueNDRangeKernel</strong>) on a custom
         device given by device or a built-in kernel on an OpenCL device
-        given by device.</p>
-<p class="tableblock">        If device is not a custom device and kernel is not a built-in
+        given by device.
+</p><p class="tableblock">        If device is not a custom device and kernel is not a built-in
         kernel, <strong>clGetKernelWorkGroupInfo</strong> returns the error
         CL_INVALID_VALUE.</p></td>
 </tr>
@@ -17125,17 +17136,17 @@
         device given by device.
         The OpenCL implementation uses the resource requirements of the
         kernel (register usage etc.) to determine what this work-group size
-        should be.</p>
-<p class="tableblock">        As a result and unlike CL_DEVICE_MAX_WORK_GROUP_SIZE this value may
-        vary from one kernel to another as well as one device to another.</p>
-<p class="tableblock">        CL_KERNEL_WORK_GROUP_SIZE will be less than or equal to
+        should be.
+</p><p class="tableblock">        As a result and unlike CL_DEVICE_MAX_WORK_GROUP_SIZE this value may
+        vary from one kernel to another as well as one device to another.
+</p><p class="tableblock">        CL_KERNEL_WORK_GROUP_SIZE will be less than or equal to
         CL_DEVICE_MAX_WORK_GROUP_SIZE for a given kernel object.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_KERNEL_COMPILE_WORK_GROUP_SIZE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t[3]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-group size specified in the kernel source or IL.</p>
-<p class="tableblock">        If the work-group size is not specified in the kernel source or IL,
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-group size specified in the kernel source or IL.
+</p><p class="tableblock">        If the work-group size is not specified in the kernel source or IL,
         (0, 0, 0) is returned.</p></td>
 </tr>
 <tr>
@@ -17146,8 +17157,8 @@
         to execute the kernel, variables declared inside the kernel with the
         <code>__local</code> address qualifier and local memory to be allocated for
         arguments to the kernel declared as pointers with the <code>__local</code>
-        address qualifier and whose size is specified with <strong>clSetKernelArg</strong>.</p>
-<p class="tableblock">        If the local memory size, for any pointer argument to the kernel
+        address qualifier and whose size is specified with <strong>clSetKernelArg</strong>.
+</p><p class="tableblock">        If the local memory size, for any pointer argument to the kernel
         declared with the <code>__local</code> address qualifier, is not specified,
         its size is assumed to be 0.</p></td>
 </tr>
@@ -17294,8 +17305,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the maximum sub-group size for this kernel.
             All sub-groups must be the same size, while the last subgroup in
             any work-group (i.e. the subgroup with the maximum index) could
-            be the same or smaller size.</p>
-<p class="tableblock">            The <em>input_value</em> must be an array of size_t values
+            be the same or smaller size.
+</p><p class="tableblock">            The <em>input_value</em> must be an array of size_t values
             corresponding to the local work size parameter of the intended
             dispatch.
             The number of dimensions in the ND-range will be inferred from
@@ -17309,8 +17320,8 @@
             work-group for a given local work size.
             All workgroups, apart from the last work-group in each dimension
             in the presence of non-uniform work-group sizes, will have the
-            same number of sub-groups.</p>
-<p class="tableblock">            The <em>input_value</em> must be an array of size_t values
+            same number of sub-groups.
+</p><p class="tableblock">            The <em>input_value</em> must be an array of size_t values
             corresponding to the local work size parameter of the intended
             dispatch.
             The number of dimensions in the ND-range will be inferred from
@@ -17354,9 +17365,7 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">ignored</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of sub-groups specified in the kernel source
-            or IL.
-            If the sub-group count is not specified using the above
-            attribute then 0 is returned.</p></td>
+            or IL. If the sub-group count is not specified then 0 is returned.</p></td>
 </tr>
 </tbody>
 </table>
@@ -17469,12 +17478,12 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_kernel_arg_address_qualifier</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the address qualifier specified for the argument given by
         <em>arg_indx</em>.
-        This can be one of the following values:</p>
-<p class="tableblock">        CL_KERNEL_ARG_ADDRESS_GLOBAL<br>
+        This can be one of the following values:
+</p><p class="tableblock">        CL_KERNEL_ARG_ADDRESS_GLOBAL<br>
         CL_KERNEL_ARG_ADDRESS_LOCAL<br>
         CL_KERNEL_ARG_ADDRESS_CONSTANT<br>
-        CL_KERNEL_ARG_ADDRESS_PRIVATE</p>
-<p class="tableblock">        If no address qualifier is specified, the default address qualifier
+        CL_KERNEL_ARG_ADDRESS_PRIVATE
+</p><p class="tableblock">        If no address qualifier is specified, the default address qualifier
         which is CL_KERNEL_ARG_ADDRESS_PRIVATE is returned.</p></td>
 </tr>
 <tr>
@@ -17482,12 +17491,12 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_kernel_arg_access_qualifier</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the access qualifier specified for the argument given by
         <em>arg_indx</em>.
-        This can be one of the following values:</p>
-<p class="tableblock">        CL_KERNEL_ARG_ACCESS_READ_ONLY<br>
+        This can be one of the following values:
+</p><p class="tableblock">        CL_KERNEL_ARG_ACCESS_READ_ONLY<br>
         CL_KERNEL_ARG_ACCESS_WRITE_ONLY<br>
         CL_KERNEL_ARG_ACCESS_READ_WRITE<br>
-        CL_KERNEL_ARG_ACCESS_NONE</p>
-<p class="tableblock">        If argument is not an image type and is not declared with the pipe
+        CL_KERNEL_ARG_ACCESS_NONE
+</p><p class="tableblock">        If argument is not an image type and is not declared with the pipe
         qualifier, CL_KERNEL_ARG_ACCESS_NONE is returned.
         If argument is an image type, the access qualifier specified or the
         default access qualifier is returned.</p></td>
@@ -17513,8 +17522,8 @@
         The returned value can be: CL_KERNEL_ARG_TYPE_CONST<sup>17</sup>,
         CL_KERNEL_ARG_TYPE_RESTRICT, CL_KERNEL_ARG_TYPE_VOLATILE<sup>18</sup>, a
         combination of the above enums, CL_KERNEL_ARG_TYPE_PIPE or
-        CL_KERNEL_ARG_TYPE_NONE.</p>
-<p class="tableblock">        CL_KERNEL_ARG_TYPE_NONE is returned for all parameters passed by
+        CL_KERNEL_ARG_TYPE_NONE.
+</p><p class="tableblock">        CL_KERNEL_ARG_TYPE_NONE is returned for all parameters passed by
         value.</p></td>
 </tr>
 <tr>
@@ -18383,8 +18392,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_EVENT_COMMAND_TYPE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_command_type</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the command associated with event.
-        Can be one of the following values:</p>
-<p class="tableblock">        CL_COMMAND_NDRANGE_KERNEL<br>
+        Can be one of the following values:
+</p><p class="tableblock">        CL_COMMAND_NDRANGE_KERNEL<br>
         CL_COMMAND_NATIVE_KERNEL<br>
         CL_COMMAND_READ_BUFFER<br>
         CL_COMMAND_WRITE_BUFFER<br>
@@ -18418,13 +18427,13 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_EVENT_COMMAND_EXECUTION_STATUS</strong><sup>19</sup></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_int</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return the execution status of the command identified by event.
-        Valid values are:</p>
-<p class="tableblock">        CL_QUEUED (command has been enqueued n the command-queue),</p>
-<p class="tableblock">        CL_SUBMITTED (enqueued command has been submitted by the host to the
-        device associated with the command-queue),</p>
-<p class="tableblock">        CL_RUNNING (device is currently executing this command),</p>
-<p class="tableblock">        CL_COMPLETE (the command has completed), or</p>
-<p class="tableblock">        Error code given by a negative integer value. (command was
+        Valid values are:
+</p><p class="tableblock">        CL_QUEUED (command has been enqueued n the command-queue),
+</p><p class="tableblock">        CL_SUBMITTED (enqueued command has been submitted by the host to the
+        device associated with the command-queue),
+</p><p class="tableblock">        CL_RUNNING (device is currently executing this command),
+</p><p class="tableblock">        CL_COMPLETE (the command has completed), or
+</p><p class="tableblock">        Error code given by a negative integer value. (command was
         abnormally terminated - this may be caused by a bad memory access
         etc.).
         These error codes come from the same set of error codes that are
@@ -18992,34 +19001,12 @@
 <div class="sect2">
 <h3 id="profiling-operations">5.14. Profiling Operations on Memory Objects and Kernels</h3>
 <div class="paragraph">
-<p>This section describes profiling of OpenCL functions that are enqueued as
-commands to a command-queue.
-The specific functions<sup>22</sup> being referred to are:
-<strong>clEnqueue{Read|Write|Map}Buffer</strong>, <strong>clEnqueue{Read|Write}BufferRect</strong>,
-<strong>clEnqueue{Read|Write|Map}Image</strong>, <strong>clEnqueueUnmapMemObject</strong>,
-<strong>clEnqueueSVMMemcpy</strong>, <strong>clEnqueueSVMMemFill</strong>, <strong>clEnqueueSVMMap</strong>,
-<strong>clEnqueueSVMUnmap</strong>, <strong>clEnqueueSVMFree</strong>, <strong>clEnqueueCopyBuffer</strong>,
-<strong>clEnqueueCopyBufferRect</strong>, <strong>clEnqueueCopyImage</strong>,
-<strong>clEnqueueCopyImageToBuffer</strong>, <strong>clEnqueueCopyBufferToImage</strong>,
-<strong>clEnqueueNDRangeKernel</strong> and <strong>clEnqueueNativeKernel</strong>.
-These enqueued commands are identified by unique event objects.</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">22</dt>
-<dd>
-<p><strong>clEnqueueAcquireGLObjects</strong> and <strong>clEnqueueReleaseGLObjects</strong> defined in
-<em>section 9.4.6</em> of the OpenCL 2.2 Extension Specification are also
-included.</p>
-</dd>
-</dl>
-</div>
-<div class="paragraph">
-<p>Event objects can be used to capture profiling information that measure
-execution time of a command.
-Profiling of OpenCL commands can be enabled either by using a command-queue
-created with CL_QUEUE_PROFILING_ENABLE flag set in <em>properties</em> argument to
-<strong>clCreateCommandQueueWithProperties</strong>.</p>
+<p>This section describes the profiling of OpenCL functions that are enqueued
+as commands to a command-queue. Profiling of OpenCL commands can be enabled
+by using a command-queue created with CL_QUEUE_PROFILING_ENABLE
+flag set in <em>properties</em> argument to <strong>clCreateCommandQueueWithProperties</strong>.
+When profiling is enabled, the event objects that are created from
+enqueuing a command store a timestamp for each of their state transitions.</p>
 </div>
 <div class="paragraph">
 <p>If profiling is enabled, the function</p>
@@ -19136,8 +19123,8 @@
 <li>
 <p>CL_PROFILING_INFO_NOT_AVAILABLE if the CL_QUEUE_PROFILING_ENABLE flag is
 not set for the command-queue, if the execution status of the command
-identified by <em>event</em> is not CL_COMPLETE or if <em>event</em> refers to the
-<strong>clEnqueueSVMFree</strong> command or is a user event object.</p>
+identified by <em>event</em> is not CL_COMPLETE or if <em>event</em> is a user event
+object.</p>
 </li>
 <li>
 <p>CL_INVALID_VALUE if <em>param_name</em> is not valid, or if size in bytes
@@ -19654,20 +19641,20 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_IMAGE_MAX_BUFFER_SIZE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of pixels for a 1D image created from a buffer object.</p>
-<p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of pixels for a 1D image created from a buffer object.
+</p><p class="tableblock">        The minimum value is 2048 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_IMAGE_MAX_ARRAY_SIZE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of images in a 1D or 2D image array.</p>
-<p class="tableblock">        The minimum value is 256 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Max number of images in a 1D or 2D image array.
+</p><p class="tableblock">        The minimum value is 256 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_MAX_SAMPLERS</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_uint</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of samplers that can be used in a kernel.</p>
-<p class="tableblock">        The minimum value is 8 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum number of samplers that can be used in a kernel.
+</p><p class="tableblock">        The minimum value is 8 if CL_DEVICE_IMAGE_SUPPORT is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_MAX_PARAMETER_SIZE</strong></p></td>
@@ -19681,20 +19668,20 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_fp_config</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes single precision floatingpoint capability of the device.
         This is a bit-field that describes one or more of the following
-        values:</p>
-<p class="tableblock">        CL_FP_DENORM - denorms are supported</p>
-<p class="tableblock">        CL_FP_INF_NAN - INF and quiet NaNs are supported.</p>
-<p class="tableblock">        CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode
-        supported</p>
-<p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported</p>
-<p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
-        rounding modes supported</p>
-<p class="tableblock">        CL_FP_FMA - IEEE754-2008 fused multiply-add is supported.</p>
-<p class="tableblock">        CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT - divide and sqrt are correctly
-        rounded as defined by the IEEE754 specification.</p>
-<p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
-        addition, subtraction, multiplication) are implemented in software.</p>
-<p class="tableblock">        The mandated minimum floating-point capability is:
+        values:
+</p><p class="tableblock">        CL_FP_DENORM - denorms are supported
+</p><p class="tableblock">        CL_FP_INF_NAN - INF and quiet NaNs are supported.
+</p><p class="tableblock">        CL_FP_ROUND_TO_NEAREST - round to nearest even rounding mode
+        supported
+</p><p class="tableblock">        CL_FP_ROUND_TO_ZERO - round to zero rounding mode supported
+</p><p class="tableblock">        CL_FP_ROUND_TO_INF - round to positive and negative infinity
+        rounding modes supported
+</p><p class="tableblock">        CL_FP_FMA - IEEE754-2008 fused multiply-add is supported.
+</p><p class="tableblock">        CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT - divide and sqrt are correctly
+        rounded as defined by the IEEE754 specification.
+</p><p class="tableblock">        CL_FP_SOFT_FLOAT - Basic floating-point operations (such as
+        addition, subtraction, multiplication) are implemented in software.
+</p><p class="tableblock">        The mandated minimum floating-point capability is:
         CL_FP_ROUND_TO_ZERO or CL_FP_ROUND_TO_NEAREST for devices that are
         not of type CL_DEVICE_TYPE_CUSTOM.</p></td>
 </tr>
@@ -19724,17 +19711,17 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_COMPILER_AVAILABLE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bool</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Is CL_FALSE if the implementation does not have a compiler available
-        to compile the program source.</p>
-<p class="tableblock">        Is CL_TRUE if the compiler is available.
+        to compile the program source.
+</p><p class="tableblock">        Is CL_TRUE if the compiler is available.
         This can be CL_FALSE for the embedded platform profile only.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_LINKER_AVAILABLE</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_bool</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Is CL_FALSE if the implementation does not have a linker available.
-        Is CL_TRUE if the linker is available.</p>
-<p class="tableblock">        This can be CL_FALSE for the embedded platform profile only.</p>
-<p class="tableblock">        This must be CL_TRUE if CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE.</p></td>
+        Is CL_TRUE if the linker is available.
+</p><p class="tableblock">        This can be CL_FALSE for the embedded platform profile only.
+</p><p class="tableblock">        This must be CL_TRUE if CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE</strong></p></td>
@@ -20188,7 +20175,7 @@
 implementations depending on whether the system is big-endian, or
 little-endian or indeed has no vector unit at all.
 (Thus, the behavior of bitcasts to vectors of different numbers of elements
-is implementation-defined, see section 1.2.4 of OpenCL 2.0C specification)</p>
+is implementation-defined, see section 6.2.4 of OpenCL 2.0 C specification.)</p>
 </div>
 <div class="paragraph">
 <p>An example follows:</p>
@@ -20339,7 +20326,7 @@
 <li>
 <p>A number of edge cases for math library functions are more rigorously
 defined than in C99.
-Please see <em>section 3.5</em> of the OpenCL 2.0 C specification.</p>
+Please see <em>section 7.5</em> of the OpenCL 2.0 C specification.</p>
 </li>
 </ul>
 </div>
@@ -21441,8 +21428,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-07 12:41:34 BST
+Version 2.2-8<br>
+Last updated 2018-09-24 21:35:08 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/html/OpenCL_C.html b/specs/2.2/html/OpenCL_C.html
index 69bd709..953dac7 100644
--- a/specs/2.2/html/OpenCL_C.html
+++ b/specs/2.2/html/OpenCL_C.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Document Revision: 40">
 <title>The OpenCL&#8482; C 2.0 Specification</title>
 <style>
@@ -841,152 +841,152 @@
 <h1>The OpenCL<sup>&#8482;</sup> C 2.0 Specification</h1>
 <div class="details">
 <span id="author" class="author">Document Revision: 40</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:28 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:51:37 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
 <ul class="sectlevel1">
-<li><a href="#the-opencl-c-programming-language">1. The OpenCL C Programming Language</a>
+<li><a href="#the-opencl-c-programming-language">6. The OpenCL C Programming Language</a>
 <ul class="sectlevel2">
-<li><a href="#supported-data-types">1.1. Supported Data Types</a>
+<li><a href="#supported-data-types">6.1. Supported Data Types</a>
 <ul class="sectlevel3">
-<li><a href="#built-in-scalar-data-types">1.1.1. Built-in Scalar Data Types</a></li>
-<li><a href="#built-in-vector-data-types">1.1.2. Built-in Vector Data Types<sup>4</sup></a></li>
-<li><a href="#other-built-in-data-types">1.1.3. Other Built-in Data Types</a></li>
-<li><a href="#reserved-data-types">1.1.4. Reserved Data Types</a></li>
-<li><a href="#alignment-of-types">1.1.5. Alignment of Types</a></li>
-<li><a href="#vector-literals">1.1.6. Vector Literals</a></li>
-<li><a href="#vector-components">1.1.7. Vector Components</a></li>
-<li><a href="#aliasing-rules">1.1.8. Aliasing Rules</a></li>
-<li><a href="#keywords">1.1.9. Keywords</a></li>
+<li><a href="#built-in-scalar-data-types">6.1.1. Built-in Scalar Data Types</a></li>
+<li><a href="#built-in-vector-data-types">6.1.2. Built-in Vector Data Types<sup>4</sup></a></li>
+<li><a href="#other-built-in-data-types">6.1.3. Other Built-in Data Types</a></li>
+<li><a href="#reserved-data-types">6.1.4. Reserved Data Types</a></li>
+<li><a href="#alignment-of-types">6.1.5. Alignment of Types</a></li>
+<li><a href="#vector-literals">6.1.6. Vector Literals</a></li>
+<li><a href="#vector-components">6.1.7. Vector Components</a></li>
+<li><a href="#aliasing-rules">6.1.8. Aliasing Rules</a></li>
+<li><a href="#keywords">6.1.9. Keywords</a></li>
 </ul>
 </li>
-<li><a href="#conversions-and-type-casting">1.2. Conversions and Type Casting</a>
+<li><a href="#conversions-and-type-casting">6.2. Conversions and Type Casting</a>
 <ul class="sectlevel3">
-<li><a href="#implicit-conversions">1.2.1. Implicit Conversions</a></li>
-<li><a href="#explicit-casts">1.2.2. Explicit Casts</a></li>
-<li><a href="#explicit-conversions">1.2.3. Explicit Conversions</a></li>
-<li><a href="#reinterpreting-data-as-another-type">1.2.4. Reinterpreting Data As Another Type</a></li>
-<li><a href="#pointer-casting">1.2.5. Pointer Casting</a></li>
-<li><a href="#usual-arithmetic-conversions">1.2.6. Usual Arithmetic Conversions</a></li>
+<li><a href="#implicit-conversions">6.2.1. Implicit Conversions</a></li>
+<li><a href="#explicit-casts">6.2.2. Explicit Casts</a></li>
+<li><a href="#explicit-conversions">6.2.3. Explicit Conversions</a></li>
+<li><a href="#reinterpreting-data-as-another-type">6.2.4. Reinterpreting Data As Another Type</a></li>
+<li><a href="#pointer-casting">6.2.5. Pointer Casting</a></li>
+<li><a href="#usual-arithmetic-conversions">6.2.6. Usual Arithmetic Conversions</a></li>
 </ul>
 </li>
-<li><a href="#operators">1.3. Operators</a>
+<li><a href="#operators">6.3. Operators</a>
 <ul class="sectlevel3">
-<li><a href="#operators-arithmetic">1.3.1. Arithmetic Operators</a></li>
-<li><a href="#operators-unary">1.3.2. Unary Operators</a></li>
-<li><a href="#operators-prepost">1.3.3. Operators</a></li>
-<li><a href="#operators-relational">1.3.4. Relational Operators</a></li>
-<li><a href="#operators-equality">1.3.5. Equality Operators</a></li>
-<li><a href="#operators-bitwise">1.3.6. Bitwise Operators</a></li>
-<li><a href="#operators-logical">1.3.7. Logical Operators</a></li>
-<li><a href="#operators-logical-unary">1.3.8. Unary Logical Operator</a></li>
-<li><a href="#operators-ternary-selection">1.3.9. Ternary Selection Operator</a></li>
-<li><a href="#operators-shift">1.3.10. Shift Operators</a></li>
-<li><a href="#operators-sizeof">1.3.11. Sizeof Operator</a></li>
-<li><a href="#operators-comma">1.3.12. Comma Operator</a></li>
-<li><a href="#operators-indirection">1.3.13. Indirection Operator</a></li>
-<li><a href="#operators-address">1.3.14. Address Operator</a></li>
-<li><a href="#operators-assignment">1.3.15. Assignment Operator</a></li>
+<li><a href="#operators-arithmetic">6.3.1. Arithmetic Operators</a></li>
+<li><a href="#operators-unary">6.3.2. Unary Operators</a></li>
+<li><a href="#operators-prepost">6.3.3. Operators</a></li>
+<li><a href="#operators-relational">6.3.4. Relational Operators</a></li>
+<li><a href="#operators-equality">6.3.5. Equality Operators</a></li>
+<li><a href="#operators-bitwise">6.3.6. Bitwise Operators</a></li>
+<li><a href="#operators-logical">6.3.7. Logical Operators</a></li>
+<li><a href="#operators-logical-unary">6.3.8. Unary Logical Operator</a></li>
+<li><a href="#operators-ternary-selection">6.3.9. Ternary Selection Operator</a></li>
+<li><a href="#operators-shift">6.3.10. Shift Operators</a></li>
+<li><a href="#operators-sizeof">6.3.11. Sizeof Operator</a></li>
+<li><a href="#operators-comma">6.3.12. Comma Operator</a></li>
+<li><a href="#operators-indirection">6.3.13. Indirection Operator</a></li>
+<li><a href="#operators-address">6.3.14. Address Operator</a></li>
+<li><a href="#operators-assignment">6.3.15. Assignment Operator</a></li>
 </ul>
 </li>
-<li><a href="#vector-operations">1.4. Vector Operations</a></li>
-<li><a href="#address-space-qualifiers">1.5. Address Space Qualifiers</a>
+<li><a href="#vector-operations">6.4. Vector Operations</a></li>
+<li><a href="#address-space-qualifiers">6.5. Address Space Qualifiers</a>
 <ul class="sectlevel3">
-<li><a href="#global-or-global">1.5.1. <code>__global</code> (or <code>global</code>)</a></li>
-<li><a href="#local-or-local">1.5.2. <code>__local</code> (or <code>local</code>)</a></li>
-<li><a href="#constant-or-constant">1.5.3. <code>__constant</code> (or <code>constant</code>)</a></li>
-<li><a href="#private-or-private">1.5.4. <code>__private</code> (or <code>private</code>)</a></li>
-<li><a href="#the-generic-address-space">1.5.5. The generic address space</a></li>
-<li><a href="#changes-to-C99">1.5.6. Changes to C99</a></li>
+<li><a href="#global-or-global">6.5.1. <code>__global</code> (or <code>global</code>)</a></li>
+<li><a href="#local-or-local">6.5.2. <code>__local</code> (or <code>local</code>)</a></li>
+<li><a href="#constant-or-constant">6.5.3. <code>__constant</code> (or <code>constant</code>)</a></li>
+<li><a href="#private-or-private">6.5.4. <code>__private</code> (or <code>private</code>)</a></li>
+<li><a href="#the-generic-address-space">6.5.5. The generic address space</a></li>
+<li><a href="#changes-to-C99">6.5.6. Changes to C99</a></li>
 </ul>
 </li>
-<li><a href="#access-qualifiers">1.6. Access Qualifiers</a></li>
-<li><a href="#function-qualifiers">1.7. Function Qualifiers</a>
+<li><a href="#access-qualifiers">6.6. Access Qualifiers</a></li>
+<li><a href="#function-qualifiers">6.7. Function Qualifiers</a>
 <ul class="sectlevel3">
-<li><a href="#kernel-or-kernel">1.7.1. <code>__kernel</code> (or <code>kernel</code>)</a></li>
-<li><a href="#optional-attribute-qualifiers">1.7.2. Optional Attribute Qualifiers</a></li>
+<li><a href="#kernel-or-kernel">6.7.1. <code>__kernel</code> (or <code>kernel</code>)</a></li>
+<li><a href="#optional-attribute-qualifiers">6.7.2. Optional Attribute Qualifiers</a></li>
 </ul>
 </li>
-<li><a href="#storage-class-specifiers">1.8. Storage-Class Specifiers</a></li>
-<li><a href="#restrictions">1.9. Restrictions</a></li>
-<li><a href="#preprocessor-directives-and-macros">1.10. Preprocessor Directives and Macros</a></li>
-<li><a href="#attribute-qualifiers">1.11. Attribute Qualifiers</a>
+<li><a href="#storage-class-specifiers">6.8. Storage-Class Specifiers</a></li>
+<li><a href="#restrictions">6.9. Restrictions</a></li>
+<li><a href="#preprocessor-directives-and-macros">6.10. Preprocessor Directives and Macros</a></li>
+<li><a href="#attribute-qualifiers">6.11. Attribute Qualifiers</a>
 <ul class="sectlevel3">
-<li><a href="#specifying-attributes-of-types">1.11.1. Specifying Attributes of Types</a></li>
-<li><a href="#specifying-attributes-of-functions">1.11.2. Specifying Attributes of Functions</a></li>
-<li><a href="#specifying-attributes-of-variables">1.11.3. Specifying Attributes of Variables</a></li>
-<li><a href="#specifying-attributes-of-blocks-and-control-flow-statements">1.11.4. Specifying Attributes of Blocks and Control-Flow-Statements</a></li>
-<li><a href="#specifying-attribute-for-unrolling-loops">1.11.5. Specifying Attribute For Unrolling Loops</a></li>
-<li><a href="#extending-attribute-qualifiers">1.11.6. Extending Attribute Qualifiers</a></li>
+<li><a href="#specifying-attributes-of-types">6.11.1. Specifying Attributes of Types</a></li>
+<li><a href="#specifying-attributes-of-functions">6.11.2. Specifying Attributes of Functions</a></li>
+<li><a href="#specifying-attributes-of-variables">6.11.3. Specifying Attributes of Variables</a></li>
+<li><a href="#specifying-attributes-of-blocks-and-control-flow-statements">6.11.4. Specifying Attributes of Blocks and Control-Flow-Statements</a></li>
+<li><a href="#specifying-attribute-for-unrolling-loops">6.11.5. Specifying Attribute For Unrolling Loops</a></li>
+<li><a href="#extending-attribute-qualifiers">6.11.6. Extending Attribute Qualifiers</a></li>
 </ul>
 </li>
-<li><a href="#blocks">1.12. Blocks</a>
+<li><a href="#blocks">6.12. Blocks</a>
 <ul class="sectlevel3">
-<li><a href="#declaring-and-using-a-block">1.12.1. Declaring and Using a Block</a></li>
-<li><a href="#declaring-a-block-reference">1.12.2. Declaring a Block Reference</a></li>
-<li><a href="#block-literal-expressions">1.12.3. Block Literal Expressions</a></li>
-<li><a href="#control-flow">1.12.4. Control Flow</a></li>
-<li><a href="#restrictions-1">1.12.5. Restrictions</a></li>
+<li><a href="#declaring-and-using-a-block">6.12.1. Declaring and Using a Block</a></li>
+<li><a href="#declaring-a-block-reference">6.12.2. Declaring a Block Reference</a></li>
+<li><a href="#block-literal-expressions">6.12.3. Block Literal Expressions</a></li>
+<li><a href="#control-flow">6.12.4. Control Flow</a></li>
+<li><a href="#restrictions-1">6.12.5. Restrictions</a></li>
 </ul>
 </li>
-<li><a href="#built-in-functions">1.13. Built-in Functions</a>
+<li><a href="#built-in-functions">6.13. Built-in Functions</a>
 <ul class="sectlevel3">
-<li><a href="#work-item-functions">1.13.1. Work-Item Functions</a></li>
-<li><a href="#math-functions">1.13.2. Math Functions</a></li>
-<li><a href="#integer-functions">1.13.3. Integer Functions</a></li>
-<li><a href="#common-functions">1.13.4. Common Functions<sup>33</sup></a></li>
-<li><a href="#geometric-functions">1.13.5. Geometric Functions<sup>34</sup></a></li>
-<li><a href="#relational-functions">1.13.6. Relational Functions</a></li>
-<li><a href="#vector-data-load-and-store-functions">1.13.7. Vector Data Load and Store Functions</a></li>
-<li><a href="#synchronization-functions">1.13.8. Synchronization Functions</a></li>
-<li><a href="#address-space-qualifier-functions">1.13.9. Address Space Qualifier Functions</a></li>
-<li><a href="#async-copies">1.13.10. Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch</a></li>
-<li><a href="#atomic-functions">1.13.11. Atomic Functions</a></li>
-<li><a href="#miscellaneous-vector-functions">1.13.12. Miscellaneous Vector Functions</a></li>
-<li><a href="#printf">1.13.13. printf</a></li>
-<li><a href="#image-read-and-write-functions">1.13.14. Image Read and Write Functions</a></li>
-<li><a href="#work-group-functions">1.13.15. Work-group Functions</a></li>
-<li><a href="#pipe-functions">1.13.16. Pipe Functions</a></li>
-<li><a href="#enqueuing-kernels">1.13.17. Enqueuing Kernels</a></li>
+<li><a href="#work-item-functions">6.13.1. Work-Item Functions</a></li>
+<li><a href="#math-functions">6.13.2. Math Functions</a></li>
+<li><a href="#integer-functions">6.13.3. Integer Functions</a></li>
+<li><a href="#common-functions">6.13.4. Common Functions<sup>33</sup></a></li>
+<li><a href="#geometric-functions">6.13.5. Geometric Functions<sup>34</sup></a></li>
+<li><a href="#relational-functions">6.13.6. Relational Functions</a></li>
+<li><a href="#vector-data-load-and-store-functions">6.13.7. Vector Data Load and Store Functions</a></li>
+<li><a href="#synchronization-functions">6.13.8. Synchronization Functions</a></li>
+<li><a href="#address-space-qualifier-functions">6.13.9. Address Space Qualifier Functions</a></li>
+<li><a href="#async-copies">6.13.10. Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch</a></li>
+<li><a href="#atomic-functions">6.13.11. Atomic Functions</a></li>
+<li><a href="#miscellaneous-vector-functions">6.13.12. Miscellaneous Vector Functions</a></li>
+<li><a href="#printf">6.13.13. printf</a></li>
+<li><a href="#image-read-and-write-functions">6.13.14. Image Read and Write Functions</a></li>
+<li><a href="#work-group-functions">6.13.15. Work-group Functions</a></li>
+<li><a href="#pipe-functions">6.13.16. Pipe Functions</a></li>
+<li><a href="#enqueuing-kernels">6.13.17. Enqueuing Kernels</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a href="#opencl-numerical-compliance">2. OpenCL Numerical Compliance</a>
+<li><a href="#opencl-numerical-compliance">7. OpenCL Numerical Compliance</a>
 <ul class="sectlevel2">
-<li><a href="#rounding-modes-1">2.1. Rounding Modes</a></li>
-<li><a href="#inf-nan-and-denormalized-numbers">2.2. INF, NaN and Denormalized Numbers</a></li>
-<li><a href="#floating-point-exceptions">2.3. Floating-Point Exceptions</a></li>
-<li><a href="#relative-error-as-ulps">2.4. Relative Error as ULPs</a></li>
-<li><a href="#edge-case-behavior">2.5. Edge Case Behavior</a>
+<li><a href="#rounding-modes-1">7.1. Rounding Modes</a></li>
+<li><a href="#inf-nan-and-denormalized-numbers">7.2. INF, NaN and Denormalized Numbers</a></li>
+<li><a href="#floating-point-exceptions">7.3. Floating-Point Exceptions</a></li>
+<li><a href="#relative-error-as-ulps">7.4. Relative Error as ULPs</a></li>
+<li><a href="#edge-case-behavior">7.5. Edge Case Behavior</a>
 <ul class="sectlevel3">
-<li><a href="#additional-requirements-beyond-c99-tc2">2.5.1. Additional Requirements Beyond C99 TC2</a></li>
-<li><a href="#changes-to-c99-tc2-behavior">2.5.2. Changes to C99 TC2 Behavior</a></li>
-<li><a href="#edge-case-behavior-in-flush-to-zero-mode">2.5.3. Edge Case Behavior in Flush To Zero Mode</a></li>
+<li><a href="#additional-requirements-beyond-c99-tc2">7.5.1. Additional Requirements Beyond C99 TC2</a></li>
+<li><a href="#changes-to-c99-tc2-behavior">7.5.2. Changes to C99 TC2 Behavior</a></li>
+<li><a href="#edge-case-behavior-in-flush-to-zero-mode">7.5.3. Edge Case Behavior in Flush To Zero Mode</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a href="#image-addressing-and-filtering">3. Image Addressing and Filtering</a>
+<li><a href="#image-addressing-and-filtering">8. Image Addressing and Filtering</a>
 <ul class="sectlevel2">
-<li><a href="#image-coordinates">3.1. Image Coordinates</a></li>
-<li><a href="#addressing-and-filter-modes">3.2. Addressing and Filter Modes</a></li>
-<li><a href="#conversion-rules">3.3. Conversion Rules</a>
+<li><a href="#image-coordinates">8.1. Image Coordinates</a></li>
+<li><a href="#addressing-and-filter-modes">8.2. Addressing and Filter Modes</a></li>
+<li><a href="#conversion-rules">8.3. Conversion Rules</a>
 <ul class="sectlevel3">
-<li><a href="#conversion-rules-for-normalized-integer-channel-data-types">3.3.1. Conversion rules for normalized integer channel data types</a></li>
-<li><a href="#conversion-rules-for-half-precision-floating-point-channel-data-type">3.3.2. Conversion rules for half precision floating-point channel data type</a></li>
-<li><a href="#conversion-rules-for-floating-point-channel-data-type">3.3.3. Conversion rules for floating-point channel data type</a></li>
-<li><a href="#conversion-rules-for-signed-and-unsigned-8-bit-16-bit-and-32-bit-integer-channel-data-types">3.3.4. Conversion rules for signed and unsigned 8-bit, 16-bit and 32-bit integer channel data types</a></li>
-<li><a href="#conversion-rules-for-srgba-and-sbgra-images">3.3.5. Conversion rules for sRGBA and sBGRA images</a></li>
+<li><a href="#conversion-rules-for-normalized-integer-channel-data-types">8.3.1. Conversion rules for normalized integer channel data types</a></li>
+<li><a href="#conversion-rules-for-half-precision-floating-point-channel-data-type">8.3.2. Conversion rules for half precision floating-point channel data type</a></li>
+<li><a href="#conversion-rules-for-floating-point-channel-data-type">8.3.3. Conversion rules for floating-point channel data type</a></li>
+<li><a href="#conversion-rules-for-signed-and-unsigned-8-bit-16-bit-and-32-bit-integer-channel-data-types">8.3.4. Conversion rules for signed and unsigned 8-bit, 16-bit and 32-bit integer channel data types</a></li>
+<li><a href="#conversion-rules-for-srgba-and-sbgra-images">8.3.5. Conversion rules for sRGBA and sBGRA images</a></li>
 </ul>
 </li>
-<li><a href="#selecting-an-image-from-an-image-array">3.4. Selecting an Image from an Image Array</a></li>
+<li><a href="#selecting-an-image-from-an-image-array">8.4. Selecting an Image from an Image Array</a></li>
 </ul>
 </li>
-<li><a href="#references">4. Normative References</a></li>
+<li><a href="#references">9. Normative References</a></li>
 </ul>
 </div>
 </div>
@@ -1133,7 +1133,6 @@
 Yariv Aridor, Intel<br>
 Michael Kinsner, Intel<br>
 Kevin Stevens, Intel<br>
-Jon Leech, Khronos<br>
 Benjamin Bergen, Los Alamos National Laboratory<br>
 Roy Ju, Mediatek<br>
 Bor-Sung Liang, Mediatek<br>
@@ -1218,8 +1217,25 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="the-opencl-c-programming-language">1. The OpenCL C Programming Language</h2>
+<h2 id="the-opencl-c-programming-language">6. The OpenCL C Programming Language</h2>
 <div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="title">Note</div>
+<div class="paragraph">
+<p>This document starts at chapter 6 to keep the section numbers historically
+consistent with previous versions of the OpenCL and OpenCL C Programming
+Language specifications.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>This section describes the OpenCL C programming language used to create
 kernels that are executed on OpenCL device(s).
@@ -1238,12 +1254,12 @@
 Such features are described by reference to that Specification.</p>
 </div>
 <div class="sect2">
-<h3 id="supported-data-types">1.1. Supported Data Types</h3>
+<h3 id="supported-data-types">6.1. Supported Data Types</h3>
 <div class="paragraph">
 <p>The following data types are supported.</p>
 </div>
 <div class="sect3">
-<h4 id="built-in-scalar-data-types">1.1.1. Built-in Scalar Data Types</h4>
+<h4 id="built-in-scalar-data-types">6.1.1. Built-in Scalar Data Types</h4>
 <div class="paragraph">
 <p>The following table describes the list of built-in scalar data types.</p>
 </div>
@@ -1510,7 +1526,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="built-in-vector-data-types">1.1.2. Built-in Vector Data Types<sup>4</sup></h4>
+<h4 id="built-in-vector-data-types">6.1.2. Built-in Vector Data Types<sup>4</sup></h4>
 <div class="paragraph">
 <p>The <code>char</code>, <code>unsigned char</code>, <code>short</code>, <code>unsigned short</code>, <code>int</code>, <code>unsigned
 int</code>, <code>long</code>, <code>unsigned long</code>, and <code>float</code> vector data types are supported.
@@ -1650,7 +1666,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="other-built-in-data-types">1.1.3. Other Built-in Data Types</h4>
+<h4 id="other-built-in-data-types">6.1.3. Other Built-in Data Types</h4>
 <div class="paragraph">
 <p>The following table describes the list of additional data types supported by
 OpenCL.</p>
@@ -1732,11 +1748,11 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cl_mem_fence_flags</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This is a bitfield and can be 0 or a combination of the following
-      values ORed together:</p>
-<p class="tableblock">      <code>CLK_GLOBAL_MEM_FENCE</code><br>
+      values ORed together:
+</p><p class="tableblock">      <code>CLK_GLOBAL_MEM_FENCE</code><br>
       <code>CLK_LOCAL_MEM_FENCE</code><br>
-      <code>CLK_IMAGE_MEM_FENCE</code></p>
-<p class="tableblock">      These flags are described in detail in the
+      <code>CLK_IMAGE_MEM_FENCE</code>
+</p><p class="tableblock">      These flags are described in detail in the
       <a href="#synchronization-functions">synchronization functions</a> section.</p></td>
 </tr>
 </tbody>
@@ -1796,7 +1812,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="reserved-data-types">1.1.4. Reserved Data Types</h4>
+<h4 id="reserved-data-types">6.1.4. Reserved Data Types</h4>
 <div class="paragraph">
 <p>The data type names described in the following table are reserved and cannot
 be used by applications as type names.
@@ -1888,7 +1904,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="alignment-of-types">1.1.5. Alignment of Types</h4>
+<h4 id="alignment-of-types">6.1.5. Alignment of Types</h4>
 <div class="paragraph">
 <p>A data item declared to be a data type in memory is always aligned to the
 size of the data type in bytes.
@@ -1926,7 +1942,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="vector-literals">1.1.6. Vector Literals</h4>
+<h4 id="vector-literals">6.1.6. Vector Literals</h4>
 <div class="paragraph">
 <p>Vector literals can be used to create vectors from a list of scalars,
 vectors or a mixture thereof.
@@ -1984,7 +2000,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="vector-components">1.1.7. Vector Components</h4>
+<h4 id="vector-components">6.1.7. Vector Components</h4>
 <div class="paragraph">
 <p>The components of vector data types with 1 &#8230;&#8203; 4 components can be addressed
 as <code>&lt;vector_data_type&gt;.xyzw</code>.
@@ -2251,7 +2267,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="aliasing-rules">1.1.8. Aliasing Rules</h4>
+<h4 id="aliasing-rules">6.1.8. Aliasing Rules</h4>
 <div class="paragraph">
 <p>OpenCL C programs shall comply with the C99 type-based aliasing rules
 defined in <a href="#C99-spec">section 6.5, item 7 of the C99 Specification</a>.
@@ -2265,7 +2281,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="keywords">1.1.9. Keywords</h4>
+<h4 id="keywords">6.1.9. Keywords</h4>
 <div class="paragraph">
 <p>The following names are reserved for use as keywords in OpenCL C and shall
 not be used otherwise.</p>
@@ -2299,9 +2315,9 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="conversions-and-type-casting">1.2. Conversions and Type Casting</h3>
+<h3 id="conversions-and-type-casting">6.2. Conversions and Type Casting</h3>
 <div class="sect3">
-<h4 id="implicit-conversions">1.2.1. Implicit Conversions</h4>
+<h4 id="implicit-conversions">6.2.1. Implicit Conversions</h4>
 <div class="paragraph">
 <p>Implicit conversions between scalar built-in types defined in
 <a href="#table-builtin-scalar-types">Built-in Scalar Data Types</a> (except <code>void</code> and <code>half</code><sup>8</sup>) are supported.
@@ -2329,7 +2345,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="explicit-casts">1.2.2. Explicit Casts</h4>
+<h4 id="explicit-casts">6.2.2. Explicit Casts</h4>
 <div class="paragraph">
 <p>Standard typecasts for built-in scalar data types defined in
 <a href="#table-builtin-scalar-types">Built-in Scalar Data Types</a> will perform appropriate conversion (except
@@ -2406,7 +2422,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="explicit-conversions">1.2.3. Explicit Conversions</h4>
+<h4 id="explicit-conversions">6.2.3. Explicit Conversions</h4>
 <div class="paragraph">
 <p>Explicit conversions may be performed using the</p>
 </div>
@@ -2630,7 +2646,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="reinterpreting-data-as-another-type">1.2.4. Reinterpreting Data As Another Type</h4>
+<h4 id="reinterpreting-data-as-another-type">6.2.4. Reinterpreting Data As Another Type</h4>
 <div class="paragraph">
 <p>It is frequently necessary to reinterpret bits in a data type as another
 data type in OpenCL.
@@ -2788,7 +2804,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="pointer-casting">1.2.5. Pointer Casting</h4>
+<h4 id="pointer-casting">6.2.5. Pointer Casting</h4>
 <div class="paragraph">
 <p>Pointers to old and new types may be cast back and forth to each other.
 Casting a pointer to a new type represents an unchecked assertion that the
@@ -2799,7 +2815,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="usual-arithmetic-conversions">1.2.6. Usual Arithmetic Conversions</h4>
+<h4 id="usual-arithmetic-conversions">6.2.6. Usual Arithmetic Conversions</h4>
 <div class="paragraph">
 <p>Many operators that expect operands of arithmetic type cause conversions and
 yield result types in a similar way.
@@ -2894,9 +2910,9 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="operators">1.3. Operators</h3>
+<h3 id="operators">6.3. Operators</h3>
 <div class="sect3">
-<h4 id="operators-arithmetic">1.3.1. Arithmetic Operators</h4>
+<h4 id="operators-arithmetic">6.3.1. Arithmetic Operators</h4>
 <div class="paragraph">
 <p>The arithmetic operators add (<strong>+</strong>), subtract (<strong>-</strong>), multiply (<strong>*</strong>) and
 divide (<strong>/</strong>) operate on built-in integer and floating-point scalar, and
@@ -2942,14 +2958,14 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-unary">1.3.2. Unary Operators</h4>
+<h4 id="operators-unary">6.3.2. Unary Operators</h4>
 <div class="paragraph">
 <p>The arithmetic unary operators (<strong>+</strong> and <strong>-</strong>) operate on built-in scalar and
 vector types.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-prepost">1.3.3. Operators</h4>
+<h4 id="operators-prepost">6.3.3. Operators</h4>
 <div class="paragraph">
 <p>The arithmetic post- and pre-increment and decrement operators (<strong>--</strong> and
 <strong>++</strong>) operate on built-in scalar and vector types except the built-in scalar
@@ -2979,7 +2995,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-relational">1.3.4. Relational Operators</h4>
+<h4 id="operators-relational">6.3.4. Relational Operators</h4>
 <div class="paragraph">
 <p>The relational operators<sup>16</sup> greater than (<strong>&gt;</strong>), less than (<strong>&lt;</strong>), greater
 than or equal (<strong>&gt;=</strong>), and less than or equal (<strong>&lt;=</strong>) operate on scalar and
@@ -3036,7 +3052,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-equality">1.3.5. Equality Operators</h4>
+<h4 id="operators-equality">6.3.5. Equality Operators</h4>
 <div class="paragraph">
 <p>The equality operators<sup>17</sup> equal (<strong>==</strong>) and not equal (<strong>!=</strong>) operate on
 built-in scalar and vector types.
@@ -3097,7 +3113,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-bitwise">1.3.6. Bitwise Operators</h4>
+<h4 id="operators-bitwise">6.3.6. Bitwise Operators</h4>
 <div class="paragraph">
 <p>The bitwise operators and (<strong>&amp;</strong>), or (<strong>|</strong>), exclusive or (<strong>^</strong>), and not
 (<strong>~</strong>) operate on all scalar and vector built-in types except the built-in
@@ -3112,7 +3128,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-logical">1.3.7. Logical Operators</h4>
+<h4 id="operators-logical">6.3.7. Logical Operators</h4>
 <div class="paragraph">
 <p>The logical operators and (<strong>&amp;&amp;</strong>) and or (<strong>||</strong>) operate on all scalar and
 vector built-in types.
@@ -3151,7 +3167,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-logical-unary">1.3.8. Unary Logical Operator</h4>
+<h4 id="operators-logical-unary">6.3.8. Unary Logical Operator</h4>
 <div class="paragraph">
 <p>The logical unary operator not (<strong>!</strong>) operates on all scalar and vector
 built-in types.
@@ -3178,7 +3194,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-ternary-selection">1.3.9. Ternary Selection Operator</h4>
+<h4 id="operators-ternary-selection">6.3.9. Ternary Selection Operator</h4>
 <div class="paragraph">
 <p>The ternary selection operator (<strong>?:</strong>) operates on three expressions (<em>exp1</em>
 <strong>?</strong> <em>exp2</em> <strong>:</strong> <em>exp3</em>).
@@ -3199,7 +3215,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-shift">1.3.10. Shift Operators</h4>
+<h4 id="operators-shift">6.3.10. Shift Operators</h4>
 <div class="paragraph">
 <p>The operators right-shift (<strong>&gt;&gt;</strong>), left-shift (<strong>&lt;&lt;</strong>) operate on all scalar
 and vector built-in types except the built-in scalar and vector <code>float</code>
@@ -3234,7 +3250,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-sizeof">1.3.11. Sizeof Operator</h4>
+<h4 id="operators-sizeof">6.3.11. Sizeof Operator</h4>
 <div class="paragraph">
 <p>The <code>sizeof</code> operator yields the size (in bytes) of its operand, including
 any <a href="#alignment-of-types">padding bytes needed for alignment</a>, which may be
@@ -3284,7 +3300,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-comma">1.3.12. Comma Operator</h4>
+<h4 id="operators-comma">6.3.12. Comma Operator</h4>
 <div class="paragraph">
 <p>The comma (<strong>,</strong>) operator operates on expressions by returning the type and
 value of the right-most expression in a comma separated list of expressions.
@@ -3292,7 +3308,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-indirection">1.3.13. Indirection Operator</h4>
+<h4 id="operators-indirection">6.3.13. Indirection Operator</h4>
 <div class="paragraph">
 <p>The unary (<strong>*</strong>) operator denotes indirection.
 If the operand points to an object, the result is an l-value designating the
@@ -3312,7 +3328,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-address">1.3.14. Address Operator</h4>
+<h4 id="operators-address">6.3.14. Address Operator</h4>
 <div class="paragraph">
 <p>The unary (<strong>&amp;</strong>) operator returns the address of its operand.
 If the operand has type &#8220;<em>type</em>&#8221;, the result has type &#8220;pointer to
@@ -3336,7 +3352,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="operators-assignment">1.3.15. Assignment Operator</h4>
+<h4 id="operators-assignment">6.3.15. Assignment Operator</h4>
 <div class="paragraph">
 <p>Assignments of values to variable names are done with the assignment
 operator (<strong>=</strong>), like</p>
@@ -3428,7 +3444,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="vector-operations">1.4. Vector Operations</h3>
+<h3 id="vector-operations">6.4. Vector Operations</h3>
 <div class="paragraph">
 <p>Vector operations are component-wise.
 Usually, when an operator operates on a vector, it is operating
@@ -3483,7 +3499,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="address-space-qualifiers">1.5. Address Space Qualifiers</h3>
+<h3 id="address-space-qualifiers">6.5. Address Space Qualifiers</h3>
 <div class="paragraph">
 <p>OpenCL implements the following disjoint named address spaces: <code>__global</code>,
 <code>__local</code>, <code>__constant</code> and <code>__private</code>.
@@ -3584,7 +3600,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="global-or-global">1.5.1. <code>__global</code> (or <code>global</code>)</h4>
+<h4 id="global-or-global">6.5.1. <code>__global</code> (or <code>global</code>)</h4>
 <div class="paragraph">
 <p>The <code>__global</code> or <code>global</code> address space name is used to refer to memory
 objects (buffer or image objects) allocated from the <code>global</code> memory pool.</p>
@@ -3687,7 +3703,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="local-or-local">1.5.2. <code>__local</code> (or <code>local</code>)</h4>
+<h4 id="local-or-local">6.5.2. <code>__local</code> (or <code>local</code>)</h4>
 <div class="paragraph">
 <p>The <code>__local</code> or <code>local</code> address space name is used to describe variables
 that need to be allocated in local memory and are shared by all work-items
@@ -3753,7 +3769,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="constant-or-constant">1.5.3. <code>__constant</code> (or <code>constant</code>)</h4>
+<h4 id="constant-or-constant">6.5.3. <code>__constant</code> (or <code>constant</code>)</h4>
 <div class="paragraph">
 <p>The <code>__constant</code> or <code>constant</code> address space name is used to describe
 variables allocated in <code>global</code> memory and which are accessed inside a
@@ -3804,7 +3820,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="private-or-private">1.5.4. <code>__private</code> (or <code>private</code>)</h4>
+<h4 id="private-or-private">6.5.4. <code>__private</code> (or <code>private</code>)</h4>
 <div class="paragraph">
 <p>Variables inside a kernel function not declared with an address space
 qualifier, all variables inside non-kernel functions, and all function
@@ -3814,7 +3830,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="the-generic-address-space">1.5.5. The generic address space</h4>
+<h4 id="the-generic-address-space">6.5.5. The generic address space</h4>
 <div class="paragraph">
 <p>The following rules apply when using pointers that point to the generic
 address space:</p>
@@ -3931,7 +3947,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="changes-to-C99">1.5.6. Changes to C99</h4>
+<h4 id="changes-to-C99">6.5.6. Changes to C99</h4>
 <div class="paragraph">
 <p>This section details the modifications to the <a href="#C99-spec">C99
 Specification</a> needed to incorporate the functionality of named address
@@ -4282,7 +4298,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="access-qualifiers">1.6. Access Qualifiers</h3>
+<h3 id="access-qualifiers">6.6. Access Qualifiers</h3>
 <div class="paragraph">
 <p>Image objects specified as arguments to a kernel can be declared to be
 read-only, write-only or read-write.
@@ -4333,9 +4349,9 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="function-qualifiers">1.7. Function Qualifiers</h3>
+<h3 id="function-qualifiers">6.7. Function Qualifiers</h3>
 <div class="sect3">
-<h4 id="kernel-or-kernel">1.7.1. <code>__kernel</code> (or <code>kernel</code>)</h4>
+<h4 id="kernel-or-kernel">6.7.1. <code>__kernel</code> (or <code>kernel</code>)</h4>
 <div class="paragraph">
 <p>The <code>__kernel</code> (or <code>kernel</code>) qualifier declares a function to be a kernel
 that can be executed by an application on an OpenCL device(s).
@@ -4378,7 +4394,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="optional-attribute-qualifiers">1.7.2. Optional Attribute Qualifiers</h4>
+<h4 id="optional-attribute-qualifiers">6.7.2. Optional Attribute Qualifiers</h4>
 <div class="paragraph">
 <p>The <code>__kernel</code> qualifier can be used with the keyword <em>attribute</em> to
 declare additional information about the kernel function as described below.</p>
@@ -4511,7 +4527,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="storage-class-specifiers">1.8. Storage-Class Specifiers</h3>
+<h3 id="storage-class-specifiers">6.8. Storage-Class Specifiers</h3>
 <div class="paragraph">
 <p>The <code>typedef</code>, <code>extern</code> and <code>static</code> storage-class specifiers are supported.
 The <code>auto</code> and <code>register</code> storage-class specifiers are not supported.</p>
@@ -4557,7 +4573,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="restrictions">1.9. Restrictions</h3>
+<h3 id="restrictions">6.9. Restrictions</h3>
 <div class="admonitionblock note">
 <table>
 <tr>
@@ -4652,6 +4668,11 @@
 enqueue_kernel are not supported.</p>
 </li>
 <li>
+<p>If a list of parameters in a function declaration is empty, the function
+takes no arguments. This is due to the above restriction on variadic
+prototypes.</p>
+</li>
+<li>
 <p>Unless defined in the OpenCL specification, the library functions,
 macros, types, and constants defined in the C99 standard headers
 <code>assert.h</code>, <code>ctype.h</code>, <code>complex.h</code>, <code>errno.h</code>, <code>fenv.h</code>, <code>float.h</code>,
@@ -4776,7 +4797,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="preprocessor-directives-and-macros">1.10. Preprocessor Directives and Macros</h3>
+<h3 id="preprocessor-directives-and-macros">6.10. Preprocessor Directives and Macros</h3>
 <div class="paragraph">
 <p>The preprocessing directives defined by the C99 specification are supported.</p>
 </div>
@@ -4916,7 +4937,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="attribute-qualifiers">1.11. Attribute Qualifiers</h3>
+<h3 id="attribute-qualifiers">6.11. Attribute Qualifiers</h3>
 <div class="paragraph">
 <p>This section describes the syntax with which <code>__attribute__</code> may be used,
 and the constructs to which attribute specifiers bind.</p>
@@ -4996,7 +5017,7 @@
 in <em>section 11</em> - <strong>References</strong>] for the details.</p>
 </div>
 <div class="sect3">
-<h4 id="specifying-attributes-of-types">1.11.1. Specifying Attributes of Types</h4>
+<h4 id="specifying-attributes-of-types">6.11.1. Specifying Attributes of Types</h4>
 <div class="paragraph">
 <p>The keyword <code>__attribute__</code> allows you to specify special attributes of
 enum, struct and union types when you define such types.
@@ -5132,14 +5153,14 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="specifying-attributes-of-functions">1.11.2. Specifying Attributes of Functions</h4>
+<h4 id="specifying-attributes-of-functions">6.11.2. Specifying Attributes of Functions</h4>
 <div class="paragraph">
 <p>See <a href="#function-qualifiers">Function Qualifiers</a> for the function attribute
 qualifiers currently supported.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="specifying-attributes-of-variables">1.11.3. Specifying Attributes of Variables</h4>
+<h4 id="specifying-attributes-of-variables">6.11.3. Specifying Attributes of Variables</h4>
 <div class="paragraph">
 <p>The keyword <code>__attribute__</code> allows you to specify special attributes of
 variables or structure fields.
@@ -5302,7 +5323,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="specifying-attributes-of-blocks-and-control-flow-statements">1.11.4. Specifying Attributes of Blocks and Control-Flow-Statements</h4>
+<h4 id="specifying-attributes-of-blocks-and-control-flow-statements">6.11.4. Specifying Attributes of Blocks and Control-Flow-Statements</h4>
 <div class="paragraph">
 <p>For basic blocks and control-flow-statements the attribute is placed before
 the structure in question, for example:</p>
@@ -5324,7 +5345,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="specifying-attribute-for-unrolling-loops">1.11.5. Specifying Attribute For Unrolling Loops</h4>
+<h4 id="specifying-attribute-for-unrolling-loops">6.11.5. Specifying Attribute For Unrolling Loops</h4>
 <div class="paragraph">
 <p>The <code>__attribute__((opencl_unroll_hint))</code> and
 <code>__attribute__((opencl_unroll_hint(n)))</code> attribute qualifiers can be used
@@ -5443,7 +5464,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="extending-attribute-qualifiers">1.11.6. Extending Attribute Qualifiers</h4>
+<h4 id="extending-attribute-qualifiers">6.11.6. Extending Attribute Qualifiers</h4>
 <div class="paragraph">
 <p>The attribute syntax can be extended for standard language extensions and
 vendor specific extensions.
@@ -5465,7 +5486,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="blocks">1.12. Blocks</h3>
+<h3 id="blocks">6.12. Blocks</h3>
 <div class="paragraph">
 <p>OpenCL C 2.0 adds support for the clang block syntax<sup>26</sup>.
 Like function types, the Block type is a pair consisting of a result value
@@ -5483,7 +5504,7 @@
 tasks as a block.</p>
 </div>
 <div class="sect3">
-<h4 id="declaring-and-using-a-block">1.12.1. Declaring and Using a Block</h4>
+<h4 id="declaring-and-using-a-block">6.12.1. Declaring and Using a Block</h4>
 <div class="paragraph">
 <p>You use the ^ operator to declare a Block variable and to indicate the
 beginning of a Block literal.
@@ -5518,7 +5539,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="declaring-a-block-reference">1.12.2. Declaring a Block Reference</h4>
+<h4 id="declaring-a-block-reference">6.12.2. Declaring a Block Reference</h4>
 <div class="paragraph">
 <p>Block variables hold references to Blocks.
 You declare them using syntax similar to that you use to declare a pointer
@@ -5557,7 +5578,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="block-literal-expressions">1.12.3. Block Literal Expressions</h4>
+<h4 id="block-literal-expressions">6.12.3. Block Literal Expressions</h4>
 <div class="paragraph">
 <p>A Block literal expression produces a reference to a Block.
 It is introduced by the use of the <strong>^</strong> token as a unary operator.</p>
@@ -5666,7 +5687,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="control-flow">1.12.4. Control Flow</h4>
+<h4 id="control-flow">6.12.4. Control Flow</h4>
 <div class="paragraph">
 <p>The compound statement of a Block is treated much like a function body with
 respect to control flow in that continue, break and goto do not escape the
@@ -5674,7 +5695,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="restrictions-1">1.12.5. Restrictions</h4>
+<h4 id="restrictions-1">6.12.5. Restrictions</h4>
 <div class="paragraph">
 <p>The following Blocks features are currently not supported in OpenCL C.</p>
 </div>
@@ -5871,7 +5892,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="built-in-functions">1.13. Built-in Functions</h3>
+<h3 id="built-in-functions">6.13. Built-in Functions</h3>
 <div class="paragraph">
 <p>The OpenCL C programming language provides a rich set of built-in functions
 for scalar and vector operations.
@@ -5894,7 +5915,7 @@
 that operate on mixed scalar and vector types, however.</p>
 </div>
 <div class="sect3">
-<h4 id="work-item-functions">1.13.1. Work-Item Functions</h4>
+<h4 id="work-item-functions">6.13.1. Work-Item Functions</h4>
 <div class="paragraph">
 <p>The following table describes the list of built-in work-item functions that
 can be used to query the number of dimensions, the global and local work
@@ -5923,8 +5944,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of global work-items specified for dimension
       identified by <em>dimindx</em>.
       This value is given by the <em>global_work_size</em> argument to
-      <strong>clEnqueueNDRangeKernel</strong>.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      <strong>clEnqueueNDRangeKernel</strong>.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_global_size</strong>() returns 1.</p></td>
 </tr>
 <tr>
@@ -5932,8 +5953,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the unique global work-item ID value for dimension identified
       by <em>dimindx</em>.
       The global work-item ID specifies the work-item ID based on the number
-      of global work-items specified to execute the kernel.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      of global work-items specified to execute the kernel.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_global_id</strong>() returns 0.</p></td>
 </tr>
 <tr>
@@ -5946,16 +5967,16 @@
       <em>local_work_size</em> value which is returned by this function.
       If the kernel is executed with a non-uniform work-group size<sup>28</sup>, calls
       to this built-in from some work-groups may return different values
-      than calls to this built-in from other work-groups.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      than calls to this built-in from other work-groups.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_local_size</strong>() returns 1.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_enqueued_local_size</strong>(
       uint <em>dimindx</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the same value as that returned by <strong>get_local_size</strong>(<em>dimindx</em>)
-      if the kernel is executed with a uniform work-group size.</p>
-<p class="tableblock">      If the kernel is executed with a non-uniform work-group size, returns
+      if the kernel is executed with a uniform work-group size.
+</p><p class="tableblock">      If the kernel is executed with a non-uniform work-group size, returns
       the number of local work-items in each of the work-groups that make up
       the uniform region of the global range in the dimension identified by
       <em>dimindx</em>.
@@ -5964,59 +5985,59 @@
       <em>local_work_size</em>[<em>dimindx</em>].
       If <em>local_work_size</em> is <code>NULL</code>, this value will match the local size
       that the implementation determined would be most efficient at
-      implementing the uniform region of the global range.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      implementing the uniform region of the global range.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_enqueued_local_size</strong>() returns 1.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_local_id</strong>(uint <em>dimindx</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the unique local work-item ID, i.e. a work-item within a
-      specific work-group for dimension identified by <em>dimindx</em>.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      specific work-group for dimension identified by <em>dimindx</em>.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_local_id</strong>() returns 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_num_groups</strong>(uint <em>dimindx</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of work-groups that will execute a kernel for
-      dimension identified by <em>dimindx</em>.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      dimension identified by <em>dimindx</em>.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values of <em>dimindx</em>, <strong>get_num_groups</strong>() returns 1.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_group_id</strong>(uint <em>dimindx</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>get_group_id</strong> returns the work-group ID which is a number from 0 ..
-      <strong>get_num_groups</strong>(<em>dimindx</em>) - 1.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      <strong>get_num_groups</strong>(<em>dimindx</em>) - 1.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values, <strong>get_group_id</strong>() returns 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_global_offset</strong>(uint <em>dimindx</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>get_global_offset</strong> returns the offset values specified in
-      <em>global_work_offset</em> argument to <strong>clEnqueueNDRangeKernel</strong>.</p>
-<p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
+      <em>global_work_offset</em> argument to <strong>clEnqueueNDRangeKernel</strong>.
+</p><p class="tableblock">      Valid values of <em>dimindx</em> are 0 to <strong>get_work_dim</strong>() - 1.
       For other values, <strong>get_global_offset</strong>() returns 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_global_linear_id</strong>()</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-items 1-dimensional global ID.</p>
-<p class="tableblock">      For 1D work-groups, it is computed as <strong>get_global_id</strong>(0) -
-      <strong>get_global_offset</strong>(0).</p>
-<p class="tableblock">      For 2D work-groups, it is computed as (<strong>get_global_id</strong>(1) -
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-items 1-dimensional global ID.
+</p><p class="tableblock">      For 1D work-groups, it is computed as <strong>get_global_id</strong>(0) -
+      <strong>get_global_offset</strong>(0).
+</p><p class="tableblock">      For 2D work-groups, it is computed as (<strong>get_global_id</strong>(1) -
       <strong>get_global_offset</strong>(1)) * <strong>get_global_size</strong>(0) + (<strong>get_global_id</strong>(0) -
-      <strong>get_global_offset</strong>(0)).</p>
-<p class="tableblock">      For 3D work-groups, it is computed as <strong>get_global_id</strong>(2) -       <strong>get_global_offset</strong>(2 * <strong>get_global_size</strong>(1) * <strong>get_global_size</strong>(0))
+      <strong>get_global_offset</strong>(0)).
+</p><p class="tableblock">      For 3D work-groups, it is computed as <strong>get_global_id</strong>(2) -       <strong>get_global_offset</strong>(2 * <strong>get_global_size</strong>(1) * <strong>get_global_size</strong>(0))
       + <strong>get_global_id</strong>(1) - <strong>get_global_offset</strong>(1 * <strong>get_global_size</strong>
       (0)) + (<strong>get_global_id</strong>(0) - <strong>get_global_offset</strong>(0)).</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">size_t <strong>get_local_linear_id</strong>()</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-items 1-dimensional local ID.</p>
-<p class="tableblock">      For 1D work-groups, it is the same value as</p>
-<p class="tableblock">      <strong>get_local_id</strong>(0).</p>
-<p class="tableblock">      For 2D work-groups, it is computed as</p>
-<p class="tableblock">      <strong>get_local_id</strong>(1) * <strong>get_local_size</strong>(0) + <strong>get_local_id</strong>(0).</p>
-<p class="tableblock">      For 3D work-groups, it is computed as</p>
-<p class="tableblock">      <strong>(get_local_id</strong>(2) * <strong>get_local_size</strong>(1) * <strong>get_local_size</strong>(0)) + 
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the work-items 1-dimensional local ID.
+</p><p class="tableblock">      For 1D work-groups, it is the same value as
+</p><p class="tableblock">      <strong>get_local_id</strong>(0).
+</p><p class="tableblock">      For 2D work-groups, it is computed as
+</p><p class="tableblock">      <strong>get_local_id</strong>(1) * <strong>get_local_size</strong>(0) + <strong>get_local_id</strong>(0).
+</p><p class="tableblock">      For 3D work-groups, it is computed as
+</p><p class="tableblock">      <strong>(get_local_id</strong>(2) * <strong>get_local_size</strong>(1) * <strong>get_local_size</strong>(0)) + 
       (<strong>get_local_id</strong>(1) * <strong>get_local_size</strong>(0)) + <strong>get_local_id</strong>(0).</p></td>
 </tr>
 </tbody>
@@ -6027,7 +6048,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="math-functions">1.13.2. Math Functions</h4>
+<h4 id="math-functions">6.13.2. Math Functions</h4>
 <div class="paragraph">
 <p>The built-in math functions are categorized into the following:</p>
 </div>
@@ -7052,7 +7073,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="integer-functions">1.13.3. Integer Functions</h4>
+<h4 id="integer-functions">6.13.3. Integer Functions</h4>
 <div class="paragraph">
 <p>The following table describes the built-in integer functions that take
 scalar or vector arguments.
@@ -7348,7 +7369,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="common-functions">1.13.4. Common Functions<sup>33</sup></h4>
+<h4 id="common-functions">6.13.4. Common Functions<sup>33</sup></h4>
 <div class="paragraph">
 <p>[33] The <strong>mix</strong> and <strong>smoothstep</strong> functions can be implemented using
 contractions such as <strong>mad</strong> or <strong>fma</strong>.</p>
@@ -7412,9 +7433,9 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mix</strong>(gentype <em>x</em>, gentype <em>y</em>, gentype <em>a</em>)<br>
   gentypef <strong>mix</strong>(gentypef <em>x</em>, gentypef <em>y</em>, float <em>a</em>)<br>
   gentyped <strong>mix</strong>(gentyped <em>x</em>, gentyped <em>y</em>, double <em>a</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the linear blend of <em>x</em> &amp; <em>y</em> implemented as:</p>
-<p class="tableblock">      <em>x</em> + (<em>y</em> - <em>x</em>) * <em>a</em></p>
-<p class="tableblock">      <em>a</em> must be a value in the range [0.0, 1.0].
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the linear blend of <em>x</em> &amp; <em>y</em> implemented as:
+</p><p class="tableblock">      <em>x</em> + (<em>y</em> - <em>x</em>) * <em>a</em>
+</p><p class="tableblock">      <em>a</em> must be a value in the range [0.0, 1.0].
       If <em>a</em> is not in the range [0.0, 1.0], the return values are
       undefined.</p></td>
 </tr>
@@ -7468,7 +7489,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="geometric-functions">1.13.5. Geometric Functions<sup>34</sup></h4>
+<h4 id="geometric-functions">6.13.5. Geometric Functions<sup>34</sup></h4>
 <div class="paragraph">
 <p>[34] The geometric functions can be implemented using contractions such as
 <strong>mad</strong> or <strong>fma</strong>.</p>
@@ -7533,8 +7554,8 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>fast_length</strong>(float<em>n</em> <em>p</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the length of vector <em>p</em> computed as:</p>
-<p class="tableblock">      <strong>half_sqrt</strong>(<em>p.x</em><sup>2</sup> + <em>p.y</em><sup>2</sup> + &#8230;&#8203;)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the length of vector <em>p</em> computed as:
+</p><p class="tableblock">      <strong>half_sqrt</strong>(<em>p.x</em><sup>2</sup> + <em>p.y</em><sup>2</sup> + &#8230;&#8203;)</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float<em>n</em> <strong>fast_normalize</strong>(float<em>n</em> <em>p</em>)</p></td>
@@ -7586,7 +7607,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="relational-functions">1.13.6. Relational Functions</h4>
+<h4 id="relational-functions">6.13.6. Relational Functions</h4>
 <div class="paragraph">
 <p>The <a href="#operators-relational">relational</a> and <a href="#operators-equality">equality</a>
 operators (<strong>&lt;</strong>, <strong>&lt;=</strong>, <strong>&gt;</strong>, <strong>&gt;=</strong>, <strong>!=</strong>, <strong>==</strong>) can be used with scalar and
@@ -7782,10 +7803,10 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>select</strong>(gentype <em>a</em>, gentype <em>b</em>, igentype <em>c</em>)
   gentype <strong>select</strong>(gentype <em>a</em>, gentype <em>b</em>, ugentype <em>c</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">For each component of a vector type,</p>
-<p class="tableblock">      <em>result[i]</em> = if MSB of <em>c[i]</em> is set ? <em>b[i]</em> : <em>a[i]</em>.</p>
-<p class="tableblock">      For a scalar type, <em>result</em> = <em>c</em> ? <em>b</em> : <em>a</em>.</p>
-<p class="tableblock">      <code>igentype</code> and <code>ugentype</code> must have the same number of elements and
+<td class="tableblock halign-left valign-top"><p class="tableblock">For each component of a vector type,
+</p><p class="tableblock">      <em>result[i]</em> = if MSB of <em>c[i]</em> is set ? <em>b[i]</em> : <em>a[i]</em>.
+</p><p class="tableblock">      For a scalar type, <em>result</em> = <em>c</em> ? <em>b</em> : <em>a</em>.
+</p><p class="tableblock">      <code>igentype</code> and <code>ugentype</code> must have the same number of elements and
       bits as <code>gentype</code><sup>36</sup>.</p></td>
 </tr>
 </tbody>
@@ -7797,7 +7818,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="vector-data-load-and-store-functions">1.13.7. Vector Data Load and Store Functions</h4>
+<h4 id="vector-data-load-and-store-functions">6.13.7. Vector Data Load and Store Functions</h4>
 <div class="paragraph">
 <p>The following table describes the list of supported functions that allow you
 to read and write vector types from a pointer to memory.
@@ -7881,8 +7902,8 @@
       using the appropriate rounding mode.
       The <code>half</code> value is then written to the address computed as <code>(<em>p</em>
       +  <em>offset</em>)</code>.
-      The computed address must be 16-bit aligned.</p>
-<p class="tableblock">      <strong>vstore_half</strong> uses the default rounding mode.
+      The computed address must be 16-bit aligned.
+</p><p class="tableblock">      <strong>vstore_half</strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 <tr>
@@ -7896,8 +7917,8 @@
       <code><em>n</em> * sizeof(half)</code> bytes from the <code>half<em>n</em></code> value are then written to
       the address computed as <code>(<em>p</em>
       +  (<em>offset</em> * <em>n</em>))</code>.
-      The computed address must be 16-bit aligned.</p>
-<p class="tableblock">      <strong>vstore_half<em>n</em></strong> uses the default rounding mode.
+      The computed address must be 16-bit aligned.
+</p><p class="tableblock">      <strong>vstore_half<em>n</em></strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 <tr>
@@ -7910,8 +7931,8 @@
       value using the appropriate rounding mode.
       The <code>half</code> value is then written to the address computed as <code>(<em>p</em>
       +  <em>offset</em>)</code>.
-      The computed address must be 16-bit aligned.</p>
-<p class="tableblock">      <strong>vstore_half</strong> uses the default rounding mode.
+      The computed address must be 16-bit aligned.
+</p><p class="tableblock">      <strong>vstore_half</strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 <tr>
@@ -7924,8 +7945,8 @@
       value using the appropriate rounding mode.
       <code><em>n</em> * sizeof(half)</code> bytes from the <code>half<em>n</em></code> value are then written to
       the address computed as <code>(<em>p</em> +  (<em>offset</em> * <em>n</em>))</code>.
-      The computed address must be 16-bit aligned.</p>
-<p class="tableblock">      <strong>vstore_half<em>n</em></strong> uses the default rounding mode.
+      The computed address must be 16-bit aligned.
+</p><p class="tableblock">      <strong>vstore_half<em>n</em></strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 <tr>
@@ -7940,8 +7961,8 @@
       The data read is interpreted as a <code>half<em>n</em></code> value.
       The <code>half<em>n</em></code> value read is converted to a <code>float<em>n</em></code> value and
       the <code>float<em>n</em></code> value is returned.
-      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.</p>
-<p class="tableblock">      For n = 3, <strong>vloada_half3</strong> reads a <code>half3</code> from the address computed as
+      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.
+</p><p class="tableblock">      For n = 3, <strong>vloada_half3</strong> reads a <code>half3</code> from the address computed as
       <code>(<em>p</em> +  (<em>offset * 4</em>))</code> and returns a <code>float3</code>.
       The computed address must be aligned to <code>sizeof(half)</code> * 4 bytes.</p></td>
 </tr>
@@ -7952,14 +7973,14 @@
   void <strong>vstorea_half<em>n_rtp</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br>
   void <strong>vstorea_half<em>n_rtn</em></strong>(float<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>float<em>n</em></code> value given by <em>data</em> is converted to a <code>half<em>n</em></code>
-      value using the appropriate rounding mode.</p>
-<p class="tableblock">      For n = 2, 4, 8 and 16, the <code>half<em>n</em></code> value is written to the
+      value using the appropriate rounding mode.
+</p><p class="tableblock">      For n = 2, 4, 8 and 16, the <code>half<em>n</em></code> value is written to the
       address computed as <code>(<em>p</em> +  (<em>offset</em> * <em>n</em>))</code>.
-      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.</p>
-<p class="tableblock">      For n = 3, the <code>half3</code> value is written
+      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.
+</p><p class="tableblock">      For n = 3, the <code>half3</code> value is written
       to the address computed as <code>(<em>p</em> +  (<em>offset</em> * 4))</code>.
-      The computed address must be aligned to <code>sizeof(half) * 4</code> bytes.</p>
-<p class="tableblock">      <strong>vstorea_half<em>n</em></strong> uses the default rounding mode.
+      The computed address must be aligned to <code>sizeof(half) * 4</code> bytes.
+</p><p class="tableblock">      <strong>vstorea_half<em>n</em></strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 <tr>
@@ -7969,14 +7990,14 @@
   void <strong>vstorea_half<em>n_rtp</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)<br>
   void <strong>vstorea_half<em>n_rtn</em></strong>(double<em>n</em> <em>data</em>, size_t <em>offset</em>, half *<em>p</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>double<em>n</em></code> value is converted to a <code>half<em>n</em></code> value using the
-      appropriate rounding mode.</p>
-<p class="tableblock">      For n = 2, 4, 8 or 16, the <code>half<em>n</em></code> value is written to the address
+      appropriate rounding mode.
+</p><p class="tableblock">      For n = 2, 4, 8 or 16, the <code>half<em>n</em></code> value is written to the address
       computed as <code>(<em>p</em> +  (<em>offset</em> * <em>n</em>))</code>.
-      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.</p>
-<p class="tableblock">      For n = 3, the <code>half3</code> value is written
+      The computed address must be aligned to <code>sizeof(half<em>n</em>)</code> bytes.
+</p><p class="tableblock">      For n = 3, the <code>half3</code> value is written
       to the address computed as <code>(<em>p</em> +  (<em>offset</em> * 4))</code>.
-      The computed address must be aligned to <code>sizeof(half) * 4</code> bytes.</p>
-<p class="tableblock">      <strong>vstorea_half<em>n</em></strong> uses the default rounding mode.
+      The computed address must be aligned to <code>sizeof(half) * 4</code> bytes.
+</p><p class="tableblock">      <strong>vstorea_half<em>n</em></strong> uses the default rounding mode.
       The default rounding mode is round to nearest even.</p></td>
 </tr>
 </tbody>
@@ -8021,7 +8042,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="synchronization-functions">1.13.8. Synchronization Functions</h4>
+<h4 id="synchronization-functions">6.13.8. Synchronization Functions</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the following synchronization
 functions.</p>
@@ -8049,22 +8070,22 @@
       This function must be encountered by all work-items in a work-group
       executing the kernel.
       These rules apply to ND-ranges implemented with uniform and
-      non-uniform work-groups.</p>
-<p class="tableblock">      If <strong>work_group_barrier</strong> is inside a conditional statement, then all
+      non-uniform work-groups.
+</p><p class="tableblock">      If <strong>work_group_barrier</strong> is inside a conditional statement, then all
       work-items must enter the conditional if any work-item enters the
-      conditional statement and executes the <strong>work_group_barrier</strong>.</p>
-<p class="tableblock">      If <strong>work_group_barrier</strong> is inside a loop, all work-items must execute
+      conditional statement and executes the <strong>work_group_barrier</strong>.
+</p><p class="tableblock">      If <strong>work_group_barrier</strong> is inside a loop, all work-items must execute
       the <strong>work_group_barrier</strong> for each iteration of the loop before any are
-      allowed to continue execution beyond the <strong>work_group_barrier</strong>.</p>
-<p class="tableblock">      The <strong>work_group_barrier</strong> function also supports a variant that
+      allowed to continue execution beyond the <strong>work_group_barrier</strong>.
+</p><p class="tableblock">      The <strong>work_group_barrier</strong> function also supports a variant that
       specifies the memory scope.
       For the <strong>work_group_barrier</strong> variant that does not take a memory
-      scope, the <em>scope</em> is <code>memory_scope_work_group</code>.</p>
-<p class="tableblock">      The <em>scope</em> argument specifies whether the memory accesses of
+      scope, the <em>scope</em> is <code>memory_scope_work_group</code>.
+</p><p class="tableblock">      The <em>scope</em> argument specifies whether the memory accesses of
       work-items in the work-group to memory address space(s) identified by
       <em>flags</em> become visible to all work-items in the work-group, the device
-      or all SVM devices.</p>
-<p class="tableblock">      The <strong>work_group_barrier</strong> function can also be used to specify which
+      or all SVM devices.
+</p><p class="tableblock">      The <strong>work_group_barrier</strong> function can also be used to specify which
       memory operations, i.e. to <code>global</code> memory, <code>local</code> memory or images
       become visible to the appropriate memory scope identified by <em>scope</em>.
       The <em>flags</em> argument specifies the memory address spaces.
@@ -8073,20 +8094,20 @@
       When these flags are OR&#8217;ed together the <strong>work_group_barrier</strong> acts as a
       combined barrier for all address spaces specified by the flags
       ordering memory accesses both within and across the specified address
-      spaces.</p>
-<p class="tableblock">      <code>CLK_LOCAL_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function will ensure
+      spaces.
+</p><p class="tableblock">      <code>CLK_LOCAL_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function will ensure
       that all local memory accesses become visible to all work-items in the
       work-group.
       Note that the value of <em>scope</em> is ignored as the memory scope is
-      always <code>memory_scope_work_group</code>.</p>
-<p class="tableblock">      <code>CLK_GLOBAL_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function ensure that
+      always <code>memory_scope_work_group</code>.
+</p><p class="tableblock">      <code>CLK_GLOBAL_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function ensure that
       all <code>global</code> memory accesses become visible to the appropriate scope
-      as given by <em>scope</em>.</p>
-<p class="tableblock">      <code>CLK_IMAGE_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function will ensure
+      as given by <em>scope</em>.
+</p><p class="tableblock">      <code>CLK_IMAGE_MEM_FENCE</code> - The <strong>work_group_barrier</strong> function will ensure
       that all image memory accesses become visible to the appropriate scope
       as given by <em>scope</em>.
-      The value of <em>scope</em> must be <code>memory_scope_work_group</code>.</p>
-<p class="tableblock">      The values of <em>flags</em> and <em>scope</em> must be the same for all work-items
+      The value of <em>scope</em> must be <code>memory_scope_work_group</code>.
+</p><p class="tableblock">      The values of <em>flags</em> and <em>scope</em> must be the same for all work-items
       in the work-group.</p></td>
 </tr>
 </tbody>
@@ -8100,7 +8121,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="address-space-qualifier-functions">1.13.9. Address Space Qualifier Functions</h4>
+<h4 id="address-space-qualifier-functions">6.13.9. Address Space Qualifier Functions</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the following address space
 qualifier functions.
@@ -8148,7 +8169,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="async-copies">1.13.10. Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch</h4>
+<h4 id="async-copies">6.13.10. Async Copies from Global to Local Memory, Local to Global Memory, and Prefetch</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the following functions that
 provide asynchronous copies between <code>global</code> and local memory and a prefetch
@@ -8190,17 +8211,17 @@
       work-group executing the kernel with the same argument values;
       otherwise the results are undefined.
       This rule applies to ND-ranges implemented with uniform and
-      non-uniform work-groups.</p>
-<p class="tableblock">      Returns an event object that can be used by <strong>wait_group_events</strong> to
+      non-uniform work-groups.
+</p><p class="tableblock">      Returns an event object that can be used by <strong>wait_group_events</strong> to
       wait for the async copy to finish.
       The <em>event</em> argument can also be used to associate the
       <strong>async_work_group_copy</strong> with a previous async copy allowing an event
       to be shared by multiple async copies; otherwise <em>event</em> should be
-      zero.</p>
-<p class="tableblock">      0 can be implicitly and explicitly cast to <code>event_t</code> type.</p>
-<p class="tableblock">      If <em>event</em> argument is non-zero, the event object supplied in <em>event</em>
-      argument will be returned.</p>
-<p class="tableblock">      This function does not perform any implicit synchronization of source
+      zero.
+</p><p class="tableblock">      0 can be implicitly and explicitly cast to <code>event_t</code> type.
+</p><p class="tableblock">      If <em>event</em> argument is non-zero, the event object supplied in <em>event</em>
+      argument will be returned.
+</p><p class="tableblock">      This function does not perform any implicit synchronization of source
       data such as using a <strong>barrier</strong> before performing the copy.</p></td>
 </tr>
 <tr>
@@ -8225,19 +8246,19 @@
       in a work-group executing the kernel with the same argument values;
       otherwise the results are undefined.
       This rule applies to ND-ranges implemented with uniform and
-      non-uniform work-groups</p>
-<p class="tableblock">      Returns an event object that can be used by <strong>wait_group_events</strong> to
+      non-uniform work-groups
+</p><p class="tableblock">      Returns an event object that can be used by <strong>wait_group_events</strong> to
       wait for the async copy to finish.
       The <em>event</em> argument can also be used to associate the
       <strong>async_work_group_strided_copy</strong> with a previous async copy allowing an
       event to be shared by multiple async copies; otherwise <em>event</em> should
-      be zero.</p>
-<p class="tableblock">      0 can be implicitly and explicitly cast to event_t type.</p>
-<p class="tableblock">      If <em>event</em> argument is non-zero, the event object supplied in <em>event</em>
-      argument will be returned.</p>
-<p class="tableblock">      This function does not perform any implicit synchronization of source
-      data such as using a <strong>barrier</strong> before performing the copy.</p>
-<p class="tableblock">      The behavior of <strong>async_work_group_strided_copy</strong> is undefined if
+      be zero.
+</p><p class="tableblock">      0 can be implicitly and explicitly cast to event_t type.
+</p><p class="tableblock">      If <em>event</em> argument is non-zero, the event object supplied in <em>event</em>
+      argument will be returned.
+</p><p class="tableblock">      This function does not perform any implicit synchronization of source
+      data such as using a <strong>barrier</strong> before performing the copy.
+</p><p class="tableblock">      The behavior of <strong>async_work_group_strided_copy</strong> is undefined if
       <em>src_stride</em> or <em>dst_stride</em> is 0, or if the <em>src_stride</em> or
       <em>dst_stride</em> values cause the <em>src</em> or <em>dst</em> pointers to exceed the
       upper bounds of the address space during the copy.</p></td>
@@ -8251,8 +8272,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Wait for events that identify the <strong>async_work_group_copy</strong> operations
       to complete.
       The event objects specified in <em>event_list</em> will be released after the
-      wait is performed.</p>
-<p class="tableblock">      This function must be encountered by all work-items in a work-group
+      wait is performed.
+</p><p class="tableblock">      This function must be encountered by all work-items in a work-group
       executing the kernel with the same <em>num_events</em> and event objects
       specified in <em>event_list</em>; otherwise the results are undefined.
       This rule applies to ND-ranges implemented with uniform and
@@ -8289,7 +8310,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="atomic-functions">1.13.11. Atomic Functions</h4>
+<h4 id="atomic-functions">6.13.11. Atomic Functions</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements a subset of the C11 atomics
 (refer to <a href="#C11-spec">section 7.17 of the C11 Specification</a>) and
@@ -8679,7 +8700,7 @@
 This section specifies each general kind.</p>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_store_functions_strong"><strong>The atomic_store functions</strong></h6>
+<h6 id="__strong_the_atomic_store_functions_strong"><strong>The atomic_store functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c"><span class="directive">void</span> atomic_store(<span class="directive">volatile</span> A *object, C desired)
@@ -8703,7 +8724,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_load_functions_strong"><strong>The atomic_load functions</strong></h6>
+<h6 id="__strong_the_atomic_load_functions_strong"><strong>The atomic_load functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c">C atomic_load(<span class="directive">volatile</span> A *object)
@@ -8724,7 +8745,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_exchange_functions_strong"><strong>The atomic_exchange functions</strong></h6>
+<h6 id="__strong_the_atomic_exchange_functions_strong"><strong>The atomic_exchange functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c">C atomic_exchange(<span class="directive">volatile</span> A *object, C desired)
@@ -8749,7 +8770,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_compare_exchange_functions_strong"><strong>The atomic_compare_exchange functions</strong></h6>
+<h6 id="__strong_the_atomic_compare_exchange_functions_strong"><strong>The atomic_compare_exchange functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c"><span class="predefined-type">bool</span> atomic_compare_exchange_strong(
@@ -8843,7 +8864,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_code_atomic_fetch_code_and_modify_functions_strong"><strong>The <code>atomic_fetch</code> and modify functions</strong></h6>
+<h6 id="__strong_the_code_atomic_fetch_code_and_modify_functions_strong"><strong>The <code>atomic_fetch</code> and modify functions</strong></h6>
 <div class="paragraph">
 <p>The following operations perform arithmetic and bitwise computations.
 All of these operations are applicable to an object of any atomic integer
@@ -8948,7 +8969,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_atomic_flag_type_and_operations_strong"><strong>Atomic flag type and operations</strong></h6>
+<h6 id="__strong_atomic_flag_type_and_operations_strong"><strong>Atomic flag type and operations</strong></h6>
 <div class="paragraph">
 <p>The atomic_flag type provides the classic test-and-set functionality.
 It has two states, <em>set</em> (value is non-zero) and <em>clear</em> (value is 0).
@@ -8974,7 +8995,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_flag_test_and_set_functions_strong"><strong>The atomic_flag_test_and_set functions</strong></h6>
+<h6 id="__strong_the_atomic_flag_test_and_set_functions_strong"><strong>The atomic_flag_test_and_set functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c"><span class="predefined-type">bool</span> atomic_flag_test_and_set(
@@ -8999,7 +9020,7 @@
 </div>
 </div>
 <div class="sect5">
-<h6 id="_strong_the_atomic_flag_clear_functions_strong"><strong>The atomic_flag_clear functions</strong></h6>
+<h6 id="__strong_the_atomic_flag_clear_functions_strong"><strong>The atomic_flag_clear functions</strong></h6>
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="c"><span class="directive">void</span> atomic_flag_clear(<span class="directive">volatile</span> atomic_flag *object)
@@ -9056,7 +9077,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="miscellaneous-vector-functions">1.13.12. Miscellaneous Vector Functions</h4>
+<h4 id="miscellaneous-vector-functions">6.13.12. Miscellaneous Vector Functions</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the following additional
 built-in vector functions.
@@ -9101,11 +9122,11 @@
   int <strong>vec_step</strong>(<em>type</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The <strong>vec_step</strong> built-in function takes a built-in scalar or vector
       data type argument and returns an integer value representing the
-      number of elements in the scalar or vector.</p>
-<p class="tableblock">      For all scalar types, <strong>vec_step</strong> returns 1.</p>
-<p class="tableblock">      The <strong>vec_step</strong> built-in functions that take a 3-component vector
-      return 4.</p>
-<p class="tableblock">      <strong>vec_step</strong> may also take a pure type as an argument, e.g.
+      number of elements in the scalar or vector.
+</p><p class="tableblock">      For all scalar types, <strong>vec_step</strong> returns 1.
+</p><p class="tableblock">      The <strong>vec_step</strong> built-in functions that take a 3-component vector
+      return 4.
+</p><p class="tableblock">      <strong>vec_step</strong> may also take a pure type as an argument, e.g.
       <strong>vec_step</strong>(float2)</p></td>
 </tr>
 <tr>
@@ -9176,7 +9197,7 @@
 </table>
 </div>
 <div class="sect3">
-<h4 id="printf">1.13.13. printf</h4>
+<h4 id="printf">6.13.13. printf</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the <strong>printf</strong> function.</p>
 </div>
@@ -9202,8 +9223,8 @@
       If the format is exhausted while arguments remain, the excess
       arguments are evaluated (as always) but are otherwise ignored.
       The <strong>printf</strong> function returns when the end of the format string is
-      encountered.</p>
-<p class="tableblock">      <strong>printf</strong> returns 0 if it was executed successfully and -1 otherwise.</p></td>
+      encountered.
+</p><p class="tableblock">      <strong>printf</strong> returns 0 if it was executed successfully and -1 otherwise.</p></td>
 </tr>
 </tbody>
 </table>
@@ -9716,7 +9737,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="image-read-and-write-functions">1.13.14. Image Read and Write Functions</h4>
+<h4 id="image-read-and-write-functions">6.13.14. Image Read and Write Functions</h4>
 <div class="paragraph">
 <p>The built-in functions defined in this section can only be used with image
 memory objects.
@@ -9827,9 +9848,9 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether the <em>x</em>, <em>y</em> and <em>z</em> coordinates are passed in as
       normalized or unnormalized values.
       This must be a literal value and can be one of the following
-      predefined enums:</p>
-<p class="tableblock">      <code>CLK_NORMALIZED_COORDS_TRUE</code> or <code>CLK_NORMALIZED_COORDS_FALSE</code>.</p>
-<p class="tableblock">      The samplers used with an image in multiple calls to
+      predefined enums:
+</p><p class="tableblock">      <code>CLK_NORMALIZED_COORDS_TRUE</code> or <code>CLK_NORMALIZED_COORDS_FALSE</code>.
+</p><p class="tableblock">      The samplers used with an image in multiple calls to
       <strong>read_image{f|i|ui}</strong> declared in a kernel must use the same value
       for &lt;normalized coords&gt;.</p></td>
 </tr>
@@ -9838,26 +9859,26 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the image addressing mode, i.e. how out-of-range image
       coordinates are handled.
       This must be a literal value and can be one of the following
-      predefined enums:</p>
-<p class="tableblock">      <code>CLK_ADDRESS_MIRRORED_REPEAT</code> - Flip the image coordinate at every
+      predefined enums:
+</p><p class="tableblock">      <code>CLK_ADDRESS_MIRRORED_REPEAT</code> - Flip the image coordinate at every
       integer junction.
       This addressing mode can only be used with normalized coordinates.
       If normalized coordinates are not used, this addressing mode may
-      generate image coordinates that are undefined.</p>
-<p class="tableblock">      <code>CLK_ADDRESS_REPEAT</code> - out-of-range image coordinates are wrapped to
+      generate image coordinates that are undefined.
+</p><p class="tableblock">      <code>CLK_ADDRESS_REPEAT</code> - out-of-range image coordinates are wrapped to
       the valid range.
       This addressing mode can only be used with normalized coordinates.
       If normalized coordinates are not used, this addressing mode may
-      generate image coordinates that are undefined.</p>
-<p class="tableblock">      <code>CLK_ADDRESS_CLAMP_TO_EDGE</code> - out-of-range image coordinates are
-      clamped to the extent.</p>
-<p class="tableblock">      <code>CLK_ADDRESS_CLAMP</code><sup>57</sup> - out-of-range image coordinates will return a
-      border color.</p>
-<p class="tableblock">      <code>CLK_ADDRESS_NONE</code> - for this addressing mode the programmer
+      generate image coordinates that are undefined.
+</p><p class="tableblock">      <code>CLK_ADDRESS_CLAMP_TO_EDGE</code> - out-of-range image coordinates are
+      clamped to the extent.
+</p><p class="tableblock">      <code>CLK_ADDRESS_CLAMP</code><sup>57</sup> - out-of-range image coordinates will return a
+      border color.
+</p><p class="tableblock">      <code>CLK_ADDRESS_NONE</code> - for this addressing mode the programmer
       guarantees that the image coordinates used to sample elements of the
       image refer to a location inside the image; otherwise the results are
-      undefined.</p>
-<p class="tableblock">      For 1D and 2D image arrays, the addressing mode applies only to the
+      undefined.
+</p><p class="tableblock">      For 1D and 2D image arrays, the addressing mode applies only to the
       <em>x</em> and (<em>x, y</em>) coordinates.
       The addressing mode for the coordinate which specifies the array index
       is always <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>.</p></td>
@@ -9866,8 +9887,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>&lt;filter mode&gt;</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the filter mode to use.
       This must be a literal value and can be one of the following
-      predefined enums: <code>CLK_FILTER_NEAREST</code> or <code>CLK_FILTER_LINEAR</code>.</p>
-<p class="tableblock">      Refer to the <a href="#addressing-and-filter-modes">detailed description of
+      predefined enums: <code>CLK_FILTER_NEAREST</code> or <code>CLK_FILTER_LINEAR</code>.
+</p><p class="tableblock">      Refer to the <a href="#addressing-and-filter-modes">detailed description of
       these filter modes</a>.</p></td>
 </tr>
 </tbody>
@@ -9968,22 +9989,22 @@
   float4 <strong>read_imagef</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>,
   float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      the 2D image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10001,28 +10022,28 @@
   uint4 <strong>read_imageui</strong>(read_only image2d_t <em>image</em>, sampler_t <em>sampler</em>,
   float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      the 2D image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively.
-      Each channel will be stored in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      Each channel will be stored in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imageui</strong> are undefined.</p>
-<p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imageui</strong> are undefined.
+</p><p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
       The filter_mode specified in <em>sampler</em> must be set to
-      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
+      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
       coordinates must use a sampler with normalized coordinates set to
       <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
       <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
@@ -10039,22 +10060,22 @@
   float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>, <em>coord.z</em>) to do an element
       lookup in the 3D image object specified by <em>image</em>.
-      <em>coord.w</em> is ignored.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.w</em> is ignored.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description are
       undefined.</p></td>
 </tr>
@@ -10073,28 +10094,28 @@
   float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>, <em>coord.z</em>) to do an element
       lookup in the 3D image object specified by <em>image</em>.
-      <em>coord.w</em> is ignored.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.w</em> is ignored.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively.
-      Each channel will be stored in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      Each channel will be stored in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imageui</strong> are undefined.</p>
-<p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imageui</strong> are undefined.
+</p><p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
       The filter_mode specified in <em>sampler</em> must be set to
-      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
+      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
       coordinates must use a sampler with normalized coordinates set to
       <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
       <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
@@ -10110,22 +10131,22 @@
   float4 <strong>read_imagef</strong>(read_only image2d_array_t <em>image</em>,
   sampler_t <em>sampler</em>, float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with image_channel_data_type set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with image_channel_data_type set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       image_channel_data_type values not specified in the description above
       are undefined.</p></td>
 </tr>
@@ -10139,28 +10160,28 @@
   uint4 <strong>read_imageui</strong>(read_only image2d_array_t <em>image</em>,
   sampler_t <em>sampler</em>, float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively.
-      Each channel will be stored in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      Each channel will be stored in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imageui</strong> are undefined.</p>
-<p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imageui</strong> are undefined.
+</p><p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
       The filter_mode specified in <em>sampler</em> must be set to
-      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
+      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
       coordinates must use a sampler with normalized coordinates set to
       <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
       <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
@@ -10176,22 +10197,22 @@
   float4 <strong>read_imagef</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>,
   float <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image object specified
-      by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10209,28 +10230,28 @@
   uint4 <strong>read_imageui</strong>(read_only image1d_t <em>image</em>, sampler_t <em>sampler</em>,
   float <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image object specified
-      by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively.
-      Each channel will be stored in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      Each channel will be stored in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imageui</strong> are undefined.</p>
-<p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imageui</strong> are undefined.
+</p><p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
       The filter_mode specified in <em>sampler</em> must be set to
-      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
+      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
       coordinates must use a sampler with normalized coordinates set to
       <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
       <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
@@ -10246,22 +10267,22 @@
   float4 <strong>read_imagef</strong>(read_only image1d_array_t <em>image</em>,
   sampler_t <em>sampler</em>, float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by
-      <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.y</em> in the 1D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with image_channel_data_type set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with image_channel_data_type set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with image_channel_data_type set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       image_channel_data_type values not specified in the description above
       are undefined.</p></td>
 </tr>
@@ -10275,28 +10296,28 @@
   uint4 <strong>read_imageui</strong>(read_only image1d_array_t <em>image</em>,
   sampler_t <em>sampler</em>, float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by
-      <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.y</em> in the 1D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively. Each channel will be stored
-      in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imageui</strong> are undefined.</p>
-<p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imageui</strong> are undefined.
+</p><p class="tableblock">      The <strong>read_image{i|ui}</strong> calls support a nearest filter only.
       The filter_mode specified in <em>sampler</em> must be set to
-      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
+      <code>CLK_FILTER_NEAREST</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Furthermore, the <strong>read_image{i|ui}</strong> calls that take integer
       coordinates must use a sampler with normalized coordinates set to
       <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
       <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
@@ -10312,18 +10333,18 @@
   float <strong>read_imagef</strong>(read_only image2d_depth_t <em>image</em>,
   sampler_t <em>sampler</em>, float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D depth image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
+      the 2D depth image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
       for depth image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
-      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
+      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for depth image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for depth image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10337,18 +10358,18 @@
   float <strong>read_imagef</strong>(read_only image2d_array_depth_t <em>image</em>,
   sampler_t <em>sampler</em>, float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
+      <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
       for depth image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
-      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
+      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
+      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.
+</p><p class="tableblock">      The <strong>read_imagef</strong> calls that take integer coordinates must use a
       sampler with filter mode set to <code>CLK_FILTER_NEAREST</code>, normalized
       coordinates set to <code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode
       set to <code>CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code>CLK_ADDRESS_CLAMP</code> or
-      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10366,7 +10387,13 @@
 <a href="#built-in-image-read-functions">built-in image read functions</a> that take
 integer coordinates and a sampler with filter mode set to
 <code>CLK_FILTER_NEAREST</code>, normalized coordinates set to
-<code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode to <code>CLK_ADDRESS_NONE</code>.</p>
+<code>CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode to <code>CLK_ADDRESS_NONE</code>.
+There is one exception when the <em>image_channel_data_type</em> is a floating
+point type (such as <code>CL_FLOAT</code>).
+In this exceptional case, when channel data values are denormalized, the
+sampler-less image read function may return the denormalized data, while
+the image read function with a sampler argument may flush the denormalized
+channel data values to zero.</p>
 </div>
 <div class="paragraph">
 <p><em>aQual</em> in the following table refers to one of the access qualifiers.
@@ -10386,17 +10413,17 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      the 2D image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10408,23 +10435,23 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)<br>
   uint4 <strong>read_imageui</strong>(<em>aQual</em> image2d_t <em>image</em>, int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      the 2D image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively. Each channel will be stored
-      in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
       values returned by <strong>read_imageui</strong> are undefined.</p></td>
 </tr>
 <tr>
@@ -10435,17 +10462,17 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em> )</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>, <em>coord.z</em>) to do an element
       lookup in the 3D image object specified by <em>image</em>.
-      <em>coord.w</em> is ignored.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.w</em> is ignored.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description are
       undefined.</p></td>
 </tr>
@@ -10458,23 +10485,23 @@
   uint4 <strong>read_imageui</strong>(<em>aQual</em> image3d_t <em>image</em>, int4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>, <em>coord.z</em>) to do an element
       lookup in the 3D image object specified by <em>image</em>.
-      <em>coord.w</em> is ignored.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.w</em> is ignored.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively.
-      Each channel will be stored in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      Each channel will be stored in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
       values returned by <strong>read_imageui</strong> are undefined.</p></td>
 </tr>
 <tr>
@@ -10484,17 +10511,17 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10506,23 +10533,23 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)<br>
   uint4 <strong>read_imageui</strong>(<em>aQual</em> image2d_array_t <em>image</em>, int4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively. Each channel will be stored
-      in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
       values returned by <strong>read_imageui</strong> are undefined.</p></td>
 </tr>
 <tr>
@@ -10533,17 +10560,17 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image1d_t <em>image</em>, int <em>coord</em>)<br>
   float4 <strong>read_imagef</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image or 1D image buffer
-      object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10557,23 +10584,23 @@
   int4 <strong>read_imagei</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>)<br>
   uint4 <strong>read_imageui</strong>(<em>aQual</em> image1d_buffer_t <em>image</em>, int <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image or 1D image buffer
-      object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively. Each channel will be stored
-      in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
       values returned by <strong>read_imageui</strong> are undefined.</p></td>
 </tr>
 <tr>
@@ -10583,17 +10610,17 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float4 <strong>read_imagef</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by
-      <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
+      <em>coord.y</em> in the 1D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [0.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to one of
       the pre-defined packed formats or <code>CL_UNORM_INT8</code>, or
-      <code>CL_UNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
+      <code>CL_UNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values in the range [-1.0, 1.0]
       for image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
-      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_SNORM_INT8</code>, or <code>CL_SNORM_INT16</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns floating-point values for image objects created
+      with <em>image_channel_data_type</em> set to <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10605,23 +10632,23 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">int4 <strong>read_imagei</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)<br>
   uint4 <strong>read_imageui</strong>(<em>aQual</em> image1d_array_t <em>image</em>, int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by
-      <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
+      <em>coord.y</em> in the 1D image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagei</strong> and <strong>read_imageui</strong> return unnormalized signed integer
       and unsigned integer values respectively. Each channel will be stored
-      in a 32-bit integer.</p>
-<p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      in a 32-bit integer.
+</p><p class="tableblock">      <strong>read_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
-      values returned by <strong>read_imagei</strong> are undefined.</p>
-<p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      values returned by <strong>read_imagei</strong> are undefined.
+</p><p class="tableblock">      <strong>read_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      If the <em>image_channel_data_type</em> is not one of the above values, the
       values returned by <strong>read_imageui</strong> are undefined.</p></td>
 </tr>
 <tr>
@@ -10631,13 +10658,13 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>read_imagef</strong>(<em>aQual</em> image2d_depth_t <em>image</em>, int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate (<em>coord.x</em>, <em>coord.y</em>) to do an element lookup in
-      the 2D depth image object specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
+      the 2D depth image object specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
       for depth image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
-      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
+      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10648,13 +10675,13 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">float <strong>read_imagef</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>, int4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-      <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
+      <em>coord.z</em> in the 2D depth image array specified by <em>image</em>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value in the range [0.0, 1.0]
       for depth image objects created with <em>image_channel_data_type</em> set to
-      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.</p>
-<p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
-      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.</p>
-<p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
+      <code>CL_UNORM_INT16</code> or <code>CL_UNORM_INT24</code>.
+</p><p class="tableblock">      <strong>read_imagef</strong> returns a floating-point value for depth image objects
+      created with <em>image_channel_data_type</em> set to <code>CL_FLOAT</code>.
+</p><p class="tableblock">      Values returned by <strong>read_imagef</strong> for image objects with
       <em>image_channel_data_type</em> values not specified in the description
       above are undefined.</p></td>
 </tr>
@@ -10698,25 +10725,25 @@
       done before writing the color value.
       <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates,
       and must be in the range [0, image width-1] and [0, image height-1]
-      respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to one of the pre-defined packed formats
       or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>,
       <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert channel
       data from a floating-point value to actual data format in which the
-      channels are stored.</p>
-<p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      channels are stored.
+</p><p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above or with <em>x</em> and <em>y</em> coordinate
       values that are not in the range [0, image width-1] and [0, image
@@ -10740,25 +10767,25 @@
       done before writing the color value.
       <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized
       coordinates, and must be in the range [0, image width-1] and [0, image
-      height-1], and [0, image number of layers-1], respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      height-1], and [0, image number of layers-1], respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to one of the pre-defined packed formats
       or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>,
       <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert channel
       data from a floating-point value to actual data format in which the
-      channels are stored.</p>
-<p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      channels are stored.
+</p><p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate
       values that are not in the range [0, image width-1], [0, image
@@ -10787,25 +10814,25 @@
       Appropriate data format conversion to the specified image format is
       done before writing the color value.
       <em>coord</em> is considered to be an unnormalized coordinate, and must be in
-      the range [0, image width-1].</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      the range [0, image width-1].
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to one of the pre-defined packed formats
       or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>,
       <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert channel
       data from a floating-point value to actual data format in which the
-      channels are stored.</p>
-<p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      channels are stored.
+</p><p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above, or with a coordinate value that is
       not in the range [0, image width-1], is undefined.</p></td>
@@ -10827,25 +10854,25 @@
       done before writing the color value.
       <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates
       and must be in the range [0, image width-1] and [0, image number of
-      layers-1], respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      layers-1], respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to one of the pre-defined packed formats
       or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>,
       <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert channel
       data from a floating-point value to actual data format in which the
-      channels are stored.</p>
-<p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      channels are stored.
+</p><p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
-      <em>image_channel_data_type</em> set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
+      <em>image_channel_data_type</em> set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above or with (<em>x</em>, <em>y</em>) coordinate
       values that are not in the range [0, image width-1] and [0, image
@@ -10864,14 +10891,14 @@
       done before writing the depth value.
       <em>coord.x</em> and <em>coord.y</em> are considered to be unnormalized coordinates,
       and must be in the range [0, image width-1], and [0, image height-1],
-      respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to <code>CL_UNORM_INT16</code>, <code>CL_UNORM_INT24</code> or
       <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert depth valye
       from a floating-point value to actual data format associated with the
-      image.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      image.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above or with (<em>x</em>, <em>y</em>) coordinate
       values that are not in the range [0, image width-1] and [0, image
@@ -10891,14 +10918,14 @@
       done before writing the depth value.
       <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized
       coordinates, and must be in the range [0, image width-1], [0, image
-      height-1], and [0, image number of layers-1], respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      height-1], and [0, image number of layers-1], respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       <em>image_channel_data_type</em> set to <code>CL_UNORM_INT16</code>, <code>CL_UNORM_INT24</code> or
       <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert depth valye
       from a floating-point value to actual data format associated with the
-      image.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      image.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects created with <em>image_channel_data_type</em> values not
       specified in the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate
       values that are not in the range [0, image width-1], [0, image
@@ -10921,25 +10948,25 @@
       done before writing the color value.
       <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are considered to be unnormalized
       coordinates, and must be in the range [0, image width-1], [0, image
-      height-1], and [0, image depth-1], respectively.</p>
-<p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
+      height-1], and [0, image depth-1], respectively.
+</p><p class="tableblock">      <strong>write_imagef</strong> can only be used with image objects created with
       image_channel_data_type set to one of the pre-defined packed formats
       or set to <code>CL_SNORM_INT8</code>, <code>CL_UNORM_INT8</code>, <code>CL_SNORM_INT16</code>,
       <code>CL_UNORM_INT16</code>, <code>CL_HALF_FLOAT</code> or <code>CL_FLOAT</code>.
       Appropriate data format conversion will be done to convert channel
       data from a floating-point value to actual data format in which the
-      channels are stored.</p>
-<p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
-      image_channel_data_type set to one of the following values:</p>
-<p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
+      channels are stored.
+</p><p class="tableblock">      <strong>write_imagei</strong> can only be used with image objects created with
+      image_channel_data_type set to one of the following values:
+</p><p class="tableblock">      <code>CL_SIGNED_INT8</code>,<br>
       <code>CL_SIGNED_INT16</code> and<br>
-      <code>CL_SIGNED_INT32</code>.</p>
-<p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
-      image_channel_data_type set to one of the following values:</p>
-<p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
+      <code>CL_SIGNED_INT32</code>.
+</p><p class="tableblock">      <strong>write_imageui</strong> can only be used with image objects created with
+      image_channel_data_type set to one of the following values:
+</p><p class="tableblock">      <code>CL_UNSIGNED_INT8</code>,<br>
       <code>CL_UNSIGNED_INT16</code> and<br>
-      <code>CL_UNSIGNED_INT32</code>.</p>
-<p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
+      <code>CL_UNSIGNED_INT32</code>.
+</p><p class="tableblock">      The behavior of <strong>write_imagef</strong>, <strong>write_imagei</strong> and <strong>write_imageui</strong> for
       image objects with <em>image_channel_data_type</em> values not specified in
       the description above or with (<em>x</em>, <em>y</em>, <em>z</em>) coordinate values that
       are not in the range [0, image width-1], [0, image height-1], and [0,
@@ -11005,8 +11032,8 @@
   int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br>
   int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br>
   int <strong>get_image_channel_data_type</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Return the channel data type. Valid values are:</p>
-<p class="tableblock">      <code>CLK_SNORM_INT8</code><br>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Return the channel data type. Valid values are:
+</p><p class="tableblock">      <code>CLK_SNORM_INT8</code><br>
       <code>CLK_SNORM_INT16</code><br>
       <code>CLK_UNORM_INT8</code><br>
       <code>CLK_UNORM_INT16</code><br>
@@ -11031,8 +11058,8 @@
   int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_t <em>image</em>)<br>
   int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_depth_t <em>image</em>)<br>
   int <strong>get_image_channel_order</strong>(<em>aQual</em> image2d_array_depth_t <em>image</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Return the image channel order. Valid values are:</p>
-<p class="tableblock">      <code>CLK_A</code><br>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Return the image channel order. Valid values are:
+</p><p class="tableblock">      <code>CLK_A</code><br>
       <code>CLK_R</code><br>
       <code>CLK_Rx</code><br>
       <code>CLK_RG</code><br>
@@ -11225,7 +11252,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="work-group-functions">1.13.15. Work-group Functions</h4>
+<h4 id="work-group-functions">6.13.15. Work-group Functions</h4>
 <div class="paragraph">
 <p>The OpenCL C programming language implements the following built-in
 functions that operate on a work-group level.
@@ -11271,8 +11298,8 @@
   gentype <strong>work_group_broadcast</strong>(gentype <em>a</em>, size_t <em>local_id</em>x,
   size_t _local_id__y, size_t _local_id_z</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast the value of <em>x</em> for work-item identified by <em>local_id</em> to
-      all work-items in the work-group.</p>
-<p class="tableblock">      <em>local_id</em> must be the same value for all work-items in the
+      all work-items in the work-group.
+</p><p class="tableblock">      <em>local_id</em> must be the same value for all work-items in the
       work-group.</p></td>
 </tr>
 <tr>
@@ -11284,16 +11311,16 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>work_group_scan_exclusive_&lt;op&gt;</strong>(gentype <em>x</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Do an exclusive scan operation specified by <strong>&lt;op&gt;</strong> of all values
       specified by work-items in the work-group. The scan results are
-      returned for each work-item.</p>
-<p class="tableblock">      The scan order is defined by increasing 1D linear global ID within the
+      returned for each work-item.
+</p><p class="tableblock">      The scan order is defined by increasing 1D linear global ID within the
       work-group.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>work_group_scan_inclusive_&lt;op&gt;</strong>(gentype <em>x</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Do an inclusive scan operation specified by <strong>&lt;op&gt;</strong> of all values
       specified by work-items in the work-group. The scan results are
-      returned for each work-item.</p>
-<p class="tableblock">      The scan order is defined by increasing 1D linear global ID within the
+      returned for each work-item.
+</p><p class="tableblock">      The scan order is defined by increasing 1D linear global ID within the
       work-group.</p></td>
 </tr>
 </tbody>
@@ -11365,7 +11392,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="pipe-functions">1.13.16. Pipe Functions</h4>
+<h4 id="pipe-functions">6.13.16. Pipe Functions</h4>
 <div class="paragraph">
 <p>A pipe is identified by specifying the <code>pipe</code> keyword with a type.
 The data type specifies the size of each packet in the pipe.
@@ -11482,19 +11509,19 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>read_pipe</strong>(read_only pipe gentype <em>p</em>, reserve_id_t <em>reserve_id</em>,
   uint <em>index</em>, gentype *<em>ptr</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Read packet from the reserved area of the pipe referred to by
-      <em>reserve_id</em> and <em>index</em> into <em>ptr</em>.</p>
-<p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
-      &#8230;&#8203; <em>num_packets</em> - 1.</p>
-<p class="tableblock">      Returns 0 if <strong>read_pipe</strong> is successful and a negative value otherwise.</p></td>
+      <em>reserve_id</em> and <em>index</em> into <em>ptr</em>.
+</p><p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
+      &#8230;&#8203; <em>num_packets</em> - 1.
+</p><p class="tableblock">      Returns 0 if <strong>read_pipe</strong> is successful and a negative value otherwise.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>write_pipe</strong>(write_only pipe gentype <em>p</em>, reserve_id_t
   <em>reserve_id</em>, uint <em>index</em>, const gentype *<em>ptr</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Write packet specified by <em>ptr</em> to the reserved area of the pipe
-      referred to by <em>reserve_id</em> and <em>index</em>.</p>
-<p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
-      &#8230;&#8203; <em>num_packets</em> - 1.</p>
-<p class="tableblock">      Returns 0 if <strong>write_pipe</strong> is successful and a negative value
+      referred to by <em>reserve_id</em> and <em>index</em>.
+</p><p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
+      &#8230;&#8203; <em>num_packets</em> - 1.
+</p><p class="tableblock">      Returns 0 if <strong>write_pipe</strong> is successful and a negative value
       otherwise.</p></td>
 </tr>
 <tr>
@@ -11561,8 +11588,8 @@
   reserve_id_t <strong>work_group_reserve_write_pipe</strong>(write_only pipe gentype <em>p</em>,
   uint <em>num_packets</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Reserve <em>num_packets</em> entries for reading from or writing to pipe <em>p</em>.
-      Returns a valid reservation ID if the reservation is successful.</p>
-<p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
+      Returns a valid reservation ID if the reservation is successful.
+</p><p class="tableblock">      The reserved pipe entries are referred to by indices that go from 0
       &#8230;&#8203; <em>num_packets</em> - 1.</p></td>
 </tr>
 <tr>
@@ -11716,7 +11743,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="enqueuing-kernels">1.13.17. Enqueuing Kernels</h4>
+<h4 id="enqueuing-kernels">6.13.17. Enqueuing Kernels</h4>
 <div class="paragraph">
 <p>OpenCL 2.0 allows a kernel to independently enqueue to the same device,
 without host interaction.
@@ -11763,8 +11790,8 @@
   const ndrange_t <em>ndrange</em>, uint <em>num_events_in_wait_list</em>,
   const clk_event_t *<em>event_wait_list</em>, clk_event_t *<em>event_ret</em>,
   void (^<em>block</em>)(local void *, &#8230;&#8203;), uint size0, &#8230;&#8203;)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Enqueue the block for execution to <em>queue</em>.</p>
-<p class="tableblock">      If an event is returned, <strong>enqueue_kernel</strong> performs an implicit retain
+<td class="tableblock halign-left valign-top"><p class="tableblock">Enqueue the block for execution to <em>queue</em>.
+</p><p class="tableblock">      If an event is returned, <strong>enqueue_kernel</strong> performs an implicit retain
       on the returned event.</p></td>
 </tr>
 </tbody>
@@ -12181,8 +12208,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_work_group_size</strong>(void (^block)(void))<br>
   uint <strong>get_kernel_work_group_size</strong>(void (^block)(local void *, &#8230;&#8203;))</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">This provides a mechanism to query the maximum work-group size that
-      can be used to execute a block on a specific device given by <em>device</em>.</p>
-<p class="tableblock">      <em>block</em> specifies the block to be enqueued.</p></td>
+      can be used to execute a block on a specific device given by <em>device</em>.
+</p><p class="tableblock">      <em>block</em> specifies the block to be enqueued.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_preferred_</strong> <strong>work_group_size_multiple</strong>(
@@ -12219,11 +12246,11 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">int <strong>enqueue_marker</strong>(queue_t <em>queue</em>, uint <em>num_events_in_wait_list</em>,
   const clk_event_t *<em>event_wait_list</em>, clk_event_t *<em>event_ret</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Enqueue a marker command to <em>queue</em>.</p>
-<p class="tableblock">      The marker command waits for a list of events specified by
-      <em>event_wait_list</em> to complete before the marker completes.</p>
-<p class="tableblock">      <em>event_ret</em> must not be <code>NULL</code> as otherwise this is a no-op.</p>
-<p class="tableblock">      If an event is returned, <strong>enqueue_marker</strong> performs an implicit retain
+<td class="tableblock halign-left valign-top"><p class="tableblock">Enqueue a marker command to <em>queue</em>.
+</p><p class="tableblock">      The marker command waits for a list of events specified by
+      <em>event_wait_list</em> to complete before the marker completes.
+</p><p class="tableblock">      <em>event_ret</em> must not be <code>NULL</code> as otherwise this is a no-op.
+</p><p class="tableblock">      If an event is returned, <strong>enqueue_marker</strong> performs an implicit retain
       on the returned event.</p></td>
 </tr>
 </tbody>
@@ -12291,8 +12318,8 @@
       The event object is deleted once the event reference count is zero,
       the specific command identified by this event has completed (or
       terminated) and there are no commands in any device command queue that
-      require a wait for this event to complete.</p>
-<p class="tableblock">      <em>event</em> must be an event returned by enqueue_kernel, enqueue_marker or
+      require a wait for this event to complete.
+</p><p class="tableblock">      <em>event</em> must be an event returned by enqueue_kernel, enqueue_marker or
       a user event.</p></td>
 </tr>
 <tr>
@@ -12330,17 +12357,17 @@
       The specific function being referred to is: enqueue_kernel.
       These enqueued commands are identified by unique event objects.
       The profiling information will be available in <em>value</em> once the
-      command identified by <em>event</em> has completed.&#8201;&#8212;&#8201;<em>event</em> must be an event returned by enqueue_kernel.</p>
-<p class="tableblock"><em>name</em> identifies which profiling information is to be queried and can be:</p>
-<p class="tableblock">  <code>CLK_PROFILING_COMMAND_EXEC_TIME</code></p>
-<p class="tableblock"><em>value</em> is a pointer to two 64-bit values.</p>
-<p class="tableblock">The first 64-bit value describes the elapsed time <code>CL_PROFILING_COMMAND_END</code>
+      command identified by <em>event</em> has completed.&#8201;&#8212;&#8201;<em>event</em> must be an event returned by enqueue_kernel.
+</p><p class="tableblock"><em>name</em> identifies which profiling information is to be queried and can be:
+</p><p class="tableblock">  <code>CLK_PROFILING_COMMAND_EXEC_TIME</code>
+</p><p class="tableblock"><em>value</em> is a pointer to two 64-bit values.
+</p><p class="tableblock">The first 64-bit value describes the elapsed time <code>CL_PROFILING_COMMAND_END</code>
 - <code>CL_PROFLING_COMMAND_START</code> for the command identified by <em>event</em> in
-nanoseconds.</p>
-<p class="tableblock">The second 64-bit value describes the elapsed time
+nanoseconds.
+</p><p class="tableblock">The second 64-bit value describes the elapsed time
 <code>CL_PROFILING_COMMAND_COMPLETE</code> - <code>CL_PROFILING_COMAMND_START</code> for the
-command identified by <em>event</em> in nanoseconds.</p>
-<p class="tableblock">[NOTE]
+command identified by <em>event</em> in nanoseconds.
+</p><p class="tableblock">[NOTE]
 ====
 The behavior of capture_event_profiling_info when called multiple times for
 the same <em>event</em> is undefined.
@@ -12509,7 +12536,7 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="opencl-numerical-compliance">2. OpenCL Numerical Compliance</h2>
+<h2 id="opencl-numerical-compliance">7. OpenCL Numerical Compliance</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>This section describes features of the <a href="#C99-spec">C99</a> and IEEE 754
@@ -12522,7 +12549,7 @@
 Double precision floating-point is an optional feature.</p>
 </div>
 <div class="sect2">
-<h3 id="rounding-modes-1">2.1. Rounding Modes</h3>
+<h3 id="rounding-modes-1">7.1. Rounding Modes</h3>
 <div class="paragraph">
 <p>Floating-point calculations may be carried out internally with extra
 precision and then rounded to fit into the destination type.
@@ -12558,7 +12585,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="inf-nan-and-denormalized-numbers">2.2. INF, NaN and Denormalized Numbers</h3>
+<h3 id="inf-nan-and-denormalized-numbers">7.2. INF, NaN and Denormalized Numbers</h3>
 <div class="paragraph">
 <p><code>INF</code> and NaNs must be supported.
 Support for signaling NaNs is not required.</p>
@@ -12574,7 +12601,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="floating-point-exceptions">2.3. Floating-Point Exceptions</h3>
+<h3 id="floating-point-exceptions">7.3. Floating-Point Exceptions</h3>
 <div class="paragraph">
 <p>Floating-point exceptions are disabled in OpenCL.
 The result of a floating-point exception must match the IEEE 754 spec for
@@ -12612,7 +12639,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="relative-error-as-ulps">2.4. Relative Error as ULPs</h3>
+<h3 id="relative-error-as-ulps">7.4. Relative Error as ULPs</h3>
 <div class="paragraph">
 <p>In this section we discuss the maximum relative error defined as ulp (units
 in the last place).
@@ -14045,14 +14072,14 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="edge-case-behavior">2.5. Edge Case Behavior</h3>
+<h3 id="edge-case-behavior">7.5. Edge Case Behavior</h3>
 <div class="paragraph">
 <p>The edge case behavior of the <a href="#math-functions">math functions</a> shall
 conform to <a href="#C99-spec">sections F.9 and G.6 of the C99 Specification</a>,
 except <a href="#additional-requirements-beyond-c99-tc2">where noted below</a>.</p>
 </div>
 <div class="sect3">
-<h4 id="additional-requirements-beyond-c99-tc2">2.5.1. Additional Requirements Beyond C99 TC2</h4>
+<h4 id="additional-requirements-beyond-c99-tc2">7.5.1. Additional Requirements Beyond C99 TC2</h4>
 <div class="paragraph">
 <p>Functions that return a NaN with more than one NaN operand shall return one
 of the NaN operands.
@@ -14432,7 +14459,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="changes-to-c99-tc2-behavior">2.5.2. Changes to C99 TC2 Behavior</h4>
+<h4 id="changes-to-c99-tc2-behavior">7.5.2. Changes to C99 TC2 Behavior</h4>
 <div class="paragraph">
 <p><strong>modf</strong> behaves as though implemented by:</p>
 </div>
@@ -14451,7 +14478,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="edge-case-behavior-in-flush-to-zero-mode">2.5.3. Edge Case Behavior in Flush To Zero Mode</h4>
+<h4 id="edge-case-behavior-in-flush-to-zero-mode">7.5.3. Edge Case Behavior in Flush To Zero Mode</h4>
 <div class="paragraph">
 <p>If denormals are flushed to zero, then a function may return one of four
 results:</p>
@@ -14522,7 +14549,7 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="image-addressing-and-filtering">3. Image Addressing and Filtering</h2>
+<h2 id="image-addressing-and-filtering">8. Image Addressing and Filtering</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Let w<sub>t</sub>, h<sub>t</sub> and d<sub>t</sub> be the width, height (or image array size for a 1D
@@ -14534,7 +14561,7 @@
 sample the image and return an appropriate color.</p>
 </div>
 <div class="sect2">
-<h3 id="image-coordinates">3.1. Image Coordinates</h3>
+<h3 id="image-coordinates">8.1. Image Coordinates</h3>
 <div class="paragraph">
 <p>This affects the interpretation of image coordinates.
 If image coordinates specified to <strong>read_image{f|i|ui}</strong> are normalized (as
@@ -14550,7 +14577,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="addressing-and-filter-modes">3.2. Addressing and Filter Modes</h3>
+<h3 id="addressing-and-filter-modes">8.2. Addressing and Filter Modes</h3>
 <div class="paragraph">
 <p>We first describe how the addressing and filter modes are applied to
 generate the appropriate sample locations to read from the image if the
@@ -15008,13 +15035,13 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="conversion-rules">3.3. Conversion Rules</h3>
+<h3 id="conversion-rules">8.3. Conversion Rules</h3>
 <div class="paragraph">
 <p>In this section we discuss conversion rules that are applied when reading
 and writing images in a kernel.</p>
 </div>
 <div class="sect3">
-<h4 id="conversion-rules-for-normalized-integer-channel-data-types">3.3.1. Conversion rules for normalized integer channel data types</h4>
+<h4 id="conversion-rules-for-normalized-integer-channel-data-types">8.3.1. Conversion rules for normalized integer channel data types</h4>
 <div class="paragraph">
 <p>In this section we discuss converting normalized integer channel data types
 to floating-point values and vice-versa.</p>
@@ -15363,11 +15390,11 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="conversion-rules-for-half-precision-floating-point-channel-data-type">3.3.2. Conversion rules for half precision floating-point channel data type</h4>
+<h4 id="conversion-rules-for-half-precision-floating-point-channel-data-type">8.3.2. Conversion rules for half precision floating-point channel data type</h4>
 <div class="paragraph">
 <p>For images created with a channel data type of <code>CL_HALF_FLOAT</code>, the
 conversions from <code>half</code> to <code>float</code> are lossless (as described in
-<a href="#the-half-data-type">"The half data type"</a>).
+<a href="#the-half-data-type">The half data type</a>).
 Conversions from <code>float</code> to <code>half</code> round the mantissa using the round to
 nearest even or round to zero rounding mode.
 Denormalized numbers for the <code>half</code> data type which may be generated when
@@ -15378,7 +15405,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="conversion-rules-for-floating-point-channel-data-type">3.3.3. Conversion rules for floating-point channel data type</h4>
+<h4 id="conversion-rules-for-floating-point-channel-data-type">8.3.3. Conversion rules for floating-point channel data type</h4>
 <div class="paragraph">
 <p>The following rules apply for reading and writing images created with
 channel data type of <code>CL_FLOAT</code>.</p>
@@ -15398,7 +15425,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="conversion-rules-for-signed-and-unsigned-8-bit-16-bit-and-32-bit-integer-channel-data-types">3.3.4. Conversion rules for signed and unsigned 8-bit, 16-bit and 32-bit integer channel data types</h4>
+<h4 id="conversion-rules-for-signed-and-unsigned-8-bit-16-bit-and-32-bit-integer-channel-data-types">8.3.4. Conversion rules for signed and unsigned 8-bit, 16-bit and 32-bit integer channel data types</h4>
 <div class="paragraph">
 <p>Calls to <strong>read_imagei</strong> with channel data type values of <code>CL_SIGNED_INT8</code>,
 <code>CL_SIGNED_INT16</code> and <code>CL_SIGNED_INT32</code> return the unmodified integer values
@@ -15486,7 +15513,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="conversion-rules-for-srgba-and-sbgra-images">3.3.5. Conversion rules for sRGBA and sBGRA images</h4>
+<h4 id="conversion-rules-for-srgba-and-sbgra-images">8.3.5. Conversion rules for sRGBA and sBGRA images</h4>
 <div class="paragraph">
 <p>Standard RGB data, which roughly displays colors in a linear ramp of
 luminosity levels such that an average observer, under average viewing
@@ -15576,7 +15603,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="selecting-an-image-from-an-image-array">3.4. Selecting an Image from an Image Array</h3>
+<h3 id="selecting-an-image-from-an-image-array">8.4. Selecting an Image from an Image Array</h3>
 <div class="paragraph">
 <p>Let (<em>u</em>,<em>v</em>,<em>w</em>) represent the unnormalized image coordinate values for
 reading from and/or writing to a 2D image in a 2D image array.</p>
@@ -15641,7 +15668,7 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="references">4. Normative References</h2>
+<h2 id="references">9. Normative References</h2>
 <div class="sectionbody">
 <div class="olist arabic">
 <ol class="arabic">
@@ -15703,8 +15730,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-12 14:11:33 BST
+Version 2.2-8<br>
+Last updated 2018-10-08 09:49:15 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/html/OpenCL_Cxx.html b/specs/2.2/html/OpenCL_Cxx.html
index f948bde..171fd59 100644
--- a/specs/2.2/html/OpenCL_Cxx.html
+++ b/specs/2.2/html/OpenCL_Cxx.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Khronos OpenCL Working Group">
 <title>The OpenCL&#8482; C++ 1.0 Specification</title>
 <style>
@@ -841,9 +841,9 @@
 <h1>The OpenCL<sup>&#8482;</sup> C++ 1.0 Specification</h1>
 <div class="details">
 <span id="author" class="author">Khronos OpenCL Working Group</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:28 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:50:47 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -3094,15 +3094,15 @@
 <tr>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uninitialized (no constructor or trivial default constructor)</p>
-<p class="tableblock">  <strong>AND</strong></p>
-<p class="tableblock">  trivial destructor</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">initialized by constant expression</p>
-<p class="tableblock">  <strong>AND</strong></p>
-<p class="tableblock">  trivial destructor</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">custom initializer</p>
-<p class="tableblock">  <strong>OR</strong></p>
-<p class="tableblock">  custom destructor</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uninitialized (no constructor or trivial default constructor)
+</p><p class="tableblock">  <strong>AND</strong>
+</p><p class="tableblock">  trivial destructor</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">initialized by constant expression
+</p><p class="tableblock">  <strong>AND</strong>
+</p><p class="tableblock">  trivial destructor</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">custom initializer
+</p><p class="tableblock">  <strong>OR</strong>
+</p><p class="tableblock">  custom destructor</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top" rowspan="4"><p class="tableblock">local</p></td>
@@ -3113,17 +3113,17 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">kernel</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are not zero-pre-initialized.</p>
-<p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are not zero-pre-initialized.</p>
-<p class="tableblock">  Materialize temporary expressions are not supported.</p>
-<p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are not zero-pre-initialized.</p>
-<p class="tableblock">  Materialize temporary expressions are not supported.</p>
-<p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are not zero-pre-initialized.
+</p><p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are not zero-pre-initialized.
+</p><p class="tableblock">  Materialize temporary expressions are not supported.
+</p><p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are not zero-pre-initialized.
+</p><p class="tableblock">  Materialize temporary expressions are not supported.
+</p><p class="tableblock">  Optional zero-pre-initialization possible using switch: -cl-zero-init-local-mem-vars</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">local (non-kernel)</p></td>
@@ -3133,43 +3133,43 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">class (static data member)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are not zero-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are not zero-pre-initialized.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">not supported</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">not supported</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top" rowspan="3"><p class="tableblock">global</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">program</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero-pre-initialized.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">supported</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">kernel / local</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero-pre-initialized.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">not supported</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">class (static data member)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero-pre-initialized.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">not supported</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">constant</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">(any)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero-pre-initialized.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">supported</p>
-<p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero-pre-initialized.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">supported
+</p><p class="tableblock">  Variables are zero or constexpr-pre-initialized.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">not supported</p></td>
 </tr>
 <tr>
@@ -3835,9 +3835,6 @@
 <p>non-placement <code>new</code> and <code>delete</code> operators (<em>ISO C++ Sections 5.3.4 and 5.3.5</em>)</p>
 </li>
 <li>
-<p><code>goto</code> statement (<em>ISO C++ Section 6.6</em>)</p>
-</li>
-<li>
 <p><code>register</code> and <code>thread_local</code> storage qualifiers (<em>ISO C++ Section 7.1.1</em>)</p>
 </li>
 <li>
@@ -3856,16 +3853,16 @@
 <p>the C++ standard library (<em>ISO C++ Sections 17 &#8230;&#8203; 30</em>)</p>
 </li>
 <li>
-<p><code>asm</code> declaration (<em>ISO C++ Section 7.4</em>)</p>
-</li>
-<li>
 <p>no implicit lambda to function pointer conversion (<em>ISO C++ Section 5.1.2, item 6</em>)</p>
 </li>
 <li>
 <p>variadic functions (<em>ISO C99 Section 7.15, Variable arguments &lt;stdarg.h&gt;</em>)</p>
 </li>
 <li>
-<p>and, like C++, OpenCL C++ does not support variable length arrays (<em>ISO C99, Section 6.7.5</em>).</p>
+<p>and, like C++, OpenCL C++ does not support variable length arrays (<em>ISO C99, Section 6.7.5</em>)</p>
+</li>
+<li>
+<p>whether irreducible control flow is legal is implementation defined.</p>
 </li>
 </ul>
 </div>
@@ -3877,6 +3874,9 @@
 <li>
 <p>All variadic templates (<em>ISO C++ Section 14.5.3</em>) including variadic function templates are supported.</p>
 </li>
+<li>
+<p>Virtual inheritance (<em>ISO C++ Section 10.1, item 4</em>) is supported.</p>
+</li>
 </ul>
 </div>
 <div class="admonitionblock note">
@@ -10480,9 +10480,9 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>exec_time</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Identifies profiling information to be queried.
-  If specified, the two 64-bit values are returned</p>
-<p class="tableblock">  The first 64-bit value describes the elapsed time: <code>CL_PROFILING_COMMAND_END - CL_PROFILING_COMMAND_START</code> for the command identified by event in nanoseconds.</p>
-<p class="tableblock">  The second 64-bit value describes the elapsed time <code>CL_PROFILING_COMMAND_COMPLETE - CL_PROFILING_COMMAND_START</code> for the command identified by event in nanoseconds.</p></td>
+  If specified, the two 64-bit values are returned
+</p><p class="tableblock">  The first 64-bit value describes the elapsed time: <code>CL_PROFILING_COMMAND_END - CL_PROFILING_COMMAND_START</code> for the command identified by event in nanoseconds.
+</p><p class="tableblock">  The second 64-bit value describes the elapsed time <code>CL_PROFILING_COMMAND_COMPLETE - CL_PROFILING_COMMAND_START</code> for the command identified by event in nanoseconds.</p></td>
 </tr>
 </tbody>
 </table>
@@ -20916,8 +20916,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-07 12:41:34 BST
+Version 2.2-8<br>
+Last updated 2018-09-24 21:35:08 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/html/OpenCL_Env.html b/specs/2.2/html/OpenCL_Env.html
index b610b8e..e3f3305 100644
--- a/specs/2.2/html/OpenCL_Env.html
+++ b/specs/2.2/html/OpenCL_Env.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Khronos OpenCL Working Group">
 <title>The OpenCL&#8482; SPIR-V Environment Specification</title>
 <style>
@@ -841,9 +841,9 @@
 <h1>The OpenCL<sup>&#8482;</sup> SPIR-V Environment Specification</h1>
 <div class="details">
 <span id="author" class="author">Khronos OpenCL Working Group</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:27 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:50:05 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -1091,9 +1091,8 @@
 <em>Image Operands</em>.</p>
 </li>
 <li>
-<p>The image read instructions <strong>OpImageRead</strong>, <strong>OpImageFetch</strong>, and
-<strong>OpImageSampleExplicitLod</strong> must not include the optional <em>Image Operand</em>
-<strong>ConstOffset</strong>.</p>
+<p>The image read instructions <strong>OpImageRead</strong> and <strong>OpImageSampleExplicitLod</strong>
+must not include the optional <em>Image Operand</em> <strong>ConstOffset</strong>.</p>
 </li>
 <li>
 <p>For all <strong>Atomic Instructions</strong>:</p>
@@ -1117,6 +1116,9 @@
 The static function call graph for an entry point must not contain
 cycles.</p>
 </li>
+<li>
+<p>Whether irreducible control flow is legal is implementation defined.</p>
+</li>
 </ul>
 </div>
 </div>
@@ -2592,7 +2594,7 @@
 <div class="sect2">
 <h3 id="_full_and_embedded_profile_extensions">7.2. Full and Embedded Profile Extensions</h3>
 <div class="sect3">
-<h4 id="_code_cl_khr_3d_image_writes_code">7.2.1. <code>cl_khr_3d_image_writes</code></h4>
+<h4 id="__code_cl_khr_3d_image_writes_code">7.2.1. <code>cl_khr_3d_image_writes</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_3d_image_writes</code>,
 then the environment must accept <em>Image</em> operands to <strong>OpImageWrite</strong> that
@@ -2600,7 +2602,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_depth_images_code">7.2.2. <code>cl_khr_depth_images</code></h4>
+<h4 id="__code_cl_khr_depth_images_code">7.2.2. <code>cl_khr_depth_images</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_depth_images</code>,
 then the environment must accept modules that declare 2D depth image types
@@ -2621,7 +2623,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_device_enqueue_local_arg_types_code">7.2.3. <code>cl_khr_device_enqueue_local_arg_types</code></h4>
+<h4 id="__code_cl_khr_device_enqueue_local_arg_types_code">7.2.3. <code>cl_khr_device_enqueue_local_arg_types</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension
 <code>cl_khr_device_enqueue_local_arg_types</code>, then then environment will allow
@@ -2630,7 +2632,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_fp16_code">7.2.4. <code>cl_khr_fp16</code></h4>
+<h4 id="__code_cl_khr_fp16_code">7.2.4. <code>cl_khr_fp16</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_fp16</code>, then the
 environment must accept modules that declare the following SPIR-V
@@ -2645,7 +2647,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_fp64_code">7.2.5. <code>cl_khr_fp64</code></h4>
+<h4 id="__code_cl_khr_fp64_code">7.2.5. <code>cl_khr_fp64</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_fp64</code>, then the
 environment must accept modules that declare the following SPIR-V
@@ -2660,7 +2662,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_gl_depth_images_code">7.2.6. <code>cl_khr_gl_depth_images</code></h4>
+<h4 id="__code_cl_khr_gl_depth_images_code">7.2.6. <code>cl_khr_gl_depth_images</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_gl_depth_images</code>,
 then the following Image Channel Orders may additionally be returned by
@@ -2686,7 +2688,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_gl_msaa_sharing_code">7.2.7. <code>cl_khr_gl_msaa_sharing</code></h4>
+<h4 id="__code_cl_khr_gl_msaa_sharing_code">7.2.7. <code>cl_khr_gl_msaa_sharing</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_gl_msaa_sharing</code>,
 then the environment must accept modules that declare 2D multi-sampled
@@ -2718,7 +2720,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_int64_base_atomics_code_and_code_cl_khr_int64_extended_atomics_code">7.2.8. <code>cl_khr_int64_base_atomics</code> and <code>cl_khr_int64_extended_atomics</code></h4>
+<h4 id="__code_cl_khr_int64_base_atomics_code_and_code_cl_khr_int64_extended_atomics_code">7.2.8. <code>cl_khr_int64_base_atomics</code> and <code>cl_khr_int64_extended_atomics</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_int64_base_atomics</code>
 or <code>cl_khr_int64_extended_atomics</code>, then the environment must support 64-bit
@@ -2735,7 +2737,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_mipmap_image_code">7.2.9. <code>cl_khr_mipmap_image</code></h4>
+<h4 id="__code_cl_khr_mipmap_image_code">7.2.9. <code>cl_khr_mipmap_image</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_mipmap_image</code>,
 then the environment must accept non-zero optional <strong>Lod</strong> <em>Image Operands</em>
@@ -2747,9 +2749,6 @@
 <p><strong>OpImageSampleExplicitLod</strong></p>
 </li>
 <li>
-<p><strong>OpImageFetch</strong></p>
-</li>
-<li>
 <p><strong>OpImageRead</strong></p>
 </li>
 <li>
@@ -2764,7 +2763,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_mipmap_image_writes_code">7.2.10. <code>cl_khr_mipmap_image_writes</code></h4>
+<h4 id="__code_cl_khr_mipmap_image_writes_code">7.2.10. <code>cl_khr_mipmap_image_writes</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_mipmap_image_writes</code>,
 then the environment must accept non-zero optional <strong>Lod</strong> <em>Image Operands</em>
@@ -2784,7 +2783,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_subgroups_code">7.2.11. <code>cl_khr_subgroups</code></h4>
+<h4 id="__code_cl_khr_subgroups_code">7.2.11. <code>cl_khr_subgroups</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cl_khr_subgroups</code>, then
 the environment will generally allows the scope for <em>Execution</em> to include:</p>
@@ -2809,7 +2808,7 @@
 </div>
 </div>
 <div class="sect3">
-<h4 id="_code_cl_khr_subgroup_named_barrier_code">7.2.12. <code>cl_khr_subgroup_named_barrier</code></h4>
+<h4 id="__code_cl_khr_subgroup_named_barrier_code">7.2.12. <code>cl_khr_subgroup_named_barrier</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension
 <code>cl_khr_subgroup_named_barrier</code>, then the environment must accept modules
@@ -2827,7 +2826,7 @@
 <div class="sect2">
 <h3 id="_embedded_profile_extensions">7.3. Embedded Profile Extensions</h3>
 <div class="sect3">
-<h4 id="_code_cles_khr_int64_code">7.3.1. <code>cles_khr_int64</code></h4>
+<h4 id="__code_cles_khr_int64_code">7.3.1. <code>cles_khr_int64</code></h4>
 <div class="paragraph">
 <p>If the OpenCL environment supports the extension <code>cles_khr_int64</code>, then the
 environment must accept modules that declare the following SPIR-V
@@ -4481,8 +4480,8 @@
   For x &lt; 0 and odd y, derived implementations implement this as -exp2( y *
   log2(fabs(x) ).
   For x == 0 and nonzero y, derived implementations return zero.
-  For non-derived implementations, the error is &lt;= 8192 ULP.</p>
-<p class="tableblock">  On some implementations, powr() or pown() may perform faster
+  For non-derived implementations, the error is &lt;= 8192 ULP.
+</p><p class="tableblock">  On some implementations, powr() or pown() may perform faster
   than pow().
   If x is known to be &gt;= 0, consider using powr() in place of pow(),
   or if y is known to be an integer, consider using pown() in place of
@@ -6556,8 +6555,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-07 12:41:34 BST
+Version 2.2-8<br>
+Last updated 2018-09-24 21:35:08 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/html/OpenCL_Ext.html b/specs/2.2/html/OpenCL_Ext.html
index 062d769..7ab81e4 100644
--- a/specs/2.2/html/OpenCL_Ext.html
+++ b/specs/2.2/html/OpenCL_Ext.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Khronos OpenCL Working Group">
 <title>The OpenCL Extension Specification</title>
 <style>
@@ -841,9 +841,9 @@
 <h1>The OpenCL Extension Specification</h1>
 <div class="details">
 <span id="author" class="author">Khronos OpenCL Working Group</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:27 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:50:25 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -1028,17 +1028,17 @@
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>enable</strong></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Behave as specified by the extension <em>extension_name</em>.</p>
-<p class="tableblock">  Report an error on the <strong><code>#pragma OPENCL EXTENSION</code></strong> if the
+<td class="tableblock halign-left valign-top"><p class="tableblock">Behave as specified by the extension <em>extension_name</em>.
+</p><p class="tableblock">  Report an error on the <strong><code>#pragma OPENCL EXTENSION</code></strong> if the
   <em>extension_name</em> is not supported, or if <strong>all</strong> is specified.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>disable</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Behave (including issuing errors and warnings) as if the extension
-  <em>extension_name</em> is not part of the language definition.</p>
-<p class="tableblock">  If <strong>all</strong> is specified, then behavior must revert back to that of the
-  non-extended core version of the language being compiled to.</p>
-<p class="tableblock">  Warn on the <strong><code>#pragma OPENCL EXTENSION</code></strong> if the extension <em>extension_name</em>
+  <em>extension_name</em> is not part of the language definition.
+</p><p class="tableblock">  If <strong>all</strong> is specified, then behavior must revert back to that of the
+  non-extended core version of the language being compiled to.
+</p><p class="tableblock">  Warn on the <strong><code>#pragma OPENCL EXTENSION</code></strong> if the extension <em>extension_name</em>
   is not supported.</p></td>
 </tr>
 </tbody>
@@ -1099,8 +1099,8 @@
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code>void clGetExtensionFunctionAddressForPlatform(cl_platform_id platform,
-                                              const char *funcname)</code></pre>
+<pre class="CodeRay highlight"><code>void* clGetExtensionFunctionAddressForPlatform(cl_platform_id platform,
+                                               const char *funcname)</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1482,8 +1482,8 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>fract</strong> (gentype <em>x</em>, gentype *<em>iptr</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fmin</strong>( <em>x</em> - <strong>floor</strong> (<em>x</em>), 0x1.ffcp-1f ).</p>
-<p class="tableblock">  <strong>floor</strong>(x) is returned in <em>iptr</em>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>fmin</strong>( <em>x</em> - <strong>floor</strong> (<em>x</em>), 0x1.ffcp-1f ).
+</p><p class="tableblock">  <strong>floor</strong>(x) is returned in <em>iptr</em>.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">half<em>n</em> <strong>frexp</strong> (half<em>n</em> <em>x</em>, int<em>n</em> *exp)<br>
@@ -1545,8 +1545,8 @@
   The function may compute <em>a</em> * <em>b</em> + <em>c</em> with reduced accuracy
   in the embedded profile.  See the SPIR-V OpenCL environment specification
   for details. On some hardware the mad instruction may provide better
-  performance than expanded computation of <em>a</em> * <em>b</em> + <em>c</em>.</p>
-<p class="tableblock">  Note: For some usages, e.g. <strong>mad</strong>(a, b, -a*b), the half precision
+  performance than expanded computation of <em>a</em> * <em>b</em> + <em>c</em>.
+</p><p class="tableblock">  Note: For some usages, e.g. <strong>mad</strong>(a, b, -a*b), the half precision
   definition of <strong>mad</strong>() is loose enough that almost any result is allowed
   from <strong>mad</strong>() for some values of a and b.</p></td>
 </tr>
@@ -1859,11 +1859,11 @@
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>clamp</strong> (<br>
-  gentype <em>x</em>, gentype <em>minval</em>, gentype <em>maxval</em>)</p>
-<p class="tableblock">  gentype <strong>clamp</strong> (<br>
+  gentype <em>x</em>, gentype <em>minval</em>, gentype <em>maxval</em>)
+</p><p class="tableblock">  gentype <strong>clamp</strong> (<br>
   gentype <em>x</em>, half <em>minval</em>, half <em>maxval</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>min</strong>(<strong>max</strong>(<em>x</em>, <em>minval</em>), <em>maxval</em>).</p>
-<p class="tableblock">  Results are undefined if <em>minval</em> &gt; <em>maxval</em>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns <strong>min</strong>(<strong>max</strong>(<em>x</em>, <em>minval</em>), <em>maxval</em>).
+</p><p class="tableblock">  Results are undefined if <em>minval</em> &gt; <em>maxval</em>.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>degrees</strong> (gentype <em>radians</em>)</p></td>
@@ -1885,11 +1885,11 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>mix</strong> (gentype <em>x</em>, gentype <em>y</em>, gentype <em>a</em>)<br>
   gentype <strong>mix</strong> (gentype <em>x</em>, gentype <em>y</em>, half <em>a</em>)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the linear blend of <em>x</em> and <em>y</em> implemented as:</p>
-<p class="tableblock">  <em>x</em> + (<em>y</em> - <em>x)</em> * <em>a</em></p>
-<p class="tableblock">  <em>a</em> must be a value in the range 0.0 &#8230;&#8203; 1.0.
-  If <em>a</em> is not in the range 0.0 &#8230;&#8203; 1.0, the return values are undefined.</p>
-<p class="tableblock">  Note: The half precision <strong>mix</strong> function can be implemented using contractions such as <strong>mad</strong> or <strong>fma</strong>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns the linear blend of <em>x</em> and <em>y</em> implemented as:
+</p><p class="tableblock">  <em>x</em> + (<em>y</em> - <em>x)</em> * <em>a</em>
+</p><p class="tableblock">  <em>a</em> must be a value in the range 0.0 &#8230;&#8203; 1.0.
+  If <em>a</em> is not in the range 0.0 &#8230;&#8203; 1.0, the return values are undefined.
+</p><p class="tableblock">  Note: The half precision <strong>mix</strong> function can be implemented using contractions such as <strong>mad</strong> or <strong>fma</strong>.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>radians</strong> (gentype <em>degrees</em>)</p></td>
@@ -1902,19 +1902,19 @@
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>smoothstep</strong> (<br>
-  gentype <em>edge0</em>, gentype <em>edge1</em>, gentype <em>x</em>)</p>
-<p class="tableblock">  gentype <strong>smoothstep</strong> (<br>
+  gentype <em>edge0</em>, gentype <em>edge1</em>, gentype <em>x</em>)
+</p><p class="tableblock">  gentype <strong>smoothstep</strong> (<br>
   half <em>edge0</em>, half <em>edge1</em>, gentype <em>x</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns 0.0 if <em>x</em> &lt;= <em>edge0</em> and 1.0 if <em>x</em> &gt;= <em>edge1</em> and performs
   smooth Hermite interpolation between 0 and 1 when <em>edge0</em> &lt; <em>x</em> &lt; <em>edge1</em>.
   This is useful in cases where you would want a threshold function with a
-  smooth transition.</p>
-<p class="tableblock">  This is equivalent to:</p>
-<p class="tableblock">  gentype <em>t</em>;<br>
+  smooth transition.
+</p><p class="tableblock">  This is equivalent to:
+</p><p class="tableblock">  gentype <em>t</em>;<br>
   <em>t</em> = clamp ((<em>x</em> - <em>edge0</em>) / (<em>edge1</em> - <em>edge0</em>), 0, 1);<br>
-  return <em>t</em> * <em>t</em> * (3 - 2 * <em>t</em>);<br></p>
-<p class="tableblock">  Results are undefined if <em>edge0</em> &gt;= <em>edge1</em>.</p>
-<p class="tableblock">  Note: The half precision <strong>smoothstep</strong> function can be implemented using contractions such as <strong>mad</strong> or <strong>fma</strong>.</p></td>
+  return <em>t</em> * <em>t</em> * (3 - 2 * <em>t</em>);<br>
+</p><p class="tableblock">  Results are undefined if <em>edge0</em> &gt;= <em>edge1</em>.
+</p><p class="tableblock">  Note: The half precision <strong>smoothstep</strong> function can be implemented using contractions such as <strong>mad</strong> or <strong>fma</strong>.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype <strong>sign</strong> (gentype <em>x</em>)</p></td>
@@ -2157,8 +2157,8 @@
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">gentype<em>n</em> <strong>vload<em>n</em></strong><br>
-  (size_t <em>offset</em>, const gentype *<em>p</em>)</p>
-<p class="tableblock">  gentype<em>n</em> <strong>vload<em>n</em></strong><br>
+  (size_t <em>offset</em>, const gentype *<em>p</em>)
+</p><p class="tableblock">  gentype<em>n</em> <strong>vload<em>n</em></strong><br>
   (size_t <em>offset</em>, const __constant gentype *<em>p</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Return sizeof (gentype<em>n</em>) bytes of data read from address
   (<em>p</em> + (<em>offset * n</em>)).
@@ -2204,8 +2204,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">event_t <strong>async_work_group_copy</strong> (<br>
   __local gentype *<em>dst</em>,<br>
   const __global gentype *<em>src</em>,<br>
-  size_t <em>num_gentypes</em>, event_t <em>event</em>)</p>
-<p class="tableblock">  event_t <strong>async_work_group_copy</strong> (<br>
+  size_t <em>num_gentypes</em>, event_t <em>event</em>)
+</p><p class="tableblock">  event_t <strong>async_work_group_copy</strong> (<br>
   __global gentype <em>*dst</em>,<br>
   const __local gentype *<em>src</em>,<br>
   size_t <em>num_gentypes</em>, event_t <em>event</em>)</p></td>
@@ -2214,15 +2214,15 @@
   The async copy is performed by all work-items in a work-group and this
   built-in function must therefore be encountered by all work-items in a
   work-group executing the kernel with the same argument values; otherwise
-  the results are undefined.</p>
-<p class="tableblock">  Returns an event object that can be used by <strong>wait_group_events</strong> to wait
+  the results are undefined.
+</p><p class="tableblock">  Returns an event object that can be used by <strong>wait_group_events</strong> to wait
   for the async copy to finish.
   The <em>event</em> argument can also be used to associate the
   <strong>async_work_group_copy</strong> with a previous async copy allowing an event to be
-  shared by multiple async copies; otherwise <em>event</em> should be zero.</p>
-<p class="tableblock">  If <em>event</em> argument is not zero, the event object supplied in <em>event</em>
-  argument will be returned.</p>
-<p class="tableblock">  This function does not perform any implicit synchronization of source data
+  shared by multiple async copies; otherwise <em>event</em> should be zero.
+</p><p class="tableblock">  If <em>event</em> argument is not zero, the event object supplied in <em>event</em>
+  argument will be returned.
+</p><p class="tableblock">  This function does not perform any implicit synchronization of source data
   such as using a <strong>barrier</strong> before performing the copy.</p></td>
 </tr>
 <tr>
@@ -2234,8 +2234,8 @@
   __local gentype <em>*dst</em>,<br>
   const __global gentype *<em>src</em>,<br>
   size_t <em>num_gentypes</em>,<br>
-  size_t <em>src_stride</em>, event_t <em>event</em>)</p>
-<p class="tableblock">  event_t <strong>async_work_group_strided_copy</strong> (<br>
+  size_t <em>src_stride</em>, event_t <em>event</em>)
+</p><p class="tableblock">  event_t <strong>async_work_group_strided_copy</strong> (<br>
   __global gentype <em>*dst</em>,<br>
   const __local gentype *<em>src</em>,<br>
   size_t <em>num_gentypes</em>,<br>
@@ -2247,18 +2247,18 @@
   The async gather is performed by all work-items in a work-group and this
   built-in function must therefore be encountered by all work-items in a
   work-group executing the kernel with the same argument values; otherwise
-  the results are undefined.</p>
-<p class="tableblock">  Returns an event object that can be used by <strong>wait_group_events</strong> to wait
+  the results are undefined.
+</p><p class="tableblock">  Returns an event object that can be used by <strong>wait_group_events</strong> to wait
   for the async copy to finish.
   The <em>event</em> argument can also be used to associate the
   <strong>async_work_group_strided_copy</strong> with a previous async copy allowing an
   event to be shared by multiple async copies; otherwise <em>event</em> should be
-  zero.</p>
-<p class="tableblock">  If <em>event</em> argument is not zero, the event object supplied in <em>event</em>
-  argument will be returned.</p>
-<p class="tableblock">  This function does not perform any implicit synchronization of source data
-  such as using a <strong>barrier</strong> before performing the copy.</p>
-<p class="tableblock">  The behavior of <strong>async_work_group_strided_copy</strong> is undefined if
+  zero.
+</p><p class="tableblock">  If <em>event</em> argument is not zero, the event object supplied in <em>event</em>
+  argument will be returned.
+</p><p class="tableblock">  This function does not perform any implicit synchronization of source data
+  such as using a <strong>barrier</strong> before performing the copy.
+</p><p class="tableblock">  The behavior of <strong>async_work_group_strided_copy</strong> is undefined if
   <em>src_stride</em> or <em>dst_stride</em> is 0, or if the <em>src_stride</em> or <em>dst_stride</em>
   values cause the <em>src</em> or <em>dst</em> pointers to exceed the upper bounds of the
   address space during the copy.</p></td>
@@ -2273,8 +2273,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">Wait for events that identify the <strong>async_work_group_copy</strong> operations to
   complete.
   The event objects specified in <em>event_list</em> will be released after the
-  wait is performed.</p>
-<p class="tableblock">  This function must be encountered by all work-items in a work-group
+  wait is performed.
+</p><p class="tableblock">  This function must be encountered by all work-items in a work-group
   executing the kernel with the same <em>num_events</em> and event objects
   specified in <em>event_list</em>; otherwise the results are undefined.</p></td>
 </tr>
@@ -2314,28 +2314,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   read_only image2d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
-  int2 <em>coord</em>)</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int2 <em>coord</em>)
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   read_only image2d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
   float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> to do an element lookup in the 2D
-  image object specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  image object specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats, CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
   with filter mode set to CLK_FILTER_NEAREST, normalized coordinates set to
   CLK_NORMALIZED_COORDS_FALSE and addressing mode set to
   CLK_ADDRESS_CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
-  otherwise the values returned are undefined.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  otherwise the values returned are undefined.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
@@ -2347,29 +2347,29 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   read_only image3d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
-  int4 <em>coord</em> )</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int4 <em>coord</em> )
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   read_only image3d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
   float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x</em>, <em>coord.y</em>, <em>coord.z)</em> to do an
   elementlookup in the 3D image object specified by <em>image</em>. <em>coord.w</em> is
-  ignored.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  ignored.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong>returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong>returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
   with filter mode set to CLK_FILTER_NEAREST, normalized coordinates set to
   CLK_NORMALIZED_COORDS_FALSE and addressing mode set to
   CLK_ADDRESS_CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
-  otherwise the values returned are undefined.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  otherwise the values returned are undefined.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description are
   undefined.</p></td>
 </tr>
@@ -2381,28 +2381,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   read_only image2d_array_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
-  int4 <em>coord</em>)</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int4 <em>coord</em>)
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   read_only image2d_array_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
   float4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-  <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with image_channel_data_type set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with image_channel_data_type set
-  to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with image_channel_data_type set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
+  to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with image_channel_data_type set to CL_HALF_FLOAT.
+</p><p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
   with filter mode set to CLK_FILTER_NEAREST, normalized coordinates set to
   CLK_NORMALIZED_COORDS_FALSE and addressing mode set to
   CLK_ADDRESS_CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
-  otherwise the values returned are undefined.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  otherwise the values returned are undefined.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   image_channel_data_type values not specified in the description above are
   undefined.</p></td>
 </tr>
@@ -2414,28 +2414,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   read_only image1d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
-  int <em>coord</em>)</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int <em>coord</em>)
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   read_only image1d_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
   float <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image object specified by
-  <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
   with filter mode set to CLK_FILTER_NEAREST, normalized coordinates set to
   CLK_NORMALIZED_COORDS_FALSE and addressing mode set to
   CLK_ADDRESS_CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
-  otherwise the values returned are undefined.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  otherwise the values returned are undefined.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
@@ -2447,28 +2447,28 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   read_only image1d_array_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
-  int2 <em>coord</em>)</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int2 <em>coord</em>)
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   read_only image1d_array_t <em>image</em>,<br>
   sampler_t <em>sampler</em>,<br>
   float2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 1D image identified by
-  <em>coord.y</em> in the 1D image array specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  <em>coord.y</em> in the 1D image array specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with image_channel_data_type set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with image_channel_data_type set
-  to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with image_channel_data_type set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
+  to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with image_channel_data_type set to CL_HALF_FLOAT.
+</p><p class="tableblock">  The <strong>read_imageh</strong> calls that take integer coordinates must use a sampler
   with filter mode set to CLK_FILTER_NEAREST, normalized coordinates set to
   CLK_NORMALIZED_COORDS_FALSE and addressing mode set to
   CLK_ADDRESS_CLAMP_TO_EDGE, CLK_ADDRESS_CLAMP or CLK_ADDRESS_NONE;
-  otherwise the values returned are undefined.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  otherwise the values returned are undefined.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   image_channel_data_type values not specified in the description above are
   undefined.</p></td>
 </tr>
@@ -2499,17 +2499,17 @@
   <em>aQual</em> image2d_t <em>image</em>,<br>
   int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x, coord.y)</em> to do an element lookup in the 2D
-  image object specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  image object specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
@@ -2518,17 +2518,17 @@
   <em>aQual</em> image3d_t <em>image</em>,<br>
   int4 <em>coord</em> )</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use the coordinate <em>(coord.x</em>, <em>coord.y</em>, <em>coord.z)</em> to do an element
-  lookup in the 3D image object specified by <em>image</em>. <em>coord.w</em> is ignored.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  lookup in the 3D image object specified by <em>image</em>. <em>coord.w</em> is ignored.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description are
   undefined.</p></td>
 </tr>
@@ -2537,39 +2537,39 @@
   <em>aQual</em> image2d_array_t <em>image</em>,<br>
   int4 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.xy</em> to do an element lookup in the 2D image identified by
-  <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">half4 <strong>read_imageh</strong> (<br>
   <em>aQual</em> image1d_t <em>image</em>,<br>
-  int <em>coord</em>)</p>
-<p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
+  int <em>coord</em>)
+</p><p class="tableblock">  half4 <strong>read_imageh</strong> (<br>
   <em>aQual</em> image1d_buffer_t <em>image</em>,<br>
   int <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord</em> to do an element lookup in the 1D image or 1D image buffer
-  object specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  object specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
@@ -2578,17 +2578,17 @@
   <em>aQual</em> image1d_array_t <em>image</em>,<br>
   int2 <em>coord</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Use <em>coord.x</em> to do an element lookup in the 2D image identified by
-  <em>coord.y</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  <em>coord.y</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [0.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em> set
   to one of the pre-defined packed formats or CL_UNORM_INT8, or
-  CL_UNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
+  CL_UNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values in the range
   [-1.0 &#8230;&#8203; 1.0] for image objects created with <em>image_channel_data_type</em>
-  set to CL_SNORM_INT8, or CL_SNORM_INT16.</p>
-<p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
-  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.</p>
-<p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
+  set to CL_SNORM_INT8, or CL_SNORM_INT16.
+</p><p class="tableblock">  <strong>read_imageh</strong> returns half precision floating-point values for image
+  objects created with <em>image_channel_data_type</em> set to CL_HALF_FLOAT.
+</p><p class="tableblock">  Values returned by <strong>read_imageh</strong> for image objects with
   <em>image_channel_data_type</em> values not specified in the description above
   are undefined.</p></td>
 </tr>
@@ -2620,16 +2620,16 @@
   int2 <em>coord</em>,<br>
   half4 <em>color</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the 2D image
-  specified by <em>image</em>.</p>
-<p class="tableblock">  Appropriate data format conversion to the specified image format is done
+  specified by <em>image</em>.
+</p><p class="tableblock">  Appropriate data format conversion to the specified image format is done
   before writing the color value. <em>x</em> &amp; <em>y</em> are considered to be
   unnormalized coordinates and must be in the range 0 &#8230;&#8203; width - 1, and 0
-  &#8230;&#8203; height - 1.</p>
-<p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
+  &#8230;&#8203; height - 1.
+</p><p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
   <em>image_channel_data_type</em> set to one of the pre-defined packed formats or
   set to CL_SNORM_INT8, CL_UNORM_INT8, CL_SNORM_INT16, CL_UNORM_INT16 or
-  CL_HALF_FLOAT.</p>
-<p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
+  CL_HALF_FLOAT.
+</p><p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
   <em>image_channel_data_type</em> values not specified in the description above or
   with (<em>x</em>, <em>y</em>) coordinate values that are not in the range (0 &#8230;&#8203; width -
   1, 0 &#8230;&#8203; height - 1) respectively, is undefined.</p></td>
@@ -2640,17 +2640,17 @@
   int4 <em>coord</em>,<br>
   half4 <em>color</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Write <em>color</em> value to location specified by <em>coord.xy</em> in the 2D image
-  identified by <em>coord.z</em> in the 2D image array specified by <em>image</em>.</p>
-<p class="tableblock">  Appropriate data format conversion to the specified image format is done
+  identified by <em>coord.z</em> in the 2D image array specified by <em>image</em>.
+</p><p class="tableblock">  Appropriate data format conversion to the specified image format is done
   before writing the color value. <em>coord.x</em>, <em>coord.y</em> and <em>coord.z</em> are
   considered to be unnormalized coordinates and must be in the range 0 &#8230;&#8203;
   image width - 1, 0 &#8230;&#8203; image height - 1 and 0 &#8230;&#8203; image number of layers -
-  1.</p>
-<p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
+  1.
+</p><p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
   <em>image_channel_data_type</em> set to one of the pre-defined packed formats or
   set to CL_SNORM_INT8, CL_UNORM_INT8, CL_SNORM_INT16, CL_UNORM_INT16 or
-  CL_HALF_FLOAT.</p>
-<p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
+  CL_HALF_FLOAT.
+</p><p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
   <em>image_channel_data_type</em> values not specified in the description above or
   with (<em>x</em>, <em>y, z</em>) coordinate values that are not in the range (0 &#8230;&#8203;
   image width - 1, 0 &#8230;&#8203; image height - 1, 0 &#8230;&#8203; image number of layers -
@@ -2660,8 +2660,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>write_imageh</strong> (<br>
   <em>aQual</em> image1d_t <em>image</em>,<br>
   int <em>coord</em>,<br>
-  half4 <em>color</em>)</p>
-<p class="tableblock">  void <strong>write_imageh</strong> (<br>
+  half4 <em>color</em>)
+</p><p class="tableblock">  void <strong>write_imageh</strong> (<br>
   <em>aQual</em> image1d_buffer_t <em>image</em>,<br>
   int <em>coord</em>,<br>
   half4 <em>color</em>)</p></td>
@@ -2670,15 +2670,15 @@
   Appropriate data format conversion to the specified image format is done
   before writing the color value.
   <em>coord</em> is considered to be unnormalized coordinates and must be in the
-  range 0 &#8230;&#8203; image width - 1.</p>
-<p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
+  range 0 &#8230;&#8203; image width - 1.
+</p><p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
   <em>image_channel_data_type</em> set to one of the pre-defined packed formats or
   set to CL_SNORM_INT8, CL_UNORM_INT8, CL_SNORM_INT16, CL_UNORM_INT16 or
   CL_HALF_FLOAT.
   Appropriate data format conversion will be done to convert channel data
   from a floating-point value to actual data format in which the channels
-  are stored.</p>
-<p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
+  are stored.
+</p><p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
   <em>image_channel_data_type</em> values not specified in the description above or
   with coordinate values that is not in the range (0 &#8230;&#8203; image width - 1),
   is undefined.</p></td>
@@ -2693,15 +2693,15 @@
   Appropriate data format conversion to the specified image format is done
   before writing the color value. <em>coord.x</em> and <em>coord.y</em> are considered to
   be unnormalized coordinates and must be in the range 0 &#8230;&#8203; image width - 1
-  and 0 &#8230;&#8203; image number of layers - 1.</p>
-<p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
+  and 0 &#8230;&#8203; image number of layers - 1.
+</p><p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
   <em>image_channel_data_type</em> set to one of the pre-defined packed formats or
   set to CL_SNORM_INT8, CL_UNORM_INT8, CL_SNORM_INT16, CL_UNORM_INT16 or
   CL_HALF_FLOAT.
   Appropriate data format conversion will be done to convert channel data
   from a floating-point value to actual data format in which the channels
-  are stored.</p>
-<p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
+  are stored.
+</p><p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
   <em>image_channel_data_type</em> values not specified in the description above or
   with (<em>x</em>, <em>y</em>) coordinate values that are not in the range (0 &#8230;&#8203; image
   width - 1, 0 &#8230;&#8203; image number of layers - 1), respectively, is undefined.</p></td>
@@ -2712,22 +2712,22 @@
   int4 <em>coord</em>,<br>
   half4 <em>color</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Write color value to location specified by coord.xyz in the 3D image
-  object specified by <em>image</em>.</p>
-<p class="tableblock">  Appropriate data format conversion to the specified image format is done
+  object specified by <em>image</em>.
+</p><p class="tableblock">  Appropriate data format conversion to the specified image format is done
   before writing the color value.
   coord.x, coord.y and coord.z are considered to be unnormalized coordinates
   and must be in the range 0 &#8230;&#8203; image width - 1, 0 &#8230;&#8203; image height - 1 and
-  0 &#8230;&#8203; image depth - 1.</p>
-<p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
+  0 &#8230;&#8203; image depth - 1.
+</p><p class="tableblock">  <strong>write_imageh</strong> can only be used with image objects created with
   image_channel_data_type set to one of the pre-defined packed formats or
   set to CL_SNORM_INT8, CL_UNORM_INT8, CL_SNORM_INT16, CL_UNORM_INT16 or
-  CL_HALF_FLOAT.</p>
-<p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
+  CL_HALF_FLOAT.
+</p><p class="tableblock">  The behavior of <strong>write_imageh</strong> for image objects created with
   image_channel_data_type values not specified in the description above or
   with (x, y, z) coordinate values that are not in the range (0 &#8230;&#8203; image
   width - 1, 0 &#8230;&#8203; image height - 1, 0 &#8230;&#8203; image depth - 1), respectively,
-  is undefined.</p>
-<p class="tableblock">  Note: This built-in function is only available if the
+  is undefined.
+</p><p class="tableblock">  Note: This built-in function is only available if the
   cl_khr_3d_image_writes extension is also supported by the device.</p></td>
 </tr>
 </tbody>
@@ -2759,19 +2759,19 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_HALF_FP_CONFIG</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_device_fp_config</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes half precision floating-point capability of the OpenCL device.
-  This is a bit-field that describes one or more of the following values:</p>
-<p class="tableblock">  CL_FP_DENORM&#8201;&#8212;&#8201;denorms are supported</p>
-<p class="tableblock">  CL_FP_INF_NAN&#8201;&#8212;&#8201;INF and NaNs are supported</p>
-<p class="tableblock">  CL_FP_ROUND_TO_NEAREST&#8201;&#8212;&#8201;round to nearest even rounding mode supported</p>
-<p class="tableblock">  CL_FP_ROUND_TO_ZERO&#8201;&#8212;&#8201;round to zero rounding mode supported</p>
-<p class="tableblock">  CL_FP_ROUND_TO_INF&#8201;&#8212;&#8201;round to positive and negative infinity rounding
-  modes supported</p>
-<p class="tableblock">  CP_FP_FMA&#8201;&#8212;&#8201;IEEE754-2008 fused multiply-add is supported</p>
-<p class="tableblock">  CL_FP_SOFT_FLOAT&#8201;&#8212;&#8201;Basic floating-point operations (such as addition,
-  subtraction, multiplication) are implemented in software.</p>
-<p class="tableblock">  The required minimum half precision floating-point capability as
-  implemented by this extension is:</p>
-<p class="tableblock">  CL_FP_ROUND_TO_ZERO, or CL_FP_ROUND_TO_NEAREST | CL_FP_INF_NAN.</p></td>
+  This is a bit-field that describes one or more of the following values:
+</p><p class="tableblock">  CL_FP_DENORM&#8201;&#8212;&#8201;denorms are supported
+</p><p class="tableblock">  CL_FP_INF_NAN&#8201;&#8212;&#8201;INF and NaNs are supported
+</p><p class="tableblock">  CL_FP_ROUND_TO_NEAREST&#8201;&#8212;&#8201;round to nearest even rounding mode supported
+</p><p class="tableblock">  CL_FP_ROUND_TO_ZERO&#8201;&#8212;&#8201;round to zero rounding mode supported
+</p><p class="tableblock">  CL_FP_ROUND_TO_INF&#8201;&#8212;&#8201;round to positive and negative infinity rounding
+  modes supported
+</p><p class="tableblock">  CL_FP_FMA&#8201;&#8212;&#8201;IEEE754-2008 fused multiply-add is supported
+</p><p class="tableblock">  CL_FP_SOFT_FLOAT&#8201;&#8212;&#8201;Basic floating-point operations (such as addition,
+  subtraction, multiplication) are implemented in software.
+</p><p class="tableblock">  The required minimum half precision floating-point capability as
+  implemented by this extension is:
+</p><p class="tableblock">  CL_FP_ROUND_TO_ZERO, or CL_FP_ROUND_TO_NEAREST | CL_FP_INF_NAN.</p></td>
 </tr>
 </tbody>
 </table>
@@ -4151,8 +4151,8 @@
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">GL_RGBA8</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">CL_RGBA, CL_UNORM_INT8 or</p>
-<p class="tableblock">CL_BGRA, CL_UNORM_INT8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CL_RGBA, CL_UNORM_INT8 or
+</p><p class="tableblock">CL_BGRA, CL_UNORM_INT8</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">GL_SRGB8_ALPHA8</p></td>
@@ -7796,8 +7796,8 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_CONTEXT_D3D11_DEVICE_KHR</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">ID3D11Device *</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the ID3D11Device * to use for Direct3D 11 interoperability.</p>
-<p class="tableblock">  The default value is <code>NULL</code>.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the ID3D11Device * to use for Direct3D 11 interoperability.
+</p><p class="tableblock">  The default value is <code>NULL</code>.</p></td>
 </tr>
 </tbody>
 </table>
@@ -9041,8 +9041,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_GL_NUM_SAMPLES</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">GLsizei</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">The <em>samples</em> argument passed to <strong>glTexImage2DMultisample</strong> or
-  <strong>glTexImage3DMultisample</strong>.</p>
-<p class="tableblock">  If <em>image</em> is not a MSAA texture, 1 is returned.</p></td>
+  <strong>glTexImage3DMultisample</strong>.
+</p><p class="tableblock">  If <em>image</em> is not a MSAA texture, 1 is returned.</p></td>
 </tr>
 </tbody>
 </table>
@@ -9528,10 +9528,10 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_CONTEXT_MEMORY_INITIALIZE_KHR</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">cl_context_memory_initialize_khr</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes which memory types for the context must be initialized.
-  This is a bit-field, where the following values are currently supported:</p>
-<p class="tableblock">  CL_CONTEXT_MEMORY_INITIALIZE_LOCAL_KHR&#8201;&#8212;&#8201;Initialize local memory to
-  zeros.</p>
-<p class="tableblock">  CL_CONTEXT_MEMORY_INITIALIZE_PRIVATE_KHR&#8201;&#8212;&#8201;Initialize private memory to
+  This is a bit-field, where the following values are currently supported:
+</p><p class="tableblock">  CL_CONTEXT_MEMORY_INITIALIZE_LOCAL_KHR&#8201;&#8212;&#8201;Initialize local memory to
+  zeros.
+</p><p class="tableblock">  CL_CONTEXT_MEMORY_INITIALIZE_PRIVATE_KHR&#8201;&#8212;&#8201;Initialize private memory to
   zeros.</p></td>
 </tr>
 </tbody>
@@ -9607,8 +9607,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_TERMINATE_CAPABILITY_KHR</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>cl_device_terminate_capability_khr</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Describes the termination capability of the OpenCL device.
-  This is a bit-field, where the following values are currently supported:</p>
-<p class="tableblock">  CL_DEVICE_TERMINATE_CAPABILITY_CONTEXT_KHR - Indicates that context
+  This is a bit-field, where the following values are currently supported:
+</p><p class="tableblock">  CL_DEVICE_TERMINATE_CAPABILITY_CONTEXT_KHR - Indicates that context
   termination is supported.</p></td>
 </tr>
 </tbody>
@@ -9779,8 +9779,8 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>CL_DEVICE_SPIR_VERSIONS</strong></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">char[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">A space separated list of SPIR versions supported by the device.</p>
-<p class="tableblock">  For example, returning <code>"1.2"</code> in this query implies that SPIR version 1.2
+<td class="tableblock halign-left valign-top"><p class="tableblock">A space separated list of SPIR versions supported by the device.
+</p><p class="tableblock">  For example, returning <code>"1.2"</code> in this query implies that SPIR version 1.2
   is supported by the implementation.</p></td>
 </tr>
 </tbody>
@@ -9822,8 +9822,8 @@
 <td class="tableblock halign-left valign-top"><p class="tableblock">CL_PROGRAM_BINARY_TYPE_INTERMEDIATE&#8201;&#8212;&#8201;An intermediate (non-source)
   representation for the program is loaded as a binary.
   The program must be further processed with <strong>clCompileProgram</strong> or
-  <strong>clBuildProgram</strong>.</p>
-<p class="tableblock">  If processed with <strong>clCompileProgram</strong>, the result will be a binary of type
+  <strong>clBuildProgram</strong>.
+</p><p class="tableblock">  If processed with <strong>clCompileProgram</strong>, the result will be a binary of type
   CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT or CL_PROGRAM_BINARY_TYPE_LIBRARY.
   If processed with <strong>clBuildProgram</strong>, the result will be a binary of type
   CL_PROGRAM_BINARY_TYPE_EXECUTABLE.</p></td>
@@ -10381,8 +10381,8 @@
 <p>uint <strong>get_num_sub_groups</strong> ()</p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of subgroups that the current work group is divided
-  into.</p>
-<p class="tableblock">  This number will be constant for the duration of a work group&#8217;s execution.
+  into.
+</p><p class="tableblock">  This number will be constant for the duration of a work group&#8217;s execution.
   If the kernel is executed with a non-uniform work group size
   (i.e. the global_work_size values specified to <strong>clEnqueueNDRangeKernel</strong>
   are not evenly divisible by the local_work_size values for any dimension,
@@ -10394,8 +10394,8 @@
 <p>uint <strong>get_enqueued_num_sub_groups</strong> ()</p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the same value as that returned by <strong>get_num_sub_groups</strong> if the
-  kernel is executed with a uniform work group size.</p>
-<p class="tableblock">  If the kernel is executed with a non-uniform work group size, returns the
+  kernel is executed with a uniform work group size.
+</p><p class="tableblock">  If the kernel is executed with a non-uniform work group size, returns the
   number of subgroups in each of the work groups that make up the uniform
   region of the global range.</p></td>
 </tr>
@@ -10404,8 +10404,8 @@
 <p>uint <strong>get_sub_group_id</strong> ()</p>
 </div></div></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>get_sub_group_id</strong> returns the subgroup ID which is a number from 0 ..
-  <strong>get_num_sub_groups</strong>() - 1.</p>
-<p class="tableblock">  For <strong>clEnqueueTask</strong>, this returns 0.</p></td>
+  <strong>get_num_sub_groups</strong>() - 1.
+</p><p class="tableblock">  For <strong>clEnqueueTask</strong>, this returns 0.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><div><div class="paragraph">
@@ -10434,8 +10434,8 @@
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>sub_group_barrier</strong> (<br>
-  cl_mem_fence_flags <em>flags</em>)</p>
-<p class="tableblock">  void <strong>sub_group_barrier</strong> (<br>
+  cl_mem_fence_flags <em>flags</em>)
+</p><p class="tableblock">  void <strong>sub_group_barrier</strong> (<br>
   cl_mem_fence_flags <em>flags</em>, memory_scope <em>scope</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">All work items in a subgroup executing the kernel on a processor must
   execute this function before any are allowed to continue execution beyond
@@ -10443,28 +10443,28 @@
   This function must be encountered by all work items in a subgroup
   executing the kernel.
   These rules apply to ND-ranges implemented with uniform and non-uniform
-  work groups.</p>
-<p class="tableblock">  If <strong>subgroup_barrier</strong> is inside a conditional statement, then all work
+  work groups.
+</p><p class="tableblock">  If <strong>subgroup_barrier</strong> is inside a conditional statement, then all work
   items within the subgroup must enter the conditional if any work item in
   the subgroup enters the conditional statement and executes the
-  subgroup_barrier.</p>
-<p class="tableblock">  If <strong>subgroup_barrier</strong> is inside a loop, all work items within the subgroup
+  subgroup_barrier.
+</p><p class="tableblock">  If <strong>subgroup_barrier</strong> is inside a loop, all work items within the subgroup
   must execute the subgroup_barrier for each iteration of the loop before
-  any are allowed to continue execution beyond the subgroup_barrier.</p>
-<p class="tableblock">  The <strong>subgroup_barrier</strong> function also queues a memory fence (reads and
+  any are allowed to continue execution beyond the subgroup_barrier.
+</p><p class="tableblock">  The <strong>subgroup_barrier</strong> function also queues a memory fence (reads and
   writes) to ensure correct ordering of memory operations to local or global
-  memory.</p>
-<p class="tableblock">  The flags argument specifies the memory address space and can be set to a
-  combination of the following values:</p>
-<p class="tableblock">  CLK_LOCAL_MEM_FENCE - The <strong>subgroup_barrier</strong> function will either flush
+  memory.
+</p><p class="tableblock">  The flags argument specifies the memory address space and can be set to a
+  combination of the following values:
+</p><p class="tableblock">  CLK_LOCAL_MEM_FENCE - The <strong>subgroup_barrier</strong> function will either flush
   any variables stored in local memory or queue a memory fence to ensure
-  correct ordering of memory operations to local memory.</p>
-<p class="tableblock">  CLK_GLOBAL_MEM_FENCE&#8201;&#8212;&#8201;The <strong>subgroup_barrier</strong> function will queue a
+  correct ordering of memory operations to local memory.
+</p><p class="tableblock">  CLK_GLOBAL_MEM_FENCE&#8201;&#8212;&#8201;The <strong>subgroup_barrier</strong> function will queue a
   memory fence to ensure correct ordering of memory operations to global
   memory.
   This can be useful when work items, for example, write to buffer objects
-  and then want to read the updated data from these buffer objects.</p>
-<p class="tableblock">  CLK_IMAGE_MEM_FENCE&#8201;&#8212;&#8201;The <strong>subgroup_barrier</strong> function will queue a memory
+  and then want to read the updated data from these buffer objects.
+</p><p class="tableblock">  CLK_IMAGE_MEM_FENCE&#8201;&#8212;&#8201;The <strong>subgroup_barrier</strong> function will queue a memory
   fence to ensure correct ordering of memory operations to image objects.
   This can be useful when work items, for example, write to image objects
   and then want to read the updated data from these image objects.</p></td>
@@ -10531,8 +10531,8 @@
   gentype <em>x</em>, uint <em>sub_group_local_id</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast the value of <em>x</em> for work item identified by
   <em>sub_group_local_id</em> (value returned by <strong>get_sub_group_local_id</strong>) to all
-  work items in the subgroup.</p>
-<p class="tableblock">  <em>sub_group_local_id</em> must be the same value for all work items in the
+  work items in the subgroup.
+</p><p class="tableblock">  <em>sub_group_local_id</em> must be the same value for all work items in the
   subgroup.</p></td>
 </tr>
 <tr>
@@ -10546,8 +10546,8 @@
   gentype <em>x</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Do an exclusive scan operation specified by <strong>&lt;op&gt;</strong> of all values specified
   by work items in a subgroup.
-  The scan results are returned for each work item.</p>
-<p class="tableblock">  The scan order is defined by increasing 1D linear global ID within the
+  The scan results are returned for each work item.
+</p><p class="tableblock">  The scan order is defined by increasing subgroup local ID within the
   subgroup.</p></td>
 </tr>
 <tr>
@@ -10555,8 +10555,8 @@
   gentype <em>x</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Do an inclusive scan operation specified by <strong>&lt;op&gt;</strong> of all values specified
   by work items in a subgroup.
-  The scan results are returned for each work item.</p>
-<p class="tableblock">  The scan order is defined by increasing 1D linear global ID within the
+  The scan results are returned for each work item.
+</p><p class="tableblock">  The scan order is defined by increasing subgroup local ID within the
   subgroup.</p></td>
 </tr>
 </tbody>
@@ -10590,21 +10590,21 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">reserve_id_t <strong>sub_group_reserve_read_pipe</strong> (<br>
   read_only pipe gentype <em>pipe</em>,<br>
-  uint <em>num_packets</em>)</p>
-<p class="tableblock">  reserve_id_t <strong>sub_group_reserve_write_pipe</strong> (<br>
+  uint <em>num_packets</em>)
+</p><p class="tableblock">  reserve_id_t <strong>sub_group_reserve_write_pipe</strong> (<br>
   write_only pipe gentype <em>pipe</em>,<br>
   uint <em>num_packets</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Reserve <em>num_packets</em> entries for reading from or writing to <em>pipe</em>.
   Returns a valid non-zero reservation ID if the reservation is successful
-  and 0 otherwise.</p>
-<p class="tableblock">  The reserved pipe entries are referred to by indices that go from 0 &#8230;&#8203;
+  and 0 otherwise.
+</p><p class="tableblock">  The reserved pipe entries are referred to by indices that go from 0 &#8230;&#8203;
   <em>num_packets</em> - 1.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">void <strong>sub_group_commit_read_pipe</strong> (<br>
   read_only pipe gentype <em>pipe</em>,<br>
-  reserve_id_t <em>reserve_id</em>)</p>
-<p class="tableblock">  void <strong>sub_group_commit_write_pipe</strong> (<br>
+  reserve_id_t <em>reserve_id</em>)
+</p><p class="tableblock">  void <strong>sub_group_commit_write_pipe</strong> (<br>
   write_only pipe gentype <em>pipe</em>,<br>
   reserve_id_t <em>reserve_id</em>)</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Indicates that all reads and writes to <em>num_packets</em> associated with
@@ -10638,20 +10638,20 @@
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_sub_group_count_for_ndrange</strong> (<br>
   const ndrange_t <em>ndrange</em>,<br>
-  void (^block)(void));</p>
-<p class="tableblock">  uint <strong>get_kernel_sub_group_count_for_ndrange</strong> (<br>
+  void (^block)(void));
+</p><p class="tableblock">  uint <strong>get_kernel_sub_group_count_for_ndrange</strong> (<br>
   const ndrange_t <em>ndrange</em>,<br>
   void (^block)(local void *, &#8230;&#8203;));</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the number of subgroups in each work group of the dispatch (except
   for the last in cases where the global size does not divide cleanly into
-  work groups) given the combination of the passed ndrange and block.</p>
-<p class="tableblock">  <em>block</em> specifies the block to be enqueued.</p></td>
+  work groups) given the combination of the passed ndrange and block.
+</p><p class="tableblock">  <em>block</em> specifies the block to be enqueued.</p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">uint <strong>get_kernel_max_sub_group_size_for_ndrange</strong> (<br>
   const ndrange_t <em>ndrange</em>,<br>
-  void (^block)(void));<br></p>
-<p class="tableblock">  uint <strong>get_kernel_max_sub_group_size_for_ndrange</strong> (<br>
+  void (^block)(void));<br>
+</p><p class="tableblock">  uint <strong>get_kernel_max_sub_group_size_for_ndrange</strong> (<br>
   const ndrange_t <em>ndrange</em>,<br>
   void (^block)(local void *, &#8230;&#8203;));</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">Returns the maximum subgroup size for a block.</p></td>
@@ -11804,8 +11804,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-12 14:11:33 BST
+Version 2.2-8<br>
+Last updated 2018-09-24 21:35:08 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/html/OpenCL_ICD_Installation.html b/specs/2.2/html/OpenCL_ICD_Installation.html
index 676da61..e16989d 100644
--- a/specs/2.2/html/OpenCL_ICD_Installation.html
+++ b/specs/2.2/html/OpenCL_ICD_Installation.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.6.1">
+<meta name="generator" content="Asciidoctor 1.5.5">
 <meta name="author" content="Khronos OpenCL Working Group">
 <title>OpenCL ICD Installation Guidelines</title>
 <style>
@@ -841,9 +841,9 @@
 <h1>OpenCL ICD Installation Guidelines</h1>
 <div class="details">
 <span id="author" class="author">Khronos OpenCL Working Group</span><br>
-<span id="revnumber">version 2.2-7,</span>
-<span id="revdate">Sat, 12 May 2018 13:21:29 +0000</span>
-<br><span id="revremark">from git branch: master commit: ab6da3001e9eeafaa36c18888ca7eb4ebb9768af</span>
+<span id="revnumber">version 2.2-8,</span>
+<span id="revdate">Mon, 08 Oct 2018 16:52:16 +0000</span>
+<br><span id="revremark">from git branch: master commit: b3cab22fcff5d8c17869907c983e259ddd7ce788</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -1120,8 +1120,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 2.2-7<br>
-Last updated 2018-05-03 23:50:18 BST
+Version 2.2-8<br>
+Last updated 2018-09-24 21:35:08 PDT
 </div>
 </div>
 
diff --git a/specs/2.2/pdf/OpenCL_API.pdf b/specs/2.2/pdf/OpenCL_API.pdf
index c3fab86..24aed24 100644
--- a/specs/2.2/pdf/OpenCL_API.pdf
+++ b/specs/2.2/pdf/OpenCL_API.pdf
Binary files differ
diff --git a/specs/2.2/pdf/OpenCL_C.pdf b/specs/2.2/pdf/OpenCL_C.pdf
index f9956f4..0e24429 100644
--- a/specs/2.2/pdf/OpenCL_C.pdf
+++ b/specs/2.2/pdf/OpenCL_C.pdf
Binary files differ
diff --git a/specs/2.2/pdf/OpenCL_Cxx.pdf b/specs/2.2/pdf/OpenCL_Cxx.pdf
index 4f29345..0143df9 100644
--- a/specs/2.2/pdf/OpenCL_Cxx.pdf
+++ b/specs/2.2/pdf/OpenCL_Cxx.pdf
Binary files differ
diff --git a/specs/2.2/pdf/OpenCL_Env.pdf b/specs/2.2/pdf/OpenCL_Env.pdf
index 687bfb1..862a2b4 100644
--- a/specs/2.2/pdf/OpenCL_Env.pdf
+++ b/specs/2.2/pdf/OpenCL_Env.pdf
Binary files differ
diff --git a/specs/2.2/pdf/OpenCL_Ext.pdf b/specs/2.2/pdf/OpenCL_Ext.pdf
index e7acd68..e428245 100644
--- a/specs/2.2/pdf/OpenCL_Ext.pdf
+++ b/specs/2.2/pdf/OpenCL_Ext.pdf
Binary files differ
diff --git a/specs/2.2/pdf/OpenCL_ICD_Installation.pdf b/specs/2.2/pdf/OpenCL_ICD_Installation.pdf
index bb85de4..98f495a 100644
--- a/specs/2.2/pdf/OpenCL_ICD_Installation.pdf
+++ b/specs/2.2/pdf/OpenCL_ICD_Installation.pdf
Binary files differ
