docs/features update opencl extensions add rusticl
authornorablackcat <blackcatgames@protonmail.com>
Thu, 8 Jun 2023 10:17:02 +0000 (04:17 -0600)
committerMarge Bot <emma+marge@anholt.net>
Thu, 8 Jun 2023 13:00:58 +0000 (13:00 +0000)
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23055>

docs/features.txt

index 3c88eef..7b586a3 100644 (file)
@@ -639,12 +639,13 @@ Khronos extensions that are not part of any Vulkan version:
   VK_EXT_swapchain_colorspace                           DONE (radv, anv, tu)
 
 
-OpenCL 1.0 -- all DONE:
+
+Clover OpenCL 1.0 -- all DONE:
 
   Image support                                         in progress
 
 
-OpenCL 1.1 -- all DONE:
+Clover OpenCL 1.1 -- all DONE:
 
   Additional queries for clGetDeviceInfo                DONE (nvc0, r600, radeonsi)
   CL_CONTEXT_NUM_DEVICES for clGetContextInfo           DONE
@@ -666,7 +667,7 @@ OpenCL 1.1 -- all DONE:
   cl_khr_local_int32_extended_atomics                   DONE (nvc0, r600, radeonsi)
 
 
-OpenCL 1.2 -- all DONE:
+Clover OpenCL 1.2 -- all DONE:
 
   Custom devices                                        DONE
   Built-in kernels                                      DONE ()
@@ -688,7 +689,7 @@ OpenCL 1.2 -- all DONE:
   CL_KERNEL_ATTRIBUTES for clGetKernelInfo              DONE
 
 
-OpenCL 2.0 -- all DONE:
+Clover OpenCL 2.0 -- all DONE:
 
   Shared virtual memory                                 DONE (nvc0)
   Device queues                                         not started
@@ -703,11 +704,10 @@ OpenCL 2.0 -- all DONE:
   cl_khr_3d_image_writes                                not started
 
 
-OpenCL 2.1 -- all DONE:
+Clover OpenCL 2.1 -- all DONE:
 
   Sub groups                                            not started
   - cl_khr_subgroups                                    not started
-  - Additional queries for clGetDeviceInfo              not started
   cl_khr_il_program                                     DONE (nvc0)
   Device and host timer synchronization                 not started
   clEnqueueSVMMigrateMem                                not started
@@ -715,7 +715,7 @@ OpenCL 2.1 -- all DONE:
   Default device command queue                          not started
 
 
-OpenCL 2.2 -- all DONE:
+Clover OpenCL 2.2 -- all DONE:
 
   clSetProgramSpecializationConstant                    not started
   clSetProgramReleaseCallback                           not started
@@ -724,7 +724,7 @@ OpenCL 2.2 -- all DONE:
   Support SPIR-V 1.1 and 1.2                            not started
 
 
-OpenCL 3.0 -- all DONE
+Clover OpenCL 3.0 -- all DONE:
 
   Optional device capabilities queries                  in progress
   cl_khr_extended_versioning                            DONE
@@ -737,52 +737,188 @@ OpenCL 3.0 -- all DONE
   Latest conformance version passed for devices         not started
 
 
-Khronos, and EXT extensions that are not part of any OpenCL version:
-
-  cl_ext_atomic_counters_32                             not started
-  cl_ext_atomic_counters_64                             not started
-  cl_ext_device_fission                                 not started
-  cl_ext_migrate_memobject                              not started
+Clover extensions that are not part of any OpenCL version:
   cl_khr_async_work_group_copy_fence                    not started
-  cl_khr_d3d10_sharing                                  not started
-  cl_khr_d3d11_sharing                                  not started
+  cl_khr_byte_addressable_store                         not started                
   cl_khr_device_enqueue_local_arg_types                 not started
-  cl_khr_dx9_media_sharing                              not started
+  cl_khr_device_uuid                                    not started
   cl_khr_egl_event                                      not started
   cl_khr_egl_image                                      not started
+  cl_khr_expect_assume                                  not started 
   cl_khr_extended_async_copies                          not started
-  cl_khr_fp16                                           DONE ()
+  cl_khr_extended_bit_ops                               not started
+  cl_khr_fp16                                           DONE ()                     
   cl_khr_gl_depth_images                                not started
-  cl_khr_gl_event                                       not started
   cl_khr_gl_msaa_sharing                                not started
   cl_khr_gl_sharing                                     not started
   cl_khr_icd                                            DONE
   cl_khr_initialize_memory                              not started
   cl_khr_int64_base_atomics                             DONE ()
   cl_khr_int64_extended_atomics                         DONE ()
+  cl_khr_integer_dot_product                            not started
   cl_khr_mipmap_image                                   not started
-  cl_khr_mipmap_image_writes                            not started
-  cl_khr_priority_hints                                 not started
-  cl_khr_select_fprounding_mode                         not started
-  cl_khr_spir                                           not started
+  cl_khr_pci_bus_info                                   not started
+  cl_khr_priority_hints                                 not started 
   cl_khr_srgb_image_writes                              not started
+  cl_khr_subgroup_ballot                                not started
+  cl_khr_subgroup_clustered_reduce                      not started
+  cl_khr_subgroup_extended_types                        not started
   cl_khr_subgroup_named_barrier                         not started
-  cl_khr_subgroups                                      not started
+  cl_khr_subgroup_non_uniform_arithmetic                not started
+  cl_khr_subgroup_non_uniform_vote                      not started
+  cl_khr_subgroup_rotate                                not started
+  cl_khr_subgroup_shuffle                               not started
+  cl_khr_subgroup_shuffle_relative                      not started
+  cl_khr_suggested_local_work_size                      not started
   cl_khr_terminate_context                              not started
   cl_khr_throttle_hints                                 not started
+  cl_khr_work_group_uniform_arithmetic                  not started
+
+  cl_arm_shared_virtual_memory                          DONE (nvc0)
+  cl_intel_unified_shared_memory                        not started
 
+Rusticl OpenCL 1.0 -- all DONE:
 
-Vendor specific extensions that are not part of any OpenCL version:
+  Image support                                         DONE
 
-  cl_arm_shared_virtual_memory                          DONE (nvc0)
+
+Rusticl OpenCL 1.1 -- all DONE:
+
+  Additional queries for clGetDeviceInfo                DONE
+  CL_CONTEXT_NUM_DEVICES for clGetContextInfo           DONE
+  Optional image formats                                not started
+  clCreateSubBuffer                                     DONE
+  Read from, write to, copy rectangular regions         DONE
+  clSetMemObjectDestructorCallback                      DONE
+  Control OpenCL C version when building                DONE
+  Query for preferred work-group size multiple          DONE
+  Support user events                                   DONE
+  clSetEventCallback                                    DONE
+  Minimum requirement changes for clGetDeviceInfo       DONE
+  Arg prerequisite change for clEnqueueNDRangeKernel    DONE
+  3-component vector data types                         DONE
+  cl_khr_byte_addressable_store                         DONE
+  cl_khr_global_int32_base_atomics                      DONE
+  cl_khr_global_int32_extended_atomics                  DONE
+  cl_khr_local_int32_base_atomics                       DONE
+  cl_khr_local_int32_extended_atomics                   DONE
+
+
+Rusticl OpenCL 1.2 -- all DONE:
+
+  Custom devices                                        DONE
+  Built-in kernels                                      DONE
+  Device partitioning                                   not started
+  Separate compilation and linking of programs          DONE
+  Extend cl_mem_flags                                   DONE
+  clEnqueueFillBuffer, clEnqueueFillImage               DONE
+  Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags    not started
+  New image types                                       DONE
+  clCreateImage                                         DONE
+  clEnqueueMigrateMemObjects                            DONE
+  Retrieve kernels information from a program           DONE
+  clGetKernelArgInfo                                    DONE
+  clEnqueueMarkerWithWaitList                           DONE
+  clEnqueueBarrierWithWaitList                          DONE
+  clUnloadPlatformCompiler                              DONE
+  cl_khr_fp64                                           in progress (Available with environment variable RUSTICL_FEATURES=fp64, device dependent.)
+  CL_KERNEL_ATTRIBUTES for clGetKernelInfo              DONE
+
+
+Rusticl OpenCL 2.0 -- all DONE:
+
+  Shared virtual memory                                 in progress
+  Device queues                                         DONE
+  - cl_khr_create_command_queue                         DONE
+  - Additional queries for clGetDeviceInfo              DONE
+  Pipes                                                 not started
+  Extended 2D images creation                           in progress
+  - cl_khr_image2d_from_buffer                          DONE (iris, llvmpipe)
+  - cl_khr_depth_images                                 not started
+  - from sRGB images                                    not started
+  clCreateSamplerWithProperties                         DONE
+  cl_khr_3d_image_writes                                DONE
+
+
+Rusticl OpenCL 2.1 -- all DONE:
+
+  Sub groups                                            in progress
+  - cl_khr_subgroups                                    in progress
+  cl_khr_il_program                                     DONE
+  Device and host timer synchronization                 not started
+  clEnqueueSVMMigrateMem                                in progress (nvc0/gp100, broken)
+  clCloneKernel                                         DONE
+  Default device command queue                          not started
+
+
+Rusticl OpenCL 2.2 -- all DONE:
+
+  clSetProgramSpecializationConstant                    DONE
+  clSetProgramReleaseCallback                           not started
+  Initialization and clean-up kernels                   not started
+  CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg   not started
+  Support SPIR-V 1.1 and 1.2                            DONE
+
+
+Rusticl OpenCL 3.0 -- all DONE: iris/gen12
+
+  Optional device capabilities queries                  DONE
+  cl_khr_extended_versioning                            DONE
+  clSetContextDestructorCallback                        DONE
+  clCreateBufferWithProperties                          DONE
+  clCreateImageWithProperties                           DONE
+  Query properties arrays                               DONE
+  Supported OpenCL C versions and features queries      DONE
+  CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo         DONE
+  Latest conformance version passed for devices         DONE ()
+
+
+Rusticl extensions that are not part of any OpenCL version:
+  cl_khr_async_work_group_copy_fence                    not started
+  cl_khr_byte_addressable_store                         DONE                   
+  cl_khr_device_enqueue_local_arg_types                 not started
+  cl_khr_device_uuid                                    DONE
+  cl_khr_egl_event                                      not started
+  cl_khr_egl_image                                      not started
+  cl_khr_expect_assume                                  in progress
+  cl_khr_extended_async_copies                          not started
+  cl_khr_extended_bit_ops                               in progress
+  cl_khr_fp16                                           not started
+  cl_khr_gl_depth_images                                not started
+  cl_khr_gl_msaa_sharing                                not started
+  cl_khr_gl_sharing                                     in progress
+  cl_khr_icd                                            DONE
+  cl_khr_initialize_memory                              not started
+  cl_khr_int64_base_atomics                             not started
+  cl_khr_int64_extended_atomics                         not started
+  cl_khr_integer_dot_product                            DONE
+  cl_khr_mipmap_image                                   not started
+  cl_khr_pci_bus_info                                   DONE (iris, nvc0, panfrost, radeonsi)
+  cl_khr_priority_hints                                 not started
+  cl_khr_srgb_image_writes                              not started
+  cl_khr_subgroup_ballot                                not started
+  cl_khr_subgroup_clustered_reduce                      not started
+  cl_khr_subgroup_extended_types                        not started
+  cl_khr_subgroup_named_barrier                         not started
+  cl_khr_subgroup_non_uniform_arithmetic                not started
+  cl_khr_subgroup_non_uniform_vote                      not started
+  cl_khr_subgroup_rotate                                not started
+  cl_khr_subgroup_shuffle                               not started
+  cl_khr_subgroup_shuffle_relative                      not started
+  cl_khr_suggested_local_work_size                      not started
+  cl_khr_terminate_context                              not started
+  cl_khr_throttle_hints                                 not started 
+  cl_khr_work_group_uniform_arithmetic                  not started
+
+  cl_arm_shared_virtual_memory                          in progress
+  cl_intel_unified_shared_memory                        not started
 
 
 The following extensions are not part of any OpenCL version, and we DO NOT WANT
 implementations of these extensions for Mesa.
-
+  cl_khr_spir                                           Superseded by cl_khr_il_program
   cl_nv_d3d10_sharing                                   Superseded by cl_khr_d3d10_sharing
   cl_nv_d3d11_sharing                                   Superseded by cl_khr_d3d10_sharing
 
-
 A graphical representation of this information can be found at
 https://mesamatrix.net/