OpenCL supports 2D image memory objects that can be read or written by kernels. Reads
and writes to the same 2D image memory object are not supported in a kernel. OpenCL
also supports reads to 3D image memory objects in kernels. Writes to a 3D image memory
object are not supported unless the cl_khr_3d_image_writes
extension is implemented. Reads and writes to the same 3D image memory object are
not allowed in a kernel.
An application that wants to use this extension to write to 3D image memory objects
will need to include the #pragma OPENCL EXTENSION cl_khr_3d_image_writes :
enable
directive in the OpenCL program source.
The built-in 3d image
write functions are implemented by the
cl_khr_3d_image_writes
extension.