Change khr extension links in the registry to point to the OpenCL API spec, not the OpenCL Extensions spec, since they have been moved.
diff --git a/extensions/khrext.php b/extensions/khrext.php
index 9ac0bdb..8b1b61d 100644
--- a/extensions/khrext.php
+++ b/extensions/khrext.php
@@ -1,138 +1,138 @@
 <ul>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_3d_image_writes">cl_khr_3d_image_writes</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_3d_image_writes">cl_khr_3d_image_writes</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_async_work_group_copy_fence">cl_khr_async_work_group_copy_fence</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_async_work_group_copy_fence">cl_khr_async_work_group_copy_fence</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_byte_addressable_store">cl_khr_byte_addressable_store</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_byte_addressable_store">cl_khr_byte_addressable_store</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer">cl_khr_command_buffer</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer">cl_khr_command_buffer</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_multi_device">cl_khr_command_buffer_multi_device</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_multi_device">cl_khr_command_buffer_multi_device</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch">cl_khr_command_buffer_mutable_dispatch</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_mutable_dispatch">cl_khr_command_buffer_mutable_dispatch</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_create_command_queue">cl_khr_create_command_queue</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_create_command_queue">cl_khr_create_command_queue</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d10_sharing">cl_khr_d3d10_sharing</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d10_sharing">cl_khr_d3d10_sharing</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d11_sharing">cl_khr_d3d11_sharing</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d11_sharing">cl_khr_d3d11_sharing</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_depth_images">cl_khr_depth_images</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_depth_images">cl_khr_depth_images</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_enqueue_local_arg_types">cl_khr_device_enqueue_local_arg_types</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_enqueue_local_arg_types">cl_khr_device_enqueue_local_arg_types</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_uuid">cl_khr_device_uuid</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_uuid">cl_khr_device_uuid</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_dx9_media_sharing">cl_khr_dx9_media_sharing</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_dx9_media_sharing">cl_khr_dx9_media_sharing</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event">cl_khr_egl_event</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_event">cl_khr_egl_event</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image">cl_khr_egl_image</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_image">cl_khr_egl_image</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_expect_assume">cl_khr_expect_assume</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_expect_assume">cl_khr_expect_assume</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_async_copies">cl_khr_extended_async_copies</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_async_copies">cl_khr_extended_async_copies</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_bit_ops">cl_khr_extended_bit_ops</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_bit_ops">cl_khr_extended_bit_ops</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_versioning">cl_khr_extended_versioning</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_versioning">cl_khr_extended_versioning</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory">cl_khr_external_memory</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory">cl_khr_external_memory</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory">cl_khr_external_memory_dma_buf</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory">cl_khr_external_memory_dma_buf</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory">cl_khr_external_memory_dx</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory">cl_khr_external_memory_dx</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory">cl_khr_external_memory_opaque_fd</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory">cl_khr_external_memory_opaque_fd</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore">cl_khr_external_memory_win32</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore">cl_khr_external_memory_win32</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore">cl_khr_external_semaphore</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore">cl_khr_external_semaphore</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore">cl_khr_external_semaphore_dx_fence</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore">cl_khr_external_semaphore_dx_fence</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore">cl_khr_external_semaphore_opaque_fd</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore">cl_khr_external_semaphore_opaque_fd</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore">cl_khr_external_semaphore_sync_fd</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore">cl_khr_external_semaphore_sync_fd</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp16">cl_khr_fp16</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp16">cl_khr_fp16</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp64">cl_khr_fp64</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp64">cl_khr_fp64</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_depth_images">cl_khr_gl_depth_images</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_depth_images">cl_khr_gl_depth_images</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_event">cl_khr_gl_event</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_event">cl_khr_gl_event</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_msaa_sharing">cl_khr_gl_msaa_sharing</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_msaa_sharing">cl_khr_gl_msaa_sharing</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing">cl_khr_gl_sharing</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_sharing">cl_khr_gl_sharing</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics">cl_khr_global_int32_base_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics">cl_khr_global_int32_base_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics">cl_khr_global_int32_extended_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics">cl_khr_global_int32_extended_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd-opencl">cl_khr_icd</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_icd-opencl">cl_khr_icd</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_il_program">cl_khr_il_program</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_il_program">cl_khr_il_program</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_image2d_from_buffer">cl_khr_image2d_from_buffer</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_image2d_from_buffer">cl_khr_image2d_from_buffer</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_initialize_memory">cl_khr_initialize_memory</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_initialize_memory">cl_khr_initialize_memory</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_atomics">cl_khr_int64_base_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_atomics">cl_khr_int64_base_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_atomics">cl_khr_int64_extended_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_atomics">cl_khr_int64_extended_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_integer_dot_product">cl_khr_integer_dot_product</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_integer_dot_product">cl_khr_integer_dot_product</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_kernel_clock">cl_khr_kernel_clock</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_kernel_clock">cl_khr_kernel_clock</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics">cl_khr_local_int32_base_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics">cl_khr_local_int32_base_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics">cl_khr_local_int32_extended_atomics</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics">cl_khr_local_int32_extended_atomics</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image">cl_khr_mipmap_image</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image">cl_khr_mipmap_image</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image">cl_khr_mipmap_image_writes</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image">cl_khr_mipmap_image_writes</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_pci_bus_info">cl_khr_pci_bus_info</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_pci_bus_info">cl_khr_pci_bus_info</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_priority_hints">cl_khr_priority_hints</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_priority_hints">cl_khr_priority_hints</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_select_fprounding_mode">cl_khr_select_fprounding_mode</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_select_fprounding_mode">cl_khr_select_fprounding_mode</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_semaphore">cl_khr_semaphore</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore">cl_khr_semaphore</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_spir">cl_khr_spir</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_spir">cl_khr_spir</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_srgb_image_writes">cl_khr_srgb_image_writes</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_srgb_image_writes">cl_khr_srgb_image_writes</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_ballot">cl_khr_subgroup_ballot</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_ballot">cl_khr_subgroup_ballot</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_clustered_reduce">cl_khr_subgroup_clustered_reduce</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_clustered_reduce">cl_khr_subgroup_clustered_reduce</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_extended_types">cl_khr_subgroup_extended_types</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_extended_types">cl_khr_subgroup_extended_types</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_named_barrier">cl_khr_subgroup_named_barrier</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_named_barrier">cl_khr_subgroup_named_barrier</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_non_uniform_arithmetic">cl_khr_subgroup_non_uniform_arithmetic</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_arithmetic">cl_khr_subgroup_non_uniform_arithmetic</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_non_uniform_vote">cl_khr_subgroup_non_uniform_vote</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_vote">cl_khr_subgroup_non_uniform_vote</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_rotate">cl_khr_subgroup_rotate</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_rotate">cl_khr_subgroup_rotate</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_shuffle">cl_khr_subgroup_shuffle</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle">cl_khr_subgroup_shuffle</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_shuffle_relative">cl_khr_subgroup_shuffle_relative</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle_relative">cl_khr_subgroup_shuffle_relative</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroups">cl_khr_subgroups</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroups">cl_khr_subgroups</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_suggested_local_work_size">cl_khr_suggested_local_work_size</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_suggested_local_work_size">cl_khr_suggested_local_work_size</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context">cl_khr_terminate_context</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_terminate_context">cl_khr_terminate_context</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_throttle_hints">cl_khr_throttle_hints</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_throttle_hints">cl_khr_throttle_hints</a>
 </li>
-<li><a href="specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_work_group_uniform_arithmetic">cl_khr_work_group_uniform_arithmetic</a>
+<li><a href="specs/3.0-unified/html/OpenCL_API.html#cl_khr_work_group_uniform_arithmetic">cl_khr_work_group_uniform_arithmetic</a>
 </li>
 </ul>
diff --git a/extensions/registry.py b/extensions/registry.py
index a879203..0e9701c 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -339,347 +339,347 @@
     'cl_khr_3d_image_writes' : {
         'khrnumber' : 1,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_3d_image_writes',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_3d_image_writes',
     },
     'cl_khr_async_work_group_copy_fence' : {
         'khrnumber' : 2,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_async_work_group_copy_fence',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_async_work_group_copy_fence',
     },
     'cl_khr_byte_addressable_store' : {
         'khrnumber' : 3,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_byte_addressable_store',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_byte_addressable_store',
     },
     'cl_khr_command_buffer' : {
         'khrnumber' : 64,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer',
     },
     'cl_khr_command_buffer_multi_device' : {
         'khrnumber' : 69,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_multi_device',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_multi_device',
     },
     'cl_khr_command_buffer_mutable_dispatch' : {
         'khrnumber' : 68,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_command_buffer_mutable_dispatch',
     },
     'cl_khr_create_command_queue' : {
         'khrnumber' : 4,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_create_command_queue',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_create_command_queue',
     },
     'cl_khr_d3d10_sharing' : {
         'khrnumber' : 5,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d10_sharing',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d10_sharing',
     },
     'cl_khr_d3d11_sharing' : {
         'khrnumber' : 6,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_d3d11_sharing',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_d3d11_sharing',
     },
     'cl_khr_depth_images' : {
         'khrnumber' : 7,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_depth_images',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_depth_images',
     },
     'cl_khr_device_enqueue_local_arg_types' : {
         'khrnumber' : 8,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_enqueue_local_arg_types',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_enqueue_local_arg_types',
     },
     'cl_khr_device_uuid' : {
         'khrnumber' : 9,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_device_uuid',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_device_uuid',
     },
     'cl_khr_dx9_media_sharing' : {
         'khrnumber' : 10,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_dx9_media_sharing',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_dx9_media_sharing',
     },
     'cl_khr_egl_event' : {
         'khrnumber' : 11,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_event',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_event',
     },
     'cl_khr_egl_image' : {
         'khrnumber' : 12,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_egl_image',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_egl_image',
     },
     'cl_khr_expect_assume' : {
         'khrnumber' : 65,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_expect_assume',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_expect_assume',
     },
     'cl_khr_extended_async_copies' : {
         'khrnumber' : 13,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_async_copies',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_async_copies',
     },
     'cl_khr_extended_bit_ops' : {
         'khrnumber' : 14,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_bit_ops',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_bit_ops',
     },
     'cl_khr_extended_versioning' : {
         'khrnumber' : 15,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_extended_versioning',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_extended_versioning',
     },
     'cl_khr_external_memory' : {
         'khrnumber' : 53,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory',
     },
     'cl_khr_external_memory_dma_buf' : {
         'khrnumber' : 54,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory',
     },
     'cl_khr_external_memory_dx' : {
         'khrnumber' : 55,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory',
     },
     'cl_khr_external_memory_opaque_fd' : {
         'khrnumber' : 56,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory',
     },
     'cl_khr_external_memory_win32' : {
         'khrnumber' : 57,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_memory',
     },
     'cl_khr_external_semaphore' : {
         'khrnumber' : 58,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore',
     },
     'cl_khr_external_semaphore_dx_fence' : {
         'khrnumber' : 59,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore',
     },
     'cl_khr_external_semaphore_opaque_fd' : {
         'khrnumber' : 60,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore',
     },
     'cl_khr_external_semaphore_sync_fd' : {
         'khrnumber' : 61,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore',
     },
     'cl_khr_external_memory_win32' : {
         'khrnumber' : 62,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_external_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_external_semaphore',
     },
     'cl_khr_fp16' : {
         'khrnumber' : 16,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp16',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp16',
     },
     'cl_khr_fp64' : {
         'khrnumber' : 17,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_fp64',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_fp64',
     },
     'cl_khr_gl_depth_images' : {
         'khrnumber' : 18,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_depth_images',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_depth_images',
     },
     'cl_khr_gl_event' : {
         'khrnumber' : 19,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_event',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_event',
     },
     'cl_khr_gl_msaa_sharing' : {
         'khrnumber' : 20,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_msaa_sharing',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_msaa_sharing',
     },
     'cl_khr_gl_sharing' : {
         'khrnumber' : 21,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_gl_sharing',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_gl_sharing',
     },
     'cl_khr_global_int32_base_atomics' : {
         'khrnumber' : 22,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics',
     },
     'cl_khr_global_int32_extended_atomics' : {
         'khrnumber' : 23,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics',
     },
     'cl_khr_icd' : {
         'khrnumber' : 24,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_icd-opencl',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_icd-opencl',
     },
     'cl_khr_il_program' : {
         'khrnumber' : 25,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_il_program',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_il_program',
     },
     'cl_khr_image2d_from_buffer' : {
         'khrnumber' : 26,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_image2d_from_buffer',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_image2d_from_buffer',
     },
     'cl_khr_initialize_memory' : {
         'khrnumber' : 27,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_initialize_memory',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_initialize_memory',
     },
     'cl_khr_int64_base_atomics' : {
         'khrnumber' : 28,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_atomics',
     },
     'cl_khr_int64_extended_atomics' : {
         'khrnumber' : 29,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int64_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int64_atomics',
     },
     'cl_khr_kernel_clock' : {
         'khrnumber' : 70,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_kernel_clock',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_kernel_clock',
     },
     'cl_khr_local_int32_base_atomics' : {
         'khrnumber' : 30,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics',
     },
     'cl_khr_local_int32_extended_atomics' : {
         'khrnumber' : 31,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_int32_atomics',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_int32_atomics',
     },
     'cl_khr_integer_dot_product' : {
         'khrnumber' : 32,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_integer_dot_product',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_integer_dot_product',
     },
     'cl_khr_mipmap_image' : {
         'khrnumber' : 33,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image',
     },
     'cl_khr_mipmap_image_writes' : {
         'khrnumber' : 34,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_mipmap_image',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_mipmap_image',
     },
     'cl_khr_pci_bus_info' : {
         'khrnumber' : 35,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_pci_bus_info',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_pci_bus_info',
     },
     'cl_khr_priority_hints' : {
         'khrnumber' : 36,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_priority_hints',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_priority_hints',
     },
     'cl_khr_select_fprounding_mode' : {
         'khrnumber' : 37,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_select_fprounding_mode',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_select_fprounding_mode',
     },
     'cl_khr_semaphore' : {
         'khrnumber' : 63,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_semaphore',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_semaphore',
     },
     'cl_khr_spir' : {
         'khrnumber' : 38,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_spir',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_spir',
     },
     'cl_khr_srgb_image_writes' : {
         'khrnumber' : 39,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_srgb_image_writes',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_srgb_image_writes',
     },
     'cl_khr_subgroups' : {
         'khrnumber' : 40,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroups',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroups',
     },
     'cl_khr_subgroup_ballot' : {
         'khrnumber' : 41,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_ballot',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_ballot',
     },
     'cl_khr_subgroup_clustered_reduce' : {
         'khrnumber' : 42,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_clustered_reduce',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_clustered_reduce',
     },
     'cl_khr_subgroup_extended_types' : {
         'khrnumber' : 43,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_extended_types',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_extended_types',
     },
     'cl_khr_subgroup_named_barrier' : {
         'khrnumber' : 44,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_named_barrier',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_named_barrier',
     },
     'cl_khr_subgroup_non_uniform_arithmetic' : {
         'khrnumber' : 45,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_non_uniform_arithmetic',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_arithmetic',
     },
     'cl_khr_subgroup_non_uniform_vote' : {
         'khrnumber' : 46,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_non_uniform_vote',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_non_uniform_vote',
     },
     'cl_khr_subgroup_rotate' : {
         'khrnumber' : 66,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_rotate',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_rotate',
     },
     'cl_khr_subgroup_shuffle' : {
         'khrnumber' : 47,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_shuffle',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle',
     },
     'cl_khr_subgroup_shuffle_relative' : {
         'khrnumber' : 48,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_subgroup_shuffle_relative',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_subgroup_shuffle_relative',
     },
     'cl_khr_suggested_local_work_size' : {
         'khrnumber' : 49,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_suggested_local_work_size',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_suggested_local_work_size',
     },
     'cl_khr_terminate_context' : {
         'khrnumber' : 50,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_terminate_context',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_terminate_context',
     },
     'cl_khr_throttle_hints' : {
         'khrnumber' : 51,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_throttle_hints',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_throttle_hints',
     },
     'cl_khr_work_group_uniform_arithmetic' : {
         'khrnumber' : 67,
         'flags' : { 'public' },
-        'url' : 'specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_work_group_uniform_arithmetic',
+        'url' : 'specs/3.0-unified/html/OpenCL_API.html#cl_khr_work_group_uniform_arithmetic',
     },
     'cl_nv_compiler_options' : {
         'number' : 17,
diff --git a/index.php b/index.php
index 29003ec..dc62ba8 100644
--- a/index.php
+++ b/index.php
@@ -25,7 +25,8 @@
 <p> The latest version of OpenCL is OpenCL 3.0. </p>
 
 <p> The OpenCL specifications are now unified so they describe OpenCL 3.0
-    and all previous versions of OpenCL. </p>
+    and all previous versions of OpenCL, and include <tt>khr</tt> extensions
+    integrated into the core API and C specification language. </p>
 
 <ul>
 <li> OpenCL API Specification
@@ -249,11 +250,15 @@
     updated placeholder.)</p>
 
 
-    <h6 id="khrextspecs">Khronos Extension Specifications</h6>
+<h6 id="khrextspecs"> Khronos Extension Specifications </h6>
 
-<p> Khronos extensions are published in the OpenCL Extension Specification.
-    These links are to the appropriate chapter of the OpenCL Extension
-    Specification.</p>
+<p> Khronos <tt>khr</tt> extensions are now integrated into the core API and
+    C language Specifications. These links are to the appropriate extension
+    appendix of the OpenCL API Specification.</p>
+
+<p> <tt>khr</tt> extensions have been removed from the OpenCL Extensions
+    specification, and that document will eventually be retired once its
+    remaining content is integrated elsewhere. </p>
 
 <?php include("extensions/khrext.php"); ?>