Битовые поля не поддерживаются на языке OpenCL. Какова была причина не поддерживать их? В отличие от других пропущенных частей (рекурсия, указатели на функции, ...), где есть очевидная причина не поддерживать их, я не вижу ни одной для битовых полей. Я уверен, что это не недосмотр со стороны комитета, но в чем причина?
(Я храню некоторые биты, упакованные в целые числа, и код будет удобнее читать с ними. Я понимаю битовые поля как хороший синтаксис, позволяющий избежать смещения битов и маскирования взад-вперед, что в любом случае они переводят в сборку. )