KhronosGroup/SPIRV-LLVM

Shader and Matrix capabilities are added to the kernels when StorageClassFunction is used

Closed this issue · 2 comments

There is a small bug in the SPIRVEnum.h file (https://github.com/KhronosGroup/SPIRV-LLVM/blob/khronos/spirv-3.6.1/lib/SPIRV/libSPIRV/SPIRVEnum.h#L442) which causes that "Shader" and "Matrix" capabilities are added to the OpenCL kernels when StorageClassFunction is used.
The storage class function is common for shaders and kernels.

BTW, StorageClassPushConstant is missing in the mapping.

This was a bug in the original SPIR-V specification, but it remained in SPIRVEnum.h since the header was not updated. This should be fixed by #8. Except I'm not updating the maps… I will add that as well. That should also fix StorageClassPushConstant missing from the mapping.

Thank you