<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style xmlns="" type="text/css">
    /* This style sets a margin around the entire page */
        html, body {
            margin: 10px;
        }

        p {
            font: normal 16px verdana, sans-serif;
            margin: 0;
            padding-bottom:12px;
        }

        h1 {
            font: bold 25px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        h2 {
            font: bold 19px verdana, sans-serif;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        h3 {
            font: bold 19px verdana, sans-serif !important;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        li {
            font: normal 16px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 18px;
            padding-top: 0;
            padding-bottom: 0;
        }

        .pdparam {
            font: italic 16px verdana, sans-serif;
        }

                .term {
                        font: italic 16px verdana, sans-serif;
                        font-weight: normal;
                }

                .type {
                        font: normal 16px verdana, sans-serif !important;
                }

                .parameter {
                        font-style: italic;
                        }

        a:link, a:visited {
            color: blue;
            text-decoration: none;
            font: normal 16px;
        }

        a:hover {
            background-color: #FFFF99;
            font: normal 16px;
        }

        div.funcsynopsis {
            text-align: left;
            background-color: #e6e6e6;
            font: normal 16px verdana, sans-serif;
                        padding-top: 10px;
                        padding-bottom: 10px;
        }

        div.funcsynopsis table {
            border-collapse: separate;
            font: normal 16px verdana, sans-serif;
        }

        div.funcsynopsis td {
            background-color: #e6e6e6;
            border: 0 solid #000;
            padding: 1px;
            font: normal 16px verdana, sans-serif;
        }

        div.refsect1 {
            font-family: verdana, sans-serif;
            font-size: 16px;
        }

        code.constant {
            font: normal 16px courier new, monospace !important;
        }

                span.errorname {
            font: normal 16px verdana, sans-serif !important;
        }

        code.function {
            font: bold 16px verdana, sans-serif !important;
        }

        b.fsfunc {
            font: bold 16px verdana, sans-serif !important;
        }

        code.varname {
            font: italic 16px verdana, sans-serif;
        }

        code.replaceable {
            font: italic 16px courier new, monospace;
        }

        code.funcdef {
            font: normal 16px verdana, sans-serif !important;
        }

        .citerefentry {
            font: normal 16px verdana, sans-serif !important;
        }

        .parameter {
            font-style: italic;
        }

        code.fsfunc {
            font: normal 16px verdana, sans-serif !important;
        }

        /* PARAMETER: This style controls spacing between the terms in Parameter section */
        dt {
            margin-top: 15px;
        }

        /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
        div.refsect1 table {
            width: 100%;
                        margin-top: 10px;
            background-color: #FFF;
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
                        font: normal 16px verdana, sans-serif;
        }

        div.refsect1 th {
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
            font: bold 16px verdana, sans-serif;
        }

        div.refsect1 td {
            background-color: #FFF;
            padding: 5px;
            vertical-align: text-top;
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
            font: normal 16px verdana, sans-serif;
        }

                  div.refsect1 p{
            font: normal 16px verdana, sans-serif;
            margin-top: 8px;
            margin-bottom: 8px;
            padding-top: 0;
            padding-bottom: 0;
        }


        /* EXAMPLE: These styles apply only to the Example section */
        div.refsect2 {
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 table {
            margin-top: 0;
            background-color: #e6e6e6;
            width: 100%;
            border: 0 solid #000;
            padding: 2px;
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 td {
            background-color: #e6e6e6;
            font: normal 16px courier new, monospace !important;
                        white-space:pre;
        }

        /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
        div.refsect3 {
            font: normal 11px verdana, sans-serif;
            margin-top: 50px;
            margin-bottom: 20px;
            padding-top: 0;
            padding-bottom: 0;
        }

</style>
    <title>read_imagei (2D)</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <meta name="keywords" content="read_imagei (2D)" />
  </head>
  <body>
    <div class="refentry">
      <a id="id-1"></a>
      <div class="titlepage"></div>
      <div xmlns="" class="refnamediv">
        <a xmlns="http://www.w3.org/1999/xhtml" id="read_image2d"></a>
        <h1>read_image{i|ui} (2D)</h1>
        <p>
            Do an element lookup in the 2D image object, returning unnormalized signed integer and unsigned integer values.
        </p>
      </div>
      <div class="refsynopsisdiv">
        <h2></h2>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <h2><a id="id-1.4.14"></a>Functions added with mipmap support enabled by extension 
        <code class="code">cl_khr_mipmap_image</code>:</h2>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="scalarDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">float</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">lod</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">float</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">lod</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_x</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_y</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_x</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_y</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">float</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">lod</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">float</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">lod</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_x</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_y</var>
                <code>)</code></td>
            </tr>
          </table>
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="sampler_t.html" target="pagedisplay">sampler_t</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sampler</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_x</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">float2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">gradient_y</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <h2><a id="id-1.4.16"></a>Functions added with MSAA support enabled by extension 
        <code class="code">cl_khr_gl_msaa_sharing</code>:</h2>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_msaa_t </a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">int</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sample</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_msaa_t </a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int2</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">int</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sample</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                    <strong class="fsfunc">
                        read_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_msaa_t </a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">int</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sample</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                    <strong class="fsfunc">
                        read_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image2d_array_msaa_t </a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">image</var>
                , </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">coord</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="scalarDataTypes.html" target="pagedisplay">int</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">sample</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="description"></a>
        <h2>Description</h2>
        <p>
          For the forms that take an <span class="type">image2d_t</span> object, use the coordinate
          <span class="emphasis"><em>(coord.x, coord.y)</em></span> to do an element lookup in the 2D image object
          specified by <code class="varname">image</code>.
        </p>
        <p>
          For the forms that take an <span class="type">image2d_array_t</span> object, use
          the gradients to compute the lod and 
          coordinate <span class="emphasis"><em>coord.xy</em></span> to do an element lookup in 
          the mip-level specified by the computed lod in 
          the 2D image object specified by <code class="varname">image</code>.
        </p>
        <p>
          For the forms that take an <span class="type">image2d_t</span> object and gradients, use
          <span class="emphasis"><em>coord.xy</em></span> to do an element lookup in the 2D image identified by
          <span class="emphasis"><em>coord.z</em></span> in the 2D image array specified by <code class="varname">image</code>.
        </p>
        <p>
            For forms that take <span class="type">image2d_msaa_t</span>,
            use the coordinate (<code class="varname">coord.x, coord.y</code>) and <code class="varname">sample</code> to 
            do an element lookup in the 2D image object 
            specified by <code class="varname">image</code>.
        </p>
        <p>
            For forms that take <span class="type">image2d_array_msaa_t</span>,
            use <code class="varname">coord.xy</code> and <code class="varname">sample</code> to do an element lookup in 
            the 2D image identified by <code class="varname">coord.z</code> in the 2D image 
            array specified by <code class="varname">image</code>.
        </p>
        <p>
          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 <code class="constant">CLK_FILTER_NEAREST</code>, normalized coordinates set
          to <code class="constant">CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode to
          <code class="constant">CLK_ADDRESS_NONE</code>.
        </p>
        <p>
          <code class="function">read_imagei</code> and <code class="function">read_imageui</code> return
          unnormalized signed integer and unsigned integer values respectively. Each channel
          will be stored in a 32-bit integer.
        </p>
        <p>
          <code class="function">read_imagei</code> can only be used with image objects created with
          <code class="varname">image_channel_data_type</code> set to one of the following values:
          <code class="constant">CL_SIGNED_INT8</code>, <code class="constant">CL_SIGNED_INT16</code>, or
          <code class="constant">CL_SIGNED_INT32</code>. If the <code class="varname">image_channel_data_type</code>
          is not one of the above values, the values returned by <code class="function">read_imagei</code>
          are undefined.
        </p>
        <p>
          <code class="function">read_imageui</code> can only be used with image objects created with
          <code class="varname">image_channel_data_type</code> set to one of the following values:
          <code class="constant">CL_UNSIGNED_INT8</code>, <code class="constant">CL_UNSIGNED_INT16</code>, and
          <code class="constant">CL_UNSIGNED_INT32</code>. If the <code class="varname">image_channel_data_type</code>
          is not one of the above values, the values returned by <code class="function">read_imageui</code>
          are undefined.
        </p>
        <p>
          For the forms that take a sampler, the <code class="function">read_imagei</code> and 
          <code class="function">read_imageui</code> calls
          support a nearest filter only. The <code class="varname">filter_mode</code> specified in
          <code class="varname">sampler</code> must be set to <code class="constant">CLK_FILTER_NEAREST</code>;
          otherwise the values returned are undefined.
        </p>
        <p>
          Furthermore, for the forms that take a sampler, the <code class="function">read_imagei</code> 
          and <code class="function">read_imageui</code>
          calls that take integer coordinates must use a sampler with normalized coordinates
          set to <code class="constant">CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode set to
          <code class="constant">CLK_ADDRESS_CLAMP_TO_EDGE</code>, <code class="constant">CLK_ADDRESS_CLAMP</code>
          or <code class="constant">CLK_ADDRESS_NONE</code>; otherwise the values returned are undefined.
        </p>
        <h4><a id="id-1.5.13"></a>Mipmap read image functions:</h4>
        <p>
        For the forms that take an <span class="type">image2d_t</span> object, 
        use the coordinate <code class="varname">coord.xy</code> to 
        do an element lookup in the mip-level specified by  
        <code class="varname">lod</code> in the 2D image object specified 
        by <code class="varname">image</code>.
    </p>
        <p>
        For the forms that use gradients, use the gradients to compute 
        the lod and coordinate <span class="emphasis"><em>coord.xy</em></span> to do an 
        element lookup in
        the mip-level specified by the computed lod in
        the 2D image object specified by <code class="varname">image</code>.
    </p>
        <p>
        For the forms that take an <span class="type">image2d_array_t</span> object, 
        use the coordinate <span class="emphasis"><em>coord.xy</em></span> to 
        do an element lookup in the 2D image identified by 
        <span class="emphasis"><em>coord.z</em></span> and mip-level specified by  
        <code class="varname">lod</code> in the 2D image object specified 
        by <code class="varname">image</code>.
    </p>
        <p>
        For the forms that take an <span class="type">image2d_array_t</span> 
        object and that use gradients, 
        use the gradients to compute the lod coordinate
        and <span class="emphasis"><em>coord.xy</em></span> to 
        do an element lookup in the 2D image identified by 
        <span class="emphasis"><em>coord.z</em></span> and mip-level specified by  
        <code class="varname">lod</code> in the 2D image object specified 
        by <code class="varname">image</code>.
    </p>
        <p>
        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.
    </p>
      </div>
      <div class="refsect1">
        <a id="notes"></a>
        <h2>Notes</h2>
        <p>
     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.
  </p>
        <p>
    Note that image writes to sRGB images are only supported if the 
    <a class="citerefentry" href="cl_khr_srgb_image_writes.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_srgb_image_writes</span></span></a> 
    extension is supported; 
    otherwise the behavior of writing to a sRGB image is undefined.
  </p>
        <p>
    Image memory objects that are being read by a kernel should be declared with the <a class="citerefentry" href="accessQualifiers.html"><span class="citerefentry"><span class="refentrytitle">read_only</span></span></a>
    qualifier. <code class="function">write_image</code> calls to image memory objects declared with the
    <a class="citerefentry" href="accessQualifiers.html"><span class="citerefentry"><span class="refentrytitle">read_only</span></span></a>
    qualifier will generate a compilation error. Image memory objects that
    are being written to by a kernel should be declared with the <a class="citerefentry" href="accessQualifiers.html"><span class="citerefentry"><span class="refentrytitle">write_only</span></span></a> qualifier.
    <code class="function">read_image</code> calls to image memory objects declared with the <a class="citerefentry" href="accessQualifiers.html"><span class="citerefentry"><span class="refentrytitle">write_only</span></span></a>
    qualifier will generate a compilation error. <code class="function">read_image</code> and
    <code class="function">write_image</code> 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 
    <a class="citerefentry" href="accessQualifiers.html"><span class="citerefentry"><span class="refentrytitle">read_write</span></span></a> 
    qualifier.
  </p>
        <p>
    The <code class="function">read_image</code> calls returns a four component floating-point, integer or
    unsigned integer color value. The color values returned by <code class="function">read_image</code>
    are identified as <code class="code">x, y, z, w</code> where <code class="code">x</code> refers to the red component,
    <code class="code">y</code> refers to the green component, <code class="code">z</code> refers to the blue component
    and <code class="code">w</code> refers to the alpha component.
  </p>
        <h4><a id="id-1.6.6"></a>sRGB Images</h4>
        <p>
    
    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 
    <a class="citerefentry" href="cl_khr_srgb_image_writes.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_srgb_image_writes</span></span></a> 
    extension will be reported in the 
    <code class="constant">CL_DEVICE_EXTENSIONS</code> string 
    if a device supports writing to sRGB images using 
    <a class="citerefentry" href="imageFunctions.html"><span class="citerefentry"><span class="refentrytitle">write_imagef</span></span></a>. 
    <a class="citerefentry" href="clGetSupportedImageFormats.html"><span class="citerefentry"><span class="refentrytitle">clGetSupportedImageFormats</span></span></a> 
    will return the supported sRGB images if 
    <code class="constant">CL_MEM_READ_WRITE</code> or 
    <code class="constant">CL_MEM_WRITE_ONLY</code> is specified in 
    <code class="varname">flags</code> argument and the 
    device supports writing to an sRGB image. If 
    <a class="citerefentry" href="cl_khr_srgb_image_writes.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_srgb_image_writes</span></span></a> 
    is supported, the 
    built-in image write functions will perform 
    the linear to sRGB conversion. 
  </p>
        <p>
    Only the R, G and B components are converted from 
    linear to sRGB and vice-versa. The alpha 
    component is returned as is.
  </p>
        <p>
      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 <code class="constant">CLK_FILTER_NEAREST</code>, normalized coordinates set
      to <code class="constant">CLK_NORMALIZED_COORDS_FALSE</code> and addressing mode to
      <code class="constant">CLK_ADDRESS_NONE</code>.
    </p>
        <h4><a id="id-1.6.10"></a>Mapping image channels to color values</h4>
        <p>
     The following table describes the mapping
    of the number of channels of an image element to the appropriate components in the
    <span class="type">float4</span>, <span class="type">int4</span> or <span class="type">uint4</span> vector data type for
    the color values returned by <code class="function">read_image{f|i|ui}</code> or supplied
    to <code class="function">write_image{f|i|ui}</code>. The unmapped components will be set
    to <code class="constant">0.0</code> for red, green and blue channels and will be set to
    <code class="constant">1.0</code> for the alpha channel.
  </p>
        <p>
    </p>
        <div class="informaltable">
          <table border="1">
            <colgroup>
              <col align="center" class="col1" />
              <col align="center" class="col2" />
            </colgroup>
            <thead>
              <tr>
                <th align="center">Channel Order</th>
                <th align="center"><span class="type">float4</span>, <span class="type">int4</span> or <span class="type">uint4</span> components of channel data</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center"><code class="constant">CL_R</code>, <code class="constant">CL_Rx</code></td>
                <td align="center">
                  <code class="constant">(r, 0.0, 0.0, 1.0)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
                  <code class="constant">CL_A</code>
                </td>
                <td align="center">
                  <code class="constant">(0.0, 0.0, 0.0, a)</code>
                </td>
              </tr>
              <tr>
                <td align="center"><code class="constant">CL_RG</code>, <code class="constant">CL_RGx</code></td>
                <td align="center">
                  <code class="constant">(r, g, 0.0, 1.0)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
                  <code class="constant">CL_RA</code>
                </td>
                <td align="center">
                  <code class="constant">(r, 0.0, 0.0, a)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
               <code class="constant">CL_RGB</code>, 
               <code class="constant">CL_RGBx</code>, 
               <code class="constant">CL_sRGB</code>, 
               <code class="constant">CL_sRGBx</code>
            </td>
                <td align="center">
                  <code class="constant">(r, g, b, 1.0)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
                  <code class="constant">CL_RGBA, CL_BGRA, CL_ARGB, CL_ABGR, CL_sRGBA, CL_sBGRA</code>
                </td>
                <td align="center">
                  <code class="constant">(r, g, b, a)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
                  <code class="constant">CL_INTENSITY</code>
                </td>
                <td align="center">
                  <code class="constant">(I, I, I, I)</code>
                </td>
              </tr>
              <tr>
                <td align="center">
                  <code class="constant">CL_LUMINANCE</code>
                </td>
                <td align="center">
                  <code class="constant">(L, L, L, 1.0)</code>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <p>
  </p>
        <p>
      For <code class="constant">CL_DEPTH</code> images, a scalar value is 
      returned by <code class="function">read_imagef</code> or supplied to
      <code class="function">write_imagef</code>.
  </p>
        <p>
    A kernel that uses a sampler with the <code class="constant">CL_ADDRESS_CLAMP</code> addressing
    mode with multiple images may result in additional samplers being used internally
    by an implementation. If the same sampler is used with multiple images called via
    <code class="function">read_image{f|i|ui}</code>, then it is possible that an implementation may
    need to allocate an additional sampler to handle the different border color values that
    may be needed depending on the image formats being used. These implementation allocated
    samplers will count against the maximum sampler values supported by the device and given by
    <code class="constant">CL_DEVICE_MAX_SAMPLERS</code>. Enqueuing a kernel that requires more samplers
    than the implementation can support will result in a <code class="constant">CL_OUT_OF_RESOURCES</code>
    error being returned.
  </p>
        <p>
        <code class="constant">CL_SAMPLER_NORMALIZED_COORDS</code> must be 
        <code class="constant">CL_TRUE</code> 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 <code class="varname">lod</code> 
        argument is clamped to the minimum of (actual
        number of mip-levels – 1) in the image or value specified for 
        <code class="constant">CL_SAMPLER_LOD_MAX</code>.
    </p>
        <h4><a id="id-1.6.16"></a>Mipmap read image functions:</h4>
        <p>
            <code class="constant">CL_SAMPLER_NORMALIZED_COORDS</code> must be <code class="constant">CL_TRUE</code> 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 <code class="varname">lod</code> argument is clamped to the minimum of (actual
            number of mip-levels – 1) in the image or value specified for <code class="constant">CL_SAMPLER_LOD_MAX</code>.
        </p>
      </div>
      <div class="refsect1">
        <a id="specification"></a>
        <h2>Specification</h2>
        <p>
            <img src="pdficon_small1.gif" />

            <a href="https://www.khronos.org/registry/cl/specs/opencl-2.0-openclc.pdf#page=126" target="OpenCL Spec">OpenCL Specification</a>
        </p>
      </div>
      <div class="refsect1">
        <a id="seealso"></a>
        <h2>Also see</h2>
        <p>
            <a class="citerefentry" href="imageFunctions.html"><span class="citerefentry"><span class="refentrytitle">Image Functions</span></span></a>,
            <a class="citerefentry" href="cl_khr_mipmap_image.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_mipmap_image</span></span></a>,
            <a class="citerefentry" href="sampler_t.html"><span class="citerefentry"><span class="refentrytitle">sampler_t</span></span></a>,
            <a class="citerefentry" href="cl_khr_gl_msaa_sharing.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_gl_msaa_sharing</span></span></a>
        </p>
      </div>
      <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></p>Copyright © 2007-2013 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.
</div>
    </div>
  </body>
</html>
