blob: 1f430767acc6a51ca11fbbb4a53427e319001150 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">[
<!ENTITY imageFunctionsInc SYSTEM "imageFunctionsInc.xml">
<!ENTITY imageMappingInc SYSTEM "imageMappingInc.xml">
<!ENTITY imageMipmapFunctions2DInc SYSTEM "imageMipmapFunctions2DInc.xml">
]>
<refentry>
<refentryinfo>
<keywordset>
<keyword>read_imagef (2D)</keyword>
</keywordset>
</refentryinfo>
<refmeta>
<refentrytitle>read_imagef (2D)</refentrytitle>
<refmiscinfo>
<copyright>
<year>2007-2013</year>
<holder>The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
</copyright>
</refmiscinfo>
<manvolnum>3</manvolnum>
</refmeta>
<!-- ================================ SYNOPSIS -->
<refnamediv id="read_image2d">
<refname>read_imagef (2D)</refname>
<refpurpose>
Do an element lookup in the 2D image object, returning floating-point values.
</refpurpose>
</refnamediv>
<refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
aQual <link xlink:href="otherDataTypes.html">image2d_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
aQual <link xlink:href="otherDataTypes.html">image2d_array_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
aQual <link xlink:href="otherDataTypes.html">image2d_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
aQual <link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_array_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_array_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
read_only <link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<bridgehead>Functions added with mipmap support enabled by extension
<code>cl_khr_mipmap_image</code>:</bridgehead>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">float</link>
<parameter>lod</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">float</link>
<parameter>lod</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_x</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_y</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_x</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_y</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">float</link>
<parameter>lod</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">float</link>
<parameter>lod</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_x</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_y</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="sampler_t.html">sampler_t</link>
<parameter>sampler</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_x</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">float2</link>
<parameter>gradient_y</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<bridgehead>Functions added with MSAA support enabled by extension
<code>cl_khr_gl_msaa_sharing</code>:</bridgehead>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_msaa_t</link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">int</link>
<parameter>sample</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="vectorDataTypes.html">float4</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_msaa_t </link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">int</link>
<parameter>sample</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_msaa_depth_t </link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int2</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">int</link>
<parameter>sample</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef>
<link xlink:href="scalarDataTypes.html">float</link>
<function>
read_imagef
</function>
</funcdef>
<paramdef>
<link xlink:href="otherDataTypes.html">image2d_array_msaa_depth_t </link>
<parameter>image</parameter>
</paramdef>
<paramdef>
<link xlink:href="vectorDataTypes.html">int4</link>
<parameter>coord</parameter>
</paramdef>
<paramdef>
<link xlink:href="scalarDataTypes.html">int</link>
<parameter>sample</parameter>
</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!-- ================================ DESCRIPTION -->
<refsect1 id="description"><title>Description</title>
<para>
<varname>aQual</varname> refers to one of the access qualifiers
<code>read_only</code>, <code>write_only</code>, or <code>read_write</code>.
For samplerless read functions this may be <code>read_only</code> or <code>read_write</code>.
</para>
<bridgehead>Non-mipmap forms that take <type>image2d_t</type> and return <type>float4:</type></bridgehead>
<para>
Use (<varname>coord.x</varname>, <varname>coord.y</varname>) to do an element
lookup in the 2D image object specified by
<varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the range
[0.0... 1.0] for image objects created with <varname>image_channel_data_type</varname>
set to one of the predefined packed formats or <constant>CL_UNORM_INT8</constant>
or <constant>CL_UNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the range [-1.0... 1.0]
for image objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_SNORM_INT8</constant>, or <constant>CL_SNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values for image objects created
with <varname>image_channel_data_type</varname> set to <constant>CL_HALF_FLOAT</constant>
or <constant>CL_FLOAT</constant>.
</para>
<para>
The <function>read_imagef</function> calls that take integer coordinates must
use a sampler with filter mode set to <constant>CLK_FILTER_NEAREST</constant>,
normalized coordinates set to <constant>CLK_NORMALIZED_COORDS_FALSE</constant>
and addressing mode set to <constant>CLK_ADDRESS_CLAMP_TO_EDGE</constant>,
<constant>CLK_ADDRESS_CLAMP</constant> or <constant>CLK_ADDRESS_NONE</constant>;
otherwise the values returned are undefined.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects with
<varname>image_channel_data_type</varname> values not specified in the description
above are undefined.
</para>
<bridgehead>Non-mipmap forms that take <type>image2d_array_t</type> and return <type>float4:</type></bridgehead>
<para>
Use <emphasis>coord.xy</emphasis> to do an element lookup in the 2D
image identified by <emphasis>coord.z</emphasis> in the 2D image array
specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the range
[0.0... 1.0] for image objects created with <varname>image_channel_data_type</varname>
set to one of the predefined packed formats or <constant>CL_UNORM_INT8</constant>
or <constant>CL_UNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the range [-1.0... 1.0]
for image objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_SNORM_INT8</constant>, or <constant>CL_SNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values for image objects created
with <varname>image_channel_data_type</varname> set to <constant>CL_HALF_FLOAT</constant>
or <constant>CL_FLOAT</constant>.
</para>
<para>
The <function>read_imagef</function> calls that take integer coordinates must
use a sampler with filter mode set to <constant>CLK_FILTER_NEAREST</constant>,
normalized coordinates set to <constant>CLK_NORMALIZED_COORDS_FALSE</constant>
and addressing mode set to <constant>CLK_ADDRESS_CLAMP_TO_EDGE</constant>,
<constant>CLK_ADDRESS_CLAMP</constant> or <constant>CLK_ADDRESS_NONE</constant>;
otherwise the values returned are undefined.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects with
<varname>image_channel_data_type</varname> values not specified in the description
above are undefined.
</para>
<bridgehead>Non-mipmap forms that take <type>image2d_depth_t</type> and return <type>float:</type></bridgehead>
<para>
Use (<varname>coord.x</varname>, <varname>coord.y</varname>) to do an element lookup in the 2D
depth image object
specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value in the range
[0.0... 1.0] for depth image objects created with <varname>image_channel_data_type</varname>
set to <constant>CL_UNORM_INT16</constant>
or <constant>CL_UNORM_INT24</constant>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value for depth
image objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_FLOAT</constant>.
</para>
<para>
The <function>read_imagef</function> calls that take integer coordinates must
use a sampler with filter mode set to <constant>CLK_FILTER_NEAREST</constant>,
normalized coordinates set to <constant>CLK_NORMALIZED_COORDS_FALSE</constant>
and addressing mode set to <constant>CLK_ADDRESS_CLAMP_TO_EDGE</constant>,
<constant>CLK_ADDRESS_CLAMP</constant> or <constant>CLK_ADDRESS_NONE</constant>;
otherwise the values returned are undefined.
</para>
<para>
Values returned by <function>read_imagef</function> for depth image objects with
<varname>image_channel_data_type</varname> values not specified in the description
above are undefined.
</para>
<bridgehead>Non-mipmap forms that take <type>image2d_array_depth_t</type> and return <type>float:</type></bridgehead>
<para>
Use <emphasis>coord.xy</emphasis> to do an element lookup in the 2D
image identified by <emphasis>coord.z</emphasis> in the 2D depth image array
specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value in the range
[0.0... 1.0] for depth image objects created with <varname>image_channel_data_type</varname>
set to <constant>CL_UNORM_INT16</constant>
or <constant>CL_UNORM_INT24</constant>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value for depth
image objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_FLOAT</constant>.
</para>
<para>
The <function>read_imagef</function> calls that take integer coordinates must
use a sampler with filter mode set to <constant>CLK_FILTER_NEAREST</constant>,
normalized coordinates set to <constant>CLK_NORMALIZED_COORDS_FALSE</constant>
and addressing mode set to <constant>CLK_ADDRESS_CLAMP_TO_EDGE</constant>,
<constant>CLK_ADDRESS_CLAMP</constant> or <constant>CLK_ADDRESS_NONE</constant>;
otherwise the values returned are undefined.
</para>
<para>
Values returned by <function>read_imagef</function> for depth image objects with
<varname>image_channel_data_type</varname> values not specified in the description
above are undefined.
</para>
&imageMipmapFunctions2DInc;
<bridgehead>For forms that take image2d_msaa_t and return float4:</bridgehead>
<para>
Use the coordinate (<varname>coord.x, coord.y</varname>)
and <varname>sample</varname> to
do an element lookup in the 2D image object
specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the
range [0.0 … 1.0] for image objects created with
<varname>image_channel_data_type</varname> set to one of the
predefined packed formats or <constant>CL_UNORM_INT8</constant>, or
<constant>CL_UNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the
range [-1.0 … 1.0] for image objects created with
<varname>image_channel_data_type</varname> set to
<constant>CL_SNORM_INT8</constant>,
or <constant>CL_SNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values for image
objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_HALF_FLOAT</constant> or <constant>CL_FLOAT</constant>.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects
with <varname>image_channel_data_type</varname> values not specified
in the description above are undefined.
</para>
<bridgehead>For forms that take image2d_array_msaa_t and return float4:</bridgehead>
<para>
Use <varname>coord.xy</varname> and <varname>sample</varname>
to do an element lookup in
the 2D image identified by <varname>coord.z</varname> in the 2D image
array specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the
range [0.0 … 1.0] for image objects created with
<varname>image_channel_data_type</varname> set to one of the
predefined packed formats or <constant>CL_UNORM_INT8</constant>, or
<constant>CL_UNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values in the
range [-1.0 … 1.0] for image objects created with
<varname>image_channel_data_type</varname> set to <constant>CL_SNORM_INT8</constant>,
or <constant>CL_SNORM_INT16</constant>.
</para>
<para>
<function>read_imagef</function> returns floating-point values for image
objects created with <varname>image_channel_data_type</varname> set to
<constant>CL_HALF_FLOAT</constant> or <constant>CL_FLOAT</constant>.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects
with <varname>image_channel_data_type</varname> values not specified
in the description above are undefined.
</para>
<bridgehead>For forms that take image2d_msaa_depth_t and return float:</bridgehead>
<para>
Use the coordinate (<varname>coord.x, coord.y</varname>)
and <varname>sample</varname> to
do an element lookup in the 2D depth image object
specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value in the
range [0.0 … 1.0] for depth image objects created
with <varname>image_channel_data_type</varname> set to
<constant>CL_UNORM_INT16</constant> or <constant>CL_UNORM_INT24</constant>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value for depth
image objects created with
<varname>image_channel_data_type</varname> set to <constant>CL_FLOAT</constant>.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects
with <varname>image_channel_data_type</varname> values not specified
in the description above are undefined.
</para>
<bridgehead>For forms that take image2d_array_msaa_depth_t and return float:</bridgehead>
<para>
Use <varname>coord.xy</varname> and <varname>sample</varname>
to do an element lookup in
the 2D image identified by <varname>coord.z</varname> in the 2D depth
image array specified by <varname>image</varname>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value in the
range [0.0 … 1.0] for depth image objects created
with <varname>image_channel_data_type</varname> set to
<constant>CL_UNORM_INT16</constant> or <constant>CL_UNORM_INT24</constant>.
</para>
<para>
<function>read_imagef</function> returns a floating-point value for depth
image objects created with
<varname>image_channel_data_type</varname> set to <constant>CL_FLOAT</constant>.
</para>
<para>
Values returned by <function>read_imagef</function> for image objects
with <varname>image_channel_data_type</varname> values not specified
in the description above are undefined.
</para>
</refsect1>
<!-- ================================ NOTES -->
<refsect1 id="notes"><title>Notes</title>
<para>
General information about the <function>read_image</function>* functions follows.
</para>
&imageFunctionsInc;
&imageMappingInc;
</refsect1>
<!-- ================================ SPECIFICATION -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->
<refsect1 id="specification"><title>Specification</title>
<para>
<imageobject>
<imagedata fileref="pdficon_small1.gif" format="gif" />
</imageobject>
<olink uri="imageFunctions">OpenCL Specification</olink>
</para>
</refsect1>
<!-- ================================ ALSO SEE -->
<refsect1 id="seealso"><title>Also see</title>
<para>
<citerefentry href="imageFunctions"><refentrytitle>Image Functions</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>cl_khr_mipmap_image</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>sampler_t</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>cl_khr_gl_msaa_sharing</refentrytitle></citerefentry>
</para>
</refsect1>
<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->
<refsect3 id="Copyright"><title></title>
<imageobject>
<imagedata fileref="KhronosLogo.jpg" format="jpg" />
</imageobject>
<para />
</refsect3>
<!-- 4-Nov-2015, API ver 2.1 rev 19; Ext ver 2.1 rev 10 -->
</refentry>