- Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Labels
Description
This is a known issue for the SPIR-V backend, creating this to track the status.
Before opaque pointers, the LLVM types were lowered directly to their SPIR-V equivalent.
Now that we have opaque pointers, we need to retrieve the SPIR-V type from the typed operations like load/store.
The current backend can retrieve some types, but for pointers, it falls back on i8*. This is probably because OpenCL can do pointer-casting.
For graphical SPIR-V, we are not allowed to do pointer casts, so we need to figure out the correct pointer type. LLVM-SPIRV translator already has such logic (type scavenger), so we'd need to reproduce this logic in this backend.