void
write_imagef
(
| image2d_array_t image , |
int4 coord , | |
float4
color
) |
void
write_imagei
(
| image2d_array_t image , |
int4 coord , | |
int4
color
) |
void
write_imageui
(
| image2d_array_t image , |
int4 coord , | |
uint4
color
) |
void
write_imageh
(
| image2d_array_t image , |
int4 coord , | |
half4
color
) |
write_imagef
can only be used with image objects created with
image_channel_data_type
set to one of the pre-defined packed formats
or set to CL_SNORM_INT8
, CL_UNORM_INT8
,
CL_SNORM_INT16
, CL_UNORM_INT16
,
CL_HALF_FLOAT
or CL_FLOAT
. Appropriate data
format conversion will be done to convert channel data from a floating-point value to
actual data format in which the channels are stored.
write_imagei
can only be used with image objects
created with image_channel_data_type
set to one of the following
values: CL_SIGNED_INT8
, CL_SIGNED_INT16
,
and CL_SIGNED_INT32
.
write_imageui
functions can only be used with image objects
created with image_channel_data_type
set to one of the following
values: CL_UNSIGNED_INT8
, CL_UNSIGNED_INT16
,
or CL_UNSIGNED_INT32
.
An application that wants to use half and
halfn
types will need to include the #pragma
OPENCL EXTENSION cl_khr_fp16
: enable
directive.
write_imageh
can only be used with image objects created with
image_channel_data_type
set to one of the pre-defined packed formats
or set to CL_SNORM_INT8
, CL_UNORM_INT8
,
CL_SNORM_INT16
, CL_UNORM_INT16
or
CL_HALF_FLOAT
.
For the functions that take an image_2d_t image, write color value to location specified by
coord.xy in the 2D image object specified by image
.
Appropriate data format conversion to the specified image format is done before writing
the color value. coord.x and coord.y are
considered to be unnormalized coordinates and must be in the range 0 …
image width - 1, and 0 … image height - 1.
For functions that take image_2d_t, the behavior of write_imagef
,
write_imagei
, write_imageui
,
and write_imageh
for image objects created with
image_channel_data_type
values not specified in the description
above or with (x, y) coordinate values that are not in the range
(0 … image width - 1, 0 … image height - 1), respectively, is undefined.
For the functions that take an image_2d_array_t image, write color value
to location specified by coord.xy in the 2D image
identified by coord.z in the 2D image array specified by
image
. Appropriate data format conversion to the specified
image format is done before writing the color value. coord.x,
coord.y and coord.z are considered to be
unnormalized coordinates and must be in the range 0 … image width - 1, 0 … image
height - 1 and 0 … image number of layers - 1.
For functions that take image_2d_array_t, the behavior of
write_imagef
, write_imagei
,
write_imageui
, and write_imageh
for image
objects created with image_channel_data_type
values not specified in
the description above or with (x, y, z) coordinate values that are
not in the range (0 … image width - 1, 0 … image height - 1), respectively, is undefined.
The built-in functions defined in this section can only be used with image memory objects. An image memory object can be accessed by specific function calls that read from and/or write to specific locations in the image.
Image memory objects that are being read by a kernel should be declared with the __read_only
qualifier. write_image
calls to image memory objects declared with the
__read_only
qualifier will generate a compilation error. Image memory objects that
are being written to by a kernel should be declared with the __write_only qualifier.
read_image
calls to image memory objects declared with the __write_only
qualifier will generate a compilation error. read_image
and
write_image
calls to the same image memory object in a kernel are
not supported.
The read_image
calls returns a four component floating-point, integer or
unsigned integer color value. The color values returned by read_image
are identified as x, y, z, w
where x
refers to the red component,
y
refers to the green component, z
refers to the blue component
and w
refers to the alpha component.