vload_half and vload_store implementations are overly simplified when 16bit-storage extension is not available
Open
- Dominant language
- LLVM
- Stars
- 729
- Forks
- 110
- Avg merge
- 17h 51m
- Merged PRs (30d)
- 23
Description
- [ ] They assume the pointer argument points to an even-numbered index into a half array. That's why they can get away with casting out to pointer-to-int and then using the GLSL std 450 half-packing instruction.
- [ ] The vstore_half implementation assumes there is no contention for the word we're storing into. This can be fixed with a retry loop around the atomic_xor trick.
Contributor guide
Assessment
This issue has not been assessed yet.