# Current Status
IMPORTANT: Checked features might end up only working for the specific cases that were tested during their development. If you notice that they do not work in some different configurations, please inform me about it; do not forget to attach the OpenCL sample triggering the issue, as well as the chipset of your GPU.
NOTE: Current status, as of 25 June 2017, 22:42 GMT+1
## Supported cards
- [X] Tesla
- [X] Fermi
- [X] Kepler
- [X] Maxwell
- [ ] Pascal (Maybe it works, untested)
## Supported program creation methods
- [X] `clCreateProgramWithSource()`
- [X] `clCreateProgramWithBinary()`
- [X] `clCreateProgramWithIL()`
## Supported features
- [ ] Types:
- [X] bool (to some extent)
- [X] int
- [X] float
- [X] vector
- [X] array (partly supported)
- [X] structure
- [ ] event
- [X] pointer
- [X] function
- [X] Casts (maybe not all of them)
- [ ] Images, textures
- [ ] Decorations on operations and functions (aligned, etc.)
- [ ] Operators:
- [X] binary arithmetic
- [ ] unary arithmetic
- [ ] logical
- [ ] bitwise
- [X] Control flow:
- [X] Branches, and conditional branches (bug with loops)
- [X] Phi nodes (except if swapping values)
- [X] Function calling
- [ ] Builtins:
- [X] get_local_id(), get_local_size(), get_global_id(), get_global_size()
- [ ] get_work_dim(), get_num_groups(), get_group_id()
- [ ] math functions
- [X] atomics (except OpAtomicFlagClear, OpAtomicFlagTestAndSet, OpAtomicCompareExchangeWeak, OpAtomicLoad and OpAtomicStore)
- [ ] barriers & co.