write_imagef writes wrong color values. This is a bug. No problems under nvidia with the same kernel.
I didn't want to shock you with this incredibly complicated kernel, but there it is:
kernel void writePixel(write_only image2d_t image, int imageWidth)
int id = get_global_id(0);
write_imagef(image, (int2) (id%imageWidth, id/imageWidth), (float4) (0.2f, 0.f, 0.f, 1.f));
This writes a red image ((1, 0, 0, 1)).