<?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>write_image (1D)</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <meta name="keywords" content="write_image1d" />
  </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="write_image1d"></a>
        <h1>write_image1d</h1>
        <p>
            Write <code xmlns="http://www.w3.org/1999/xhtml" class="varname">color</code> value to location in a 1D image object.
        </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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagef
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagef
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_buffer_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="scalarDataTypes.html" target="pagedisplay">int</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">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagef
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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="vectorDataTypes.html" target="pagedisplay">float4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagei
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagei
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_buffer_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="scalarDataTypes.html" target="pagedisplay">int</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">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagei
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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="vectorDataTypes.html" target="pagedisplay">int4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageui
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">uint4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageui
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_buffer_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="scalarDataTypes.html" target="pagedisplay">int</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">uint4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageui
                    </strong>
                (</code>
                <td>
                    aQual <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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="vectorDataTypes.html" target="pagedisplay">uint4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <h2><a id="id-1.4.11"></a>Functions added with half precision support enabled by extension 
        <code class="code">cl_khr_fp16</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageh
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">half4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageh
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_buffer_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="scalarDataTypes.html" target="pagedisplay">int</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">half4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageh
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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="vectorDataTypes.html" target="pagedisplay">half4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
        <h2><a id="id-1.4.15"></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">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">
                    <a class="link" href="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagef
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">lod</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">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">lod</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">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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="scalarDataTypes.html" target="pagedisplay">int</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">lod</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagef
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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">lod</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">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imagei
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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">lod</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">color</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="scalarDataTypes.html" target="pagedisplay">void</a>
                    <strong class="fsfunc">
                        write_imageui
                    </strong>
                (</code>
                <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="otherDataTypes.html" target="pagedisplay">image1d_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">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">lod</var>
                , </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>
                    <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="vectorDataTypes.html" target="pagedisplay">uint4</a>
                     <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">color</var>
                <code>)</code></td>
            </tr>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="description"></a>
        <h2>Description</h2>
        <p>
            <code class="varname">aQual</code> refers to one of the access 
            qualifiers. For write functions this may be
            <code class="code">write_only</code> or <code class="code">read_write</code>.
        </p>
        <h4><a id="id-1.5.3"></a>For <code class="function">write_imagef</code>, <code class="function">write_imagei</code>,
and <code class="function">write_imageui</code> forms that take <span class="type">image1d_t</span> or <span class="type">image1d_buffer_t</span>:</h4>
        <p>
            Write <code class="varname">color</code> value to location 
            specified by <code class="varname">coord</code> in 
            the 1D image or 1D image buffer object specified by 
            <code class="varname">image</code>. Appropriate data format conversion to the 
            specified image format is done before writing the 
            color value. <code class="varname">coord</code> is considered to be unnormalized 
            coordinates and must be in the range 0 ... image 
            width – 1.
       </p>
        <p>
         <code class="function">write_imagef</code> can only be used with image objects created with
         <code class="varname">image_channel_data_type</code> set to one of the pre-defined packed formats
         or set to <code class="constant">CL_SNORM_INT8</code>, <code class="constant">CL_UNORM_INT8</code>,
         <code class="constant">CL_SNORM_INT16</code>, <code class="constant">CL_UNORM_INT16</code>,
         <code class="constant">CL_HALF_FLOAT</code>, or <code class="constant">CL_FLOAT</code>. Appropriate data
         format conversion will be done to convert channel data from a floating-point value to
         actual data format in which the channels are stored.
       </p>
        <p>
         <code class="function">write_imagei</code> functions 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>.
       </p>
        <p>
         <code class="function">write_imageui</code> functions 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>,
         or <code class="constant">CL_UNSIGNED_INT32</code>.
       </p>
        <p>
          The behavior of <code class="function">write_imagef</code>,
          <code class="function">write_imagei</code> and <code class="function">write_imageui</code> for image
          objects created with <code class="varname">image_channel_data_type</code> values not specified
          in the description above or with coordinate values that is not in the range 
          (0 … image width - 1), is undefined.
       </p>
        <h4><a id="id-1.5.9"></a>For <code class="function">write_imagef</code>, <code class="function">write_imagei</code>,
and <code class="function">write_imageui</code> forms that take <span class="type">image1d_array_t</span>:</h4>
        <p>
            Write <code class="varname">color</code> value to location 
            specified by <code class="varname">coord.x</code> in 
            the 1D image identified by <code class="varname">coord.y</code> 
            in the 1D image array specified by 
            <code class="varname">image</code>. Appropriate data format conversion to the 
            specified image format is done before writing the 
            color value. <code class="varname">coord.x</code> and 
            <code class="varname">coord.y</code> are considered to be unnormalized 
            coordinates and must be in the range 0 ... image 
            width – 1 and 0 … image number of layers – 1.
       </p>
        <p>
         <code class="function">write_imagef</code> can only be used with image objects created with
         <code class="varname">image_channel_data_type</code> set to one of the pre-defined packed formats
         or set to <code class="constant">CL_SNORM_INT8</code>, <code class="constant">CL_UNORM_INT8</code>,
         <code class="constant">CL_SNORM_INT16</code>, <code class="constant">CL_UNORM_INT16</code>,
         <code class="constant">CL_HALF_FLOAT</code>, or <code class="constant">CL_FLOAT</code>. Appropriate data
         format conversion will be done to convert channel data from a floating-point value to
         actual data format in which the channels are stored.
       </p>
        <p>
         <code class="function">write_imagei</code> functions 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>.
       </p>
        <p>
         <code class="function">write_imageui</code> functions 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>,
         or <code class="constant">CL_UNSIGNED_INT32</code>.
       </p>
        <p>
          The behavior of <code class="function">write_imagef</code>,
          <code class="function">write_imagei</code> and <code class="function">write_imageui</code> for image
          objects created with <code class="varname">image_channel_data_type</code> values not specified
          in the description above or with (x, y) coordinate values that are not in the range 
          (0 … image width - 1, 0 …image number of layers - 1), respectively, is undefined.
       </p>
        <h4><a id="id-1.5.15"></a>For <code class="function">write_imageh</code>:</h4>
        <p>
         The <code class="function">write_imageh</code> functions are enabled when the half type is
          supported and can only be used with image objects created with
         <code class="varname">image_channel_data_type</code> set to one of the pre-defined packed formats
         or set to <code class="constant">CL_SNORM_INT8</code>, <code class="constant">CL_UNORM_INT8</code>,
         <code class="constant">CL_SNORM_INT16</code>, <code class="constant">CL_UNORM_INT16</code> or
         <code class="constant">CL_HALF_FLOAT</code>.
         Appropriate data format conversion to the specified 
         image format is done before writing the color value. 
         <code class="varname">x</code> &amp; <code class="varname">y</code> are 
         considered to be unnormalized coordinates 
         and must be in the range 0 ... width – 1, and 0 … 
         height – 1.
       </p>
        <h4><a id="id-1.5.17"></a>Mipmap write image functions enabled by 
<a class="citerefentry" href="cl_khr_mipmap_image.html"><span class="citerefentry"><span class="refentrytitle">cl_khr_mipmap_image</span></span></a>:</h4>
        <p>
            For the image write 1D functions enabled by the mipmap extension 
            that take an <span class="type">image1d_t</span> object,
            write <code class="varname">color</code> value to location specified by 
            <code class="varname">coord</code> in the mip-level specified by 
            <code class="varname">lod</code> in the 1D image
            object specified by <code class="varname">image</code>. Appropriate data format
            conversion to the specified image format is done
            before writing the color value. <code class="varname">coord</code> is considered to be 
            an unnormalized coordinate and
            must be in the range 0… image width of the mip-level
            specified by <code class="varname">lod</code> – 1.
        </p>
        <p>
            In these functions, the behavior of <code class="function">write_imagef</code>, 
            <code class="function">write_imagei</code>, and
            <code class="function">write_imageui</code> if the coordinate value is not in
            the range (0… image width of the mip-level
            specified by <code class="varname">lod</code> – 1) or <code class="varname">lod</code> value exceeds the
            (number of mip-levels in the image – 1) is
            undefined.
        </p>
        <p>
            For the image write 1D functions enabled by the mipmap extension 
            that take an <span class="type">image1d_array_t</span> object,
            write <code class="varname">color</code> value to location specified by 
            <code class="varname">coord.x</code> in the 1D image
             specified by <code class="varname">coord.y</code> and mip-level <code class="varname">lod</code> 
            in the 1D image array specified by <code class="varname">image</code>. Appropriate data format
            conversion to the specified image format is done
            before writing the color value. <code class="varname">coord.x</code> and  
            <code class="varname">coord.y</code> are considered to be unnormalized 
            coordinates and
            must be in the range 0… image width of mip-level
            specified by <code class="varname">lod</code> - 1 and 0… image number of layers - 1.
        </p>
        <p>
            In these functions, the behavior of <code class="function">write_imagef</code>, 
            <code class="function">write_imagei</code>, and
            <code class="function">write_imageui</code> if (<span class="emphasis"><em>x, y</em></span>) 
            coordinate values are not
            in the range (0… image width of the mip-level
            specified by <code class="varname">lod</code> – 1, 0… image number of
            layers – 1), respectively or <code class="varname">lod</code> value exceeds the
            (number of mip-levels in the image – 1), is
            undefined.
        </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>
        <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.7"></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>
        <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>
      </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.1-openclc.pdf#page=127" 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>
        </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-2015 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>
