To create an image object the format must specify the order and data type of the channels. Table 5.4 in the spec lists supported image channel order values, and says among other things:
CL_RGB. This format can only be used if channel data type = CL_UNORM_SHORT_565, CL_UNORM_SHORT_555 or CL_UNORM_INT_101010.
This leaves out the most common image format of all – good old 8-bit RGB. On the other hand Nvidia’s implementation succeeds in creating an image object with CL_RGB and CL_UNORM_INT8 specifying the format. Is that a bug, or is the spec supposed to say “must be used” instead of “can only be used”? I was hoping to create RGB8 and RGB32F image objects.