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
) |
void
write_imagef
(
| image2d_depth_t image , |
int2 coord , | |
float
depth
) |
void
write_imagef
(
| image2d_array_depth_t image , |
int4 coord , | |
float
depth
) |
cl_khr_mipmap_image
:
void
write_imagef
(
| image2d_depth_t image , |
int2 coord , | |
int lod , | |
float
depth
) |
void
write_imagef
(
| image2d_array_t image , |
int4 coord , | |
int lod , | |
float4
color
) |
void
write_imagef
(
| image2d_array_depth_t image , |
int4 coord , | |
int lod , | |
float
depth
) |
void
write_imagei
(
| image2d_array_t image , |
int4 coord , | |
int lod , | |
int4
color
) |
void
write_imageui
(
| image2d_array_t image , |
int4 coord , | |
int lod , | |
uint4
color
) |
write_imagef
, write_imagei
,
write_imageh
, and write_imageui
forms that take image2d_t
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.
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
.
write_imageh
functions 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
.
The behavior of write_imagef
,
write_imagei
, write_imageui
, write_imageh
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.
write_imagef
, write_imagei
,
and write_imageui
forms that take image2d_t and which are enabled by the
cl_khr_mipmap_image
extension
Write color value to location specified by coord.xy
in the mip-level specified by lod
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 of mip-level
specified by lod
– 1, and 0 ... image height of
miplevel specified by lod
– 1.
write_imagef
, write_imagei
,
write_imageh
, and write_imageui
forms that take image2d_array_t
Write color
value to location
specified by coord.xy
in the 2D image identified by coord.z
in the 2D
image array specified 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, and 0… image height – 1,
and 0 … image number of layers – 1.
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
.
write_imageh
functions 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
.
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,
0 … image number of layers - 1; ), respectively, is undefined.
write_imagef
, write_imagei
,
and write_imageui
forms that take image2d_array_t and which are enabled by the
cl_khr_mipmap_image
extension
Write color value to location specified by coord.xy
in the 2D image identified by coord.z
and mip-level
lod
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 of the mip-level specified by lod
– 1,
0 ... image height – 1 specified by lod
– 1 and 0 ...
image number of layers – 1
write_imagef
forms that take image2d_depth_t
Write depth
value to
location specified by coord.xy
in the 2D depth image object specified by image
.
Appropriate data format conversion to the specified
image format is done before writing the depth 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.
write_imagef
can only be used with image objects created with
image_channel_data_type
set to
CL_UNORM_INT16
, CL_UNORM_INT24
,
or CL_FLOAT
. Appropriate data
format conversion will be done to convert depth value from a floating-point value to
actual data format in which the channels are stored.
The behavior of write_imagef
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.
write_imagef
forms that take image2d_depth_t
and which are enabled by the
cl_khr_mipmap_image
extension
Write color value to location specified by coord.xy
in the mip-level specified by lod
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 of mip-level
specified by lod
– 1, and 0 ... image height
of miplevel specified by lod
– 1.
write_imagef
forms that take image2d_array_depth_t
Write depth
value to location specified by coord.xy
in the 2D image identified by coord.z
in the 2D
depth image array specified by image
. Appropriate
data format conversion to the specified image format
is done before writing the depth 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.
write_imagef
can only be used with image objects created with
image_channel_data_type
set to
CL_UNORM_INT16
, CL_UNORM_INT24
,
or CL_FLOAT
. Appropriate data
format conversion will be done to convert depth value from a floating-point value to
actual data format associated with the image..
The behavior of write_imagef
write_imagei
and write_imageui
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,
0 … image number of layers - 1; ), respectively, is undefined.
write_imagef
forms that take image2d_array_depth_t
and which are enabled by the
cl_khr_mipmap_image
extension
Write color value to location specified by coord.xy
in the 2D image identified by coord.z
and mip-level
lod
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 of the mip-level specified by lod
– 1,
0 ... image height – 1 specified by lod
– 1 and 0 ...
image number of layers – 1.
HALF
forms
An application that wants to use half and
halfn
types will need to include the #pragma
OPENCL EXTENSION cl_khr_fp16
: enable
directive.
For the forms that take an image2d_t object,
use the coordinate coord.xy
to
do an element lookup in the mip-level specified by
lod
in the 2D image object specified
by image
.
For the forms that use gradients, use the gradients to compute
the lod and coordinate coord.xy to do an
element lookup in
the mip-level specified by the computed lod in
the 2D image object specified by image
.
For the forms that take an image2d_array_t object,
use the coordinate coord.xy to
do an element lookup in the 2D image identified by
coord.z and mip-level specified by
lod
in the 2D image object specified
by image
.
For the forms that take an image2d_array_t
object and that use gradients,
use the gradients to compute the lod coordinate
and coord.xy to
do an element lookup in the 2D image identified by
coord.z and mip-level specified by
lod
in the 2D image object specified
by image
.
When a multisample image is accessed in a kernel, the access takes one vector of integers describing which pixel to fetch and an integer corresponding to the sample numbers describing which sample within the pixel to fetch. sample identifies the sample position in the multi-sample image.
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.
Note that image writes to sRGB images are only supported if the cl_khr_srgb_image_writes extension is supported; otherwise the behavior of writing to a sRGB image is undefined.
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.
Image memory objects that are being read and written by a kernel should be declared with the
read_write
qualifier.
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.
The built-in image read functions will perform
sRGB to linear RGB conversions if the image is
an sRGB image. Writing to sRGB images from a
kernel is an optional extension. The
cl_khr_srgb_image_writes
extension will be reported in the
CL_DEVICE_EXTENSIONS
string
if a device supports writing to sRGB images using
write_imagef.
clGetSupportedImageFormats
will return the supported sRGB images if
CL_MEM_READ_WRITE
or
CL_MEM_WRITE_ONLY
is specified in
flags
argument and the
device supports writing to an sRGB image. If
cl_khr_srgb_image_writes
is supported, the
built-in image write functions will perform
the linear to sRGB conversion.
Only the R, G and B components are converted from linear to sRGB and vice-versa. The alpha component is returned as is.
The samplerless read image functions behave exactly as the corresponding read
image functions that take integer coordinates and a sampler with filter mode
set to CLK_FILTER_NEAREST
, normalized coordinates set
to CLK_NORMALIZED_COORDS_FALSE
and addressing mode to
CLK_ADDRESS_NONE
.