Open
Description
Found while reviewing KhronosGroup/SPIRV-Tools#6009.
Surprisingly, using the half
type does not generate SPIR-V modules that declare the Float16 capability. We have some tests that are checking that the right capability is declared, for example:
However, this is unfortunately matching Capability Float16Buffer
, so it is not actually checking for Capability Float16
. If I change this check instead to:
; CHECK-SPIRV: Capability {{Float16 *$}}
Then the test starts to fail.
Recommended actions:
- Change all tests to check for
Float16
at the end of the line, similar to the check above.- Are there any other capabilities that are the prefix of another capability that may be affected similarly?
- Figure out why Float16Buffer is being declared and not Float16. Possibly something is going wrong here?
SPIRV-LLVM-Translator/lib/SPIRV/libSPIRV/SPIRVType.h
Lines 214 to 224 in 4eea290
Metadata
Metadata
Assignees
Labels
No labels