KhronosGroup / OpenCL-CTS

The OpenCL Conformance Tests
Apache License 2.0
185 stars 197 forks source link

Validate list of extensions reported by CL_DEVICE_EXTENSIONS #898

Open kpet opened 4 years ago

kpet commented 4 years ago

Check that all required extensions are present and the list is consistent with features reported where relevant.

kpet commented 4 years ago

Still needs checking whether consistency tests are giving us the coverage.

bashbaug commented 4 years ago

I think we have sufficient coverage for this issue. Specifically:

  1. We have carried forward checks for unconditionally required extensions from test_api min_max_device_version. This includes a check for the optional extension cl_khr_fp64 when double precision is supported. We are correctly NOT requiring extensions that are optional in OpenCL 3.0 but that were required by OpenCL 2.x.

  2. There are three extensions that must be reported by an OpenCL 3.0 device when and only when the optional feature is supported: cl_khr_3d_image_writes, cl_khr_depth_images, and cl_khr_image2d_from_buffer. We have proper checks for all three of these features in the test_api consistency* tests:

Even though we have sufficient coverage we're checking optional extensions in two different places and I think it would be nice to check for them consistently. This could be done by moving the check for cl_khr_fp64 to its own non-OpenCL 3.0 API consistency test (preferred?), or by adding additional checks similar to cl_khr_fp64 for the optional OpenCL 3.0 extensions in min_max_device_version.

If we agree to fix the inconsistency then I think we should leave this issue open but remove the "must fix" tag and remove it from the OpenCL 3.0 board. Or, if we're OK with the inconsistency, we can just close this with no action required.

bashbaug commented 4 years ago

I'll move this issue to the maintenance board for now.