<?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 imageMipmapFunctions3DInc SYSTEM "imageMipmapFunctions3DInc.xml">
]>

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>read_imagei (3D)</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>read_imagei (3D)</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_imagei (3D)</refname>

        <refpurpose>
            Do an element lookup in the 3D image object, returning unnormalized signed integer and unsigned integer values
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">int4</link>
                    <function>
                        read_imagei
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">int4</link>
                    <function>
                        read_imagei
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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="vectorDataTypes.html">uint4</link>
                    <function>
                        read_imageui
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">uint4</link>
                    <function>
                        read_imageui
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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>

<!-- SAMPLER-LESS FORMS -->

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">int4</link>
                    <function>
                        read_imagei
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">uint4</link>
                    <function>
                        read_imageui
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_t</link>
                    <parameter>image</parameter>
                </paramdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int4</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">int4</link>
                    <function>
                        read_imagei
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">uint4</link>
                    <function>
                        read_imageui
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">int4</link>
                    <function>
                        read_imagei
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">float4</link>
                    <parameter>gradient_x</parameter>
                </paramdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float4</link>
                    <parameter>gradient_y</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">uint4</link>
                    <function>
                        read_imageui
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image3d_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">float4</link>
                    <parameter>gradient_x</parameter>
                </paramdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float4</link>
                    <parameter>gradient_y</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description"><title>Description</title>
        <para>
          The forms that take
          a <type>sampler_t</type> use the coordinate <emphasis>(coord.x, coord.y,
          coord.z)</emphasis> to do an element lookup in the 3D image object specified by
          <varname>image</varname>. <varname>coord.w</varname> is ignored.
        </para>

        <para>
          For the forms that take
          a <type>sampler_t</type> and which are enabled by the
          <citerefentry><refentrytitle>cl_khr_mipmap_image</refentrytitle></citerefentry>
          extension, use the coordinate <emphasis>coord.xyz</emphasis> to do an 
          element lookup in the mip-level specified by <varname>lod</varname> 
          in the 3D image object specified by <varname>image</varname>.
        </para>

        <para>
          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 <constant>CLK_FILTER_NEAREST</constant>, normalized
          coordinates set to <constant>CLK_NORMALIZED_COORDS_FALSE</constant> and addressing
          mode to <constant>CLK_ADDRESS_NONE</constant>.
        </para>

        <para>
          <function>read_imagei</function> and <function>read_imageui</function> return
          unnormalized signed integer and unsigned integer values respectively. Each channel
          will be stored in a 32-bit integer.
        </para>

        <para>
          <function>read_imagei</function> can only be used with image objects created with
          <varname>image_channel_data_type</varname> set to one of the following values:
          <constant>CL_SIGNED_INT8</constant>, <constant>CL_SIGNED_INT16</constant>, or
          <constant>CL_SIGNED_INT32</constant>. If the <varname>image_channel_data_type</varname>
          is not one of the above values, the values returned by <function>read_imagei</function>
          are undefined.
        </para>

        <para>
          <function>read_imageui</function> can only be used with image objects created with
          <varname>image_channel_data_type</varname> set to one of the following values:
          <constant>CL_UNSIGNED_INT8</constant>, <constant>CL_UNSIGNED_INT16</constant>, and
          <constant>CL_UNSIGNED_INT32</constant>. If the <varname>image_channel_data_type</varname>
          is not one of the above values, the values returned by <function>read_imageui</function>
          are undefined.
        </para>

        <para>
          The <function>read_image{i|ui}</function> calls support a nearest filter
          only. The filter_mode specified in <varname>sampler</varname> must be set to
          <constant>CLK_FILTER_NEAREST</constant>; otherwise the values returned are undefined.
        </para>

        <para>
          Furthermore, the <function>read_image{i|ui}</function> calls that take
          integer coordinates must use a sampler with 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>

        &imageMipmapFunctions3DInc;

    </refsect1>

<!-- ================================ NOTES  -->

    <refsect1 id="notes"><title>Notes</title>

        &imageFunctionsInc;

        &imageMappingInc;

        <bridgehead>Mipmap read image functions:</bridgehead>

        <para>
            <constant>CL_SAMPLER_NORMALIZED_COORDS</constant> must be 
            <constant>CL_TRUE</constant> for built-in functions
            described in the table above that read from a mip-mapped 
            image; otherwise the behavior is
            undefined. The value specified in the <varname>lod</varname> 
            argument is clamped to the minimum of (actual
            number of mip-levels – 1) in the image or value specified for 
            <constant>CL_SAMPLER_LOD_MAX</constant>.
        </para>
    </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>
        </para>
    </refsect1>

<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>

<!-- 19-Dec-2013, rev. 19 -->
</refentry>

