intel / intel/intel-graphics-compiler
__opencl_c_integer_dot_product_input_4x8bit / __opencl_c_integer_dot_product_input_4x8bit_packed feature macros are always enabled, even on unsupported devices
- Dominant language
- C++
- Stars
- 718
- Forks
- 191
- PR merge metrics
- No merged PRs in 30d
Description
[`isDotIntegerProductExtensionSupported()` always returns true](https://github.com/intel/compute-runtime/blob/master/shared/source/helpers/compiler_product_helper_tgllp_and_later.inl#L12-L14), which is incorrect. It leads to the [`__opencl_c_integer_dot_product_input_4x8bit` / `__opencl_c_integer_dot_product_input_4x8bit_packed` feature macros always being present](https://github.com/intel/compute-runtime/blob/master/shared/source/compiler_interface/oclc_extensions.cpp#L111-L117), even on unsupported devices.
This means: If any OpenCL application implements dp4a with checks for `__opencl_c_integer_dot_product_input_4x8bit` / `__opencl_c_integer_dot_product_input_4x8bit_packed` feature macros to see of `dot()`/`dot_acc_sat()` functions are available, the application will instantly be broken on all older unsupported Intel platforms - compiling will just fail because `dot()`/`dot_acc_sat()` functions will be exposed by false feature macros but are not actually supported by compiler.
This is especially important to fix on legacy driver too.
Please fix!
Contributor guide
Assessment
This issue has not been assessed yet.