<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">[
<!ENTITY imageFunctionsInc SYSTEM "imageFunctionsInc.xml">
]>

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>write_image1d</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>write_image (1D)</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2011</year>
                <holder>The Khronos Group Inc.
 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>3</manvolnum>
    </refmeta>

<!-- ================================ SYNOPSIS -->

    <refnamediv id="write_image1d">
        <refname>write_image1d</refname>

        <refpurpose>
            Write <varname>color</varname> value to location in a 1D image object.
        </refpurpose>
    </refnamediv>

<!-- FLOAT -->

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagef
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagef
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_buffer_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagef
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int2</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

<!-- INT -->

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagei
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagei
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_buffer_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imagei
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int2</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

<!-- UINT -->

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageui
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">uint4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageui
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_buffer_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">uint4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageui
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int2</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">uint4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

<!-- HALF -->

         <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageh
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">half4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageh
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_buffer_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">half4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>
                        write_imageh
                    </function>
                </funcdef>

                <paramdef>
                    <link xlink:href="otherDataTypes.html">image1d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">int2</link>
                    <parameter>coord</parameter>
                </paramdef>

                <paramdef>
                    <link xlink:href="vectorDataTypes.html">half4</link>
                    <parameter>color</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

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

    <refsect1 id="description"><title>Description</title>
       
       
       
        <para>
         <function>write_imagef</function> can only be used with image objects created with
         <varname>image_channel_data_type</varname> set to one of the pre-defined packed formats
         or set to <constant>CL_SNORM_INT8</constant>, <constant>CL_UNORM_INT8</constant>,
         <constant>CL_SNORM_INT16</constant>, <constant>CL_UNORM_INT16</constant>,
         <constant>CL_HALF_FLOAT</constant>, or <constant>CL_FLOAT</constant>. 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.
       </para>

       <para>
         <function>write_imagei</function> functions can only be used with image objects
         created with <varname>image_channel_data_type</varname> set to one of the following
         values: <constant>CL_SIGNED_INT8</constant>, <constant>CL_SIGNED_INT16</constant>,
         or <constant>CL_SIGNED_INT32</constant>.
       </para>

       <para>
         <function>write_imageui</function> functions can only be used with image objects
         created with <varname>image_channel_data_type</varname> set to one of the following
         values: <constant>CL_UNSIGNED_INT8</constant>, <constant>CL_UNSIGNED_INT16</constant>,
         or <constant>CL_UNSIGNED_INT32</constant>.
       </para>

       <para>
         The <function>write_imageh</function> functions are enabled when the half type is
          supported and can only be used with image objects created with
         <varname>image_channel_data_type</varname> set to one of the pre-defined packed formats
         or set to <constant>CL_SNORM_INT8</constant>, <constant>CL_UNORM_INT8</constant>,
         <constant>CL_SNORM_INT16</constant>, <constant>CL_UNORM_INT16</constant> or
         <constant>CL_HALF_FLOAT</constant>.  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.
       </para>

       
       <bridgehead>Functions that take image1d_t or image1d_buffer_t</bridgehead>
        <para>
         The functions that take image1d_t or image1d_buffer_t write the <varname>color</varname>
         value to the location specified by <varname>coord</varname> in the 1D image or 1D image buffer
         object specified by <varname>image</varname>. Appropriate data format conversion to the
         specified image format is done before writing the color value. <varname>coord</varname> is
         considered to be unnormalized coordinates and must be in the range 0... image width - 1.
       </para>

       <para>
         for functions taking image1d_t or image1d_buffer_t, the behavior of
         <function>write_imagef</function>, <function>write_imagei</function>,
         <function>write_imageui</function>, and <function>write_imageh</function> for image
         objects created with <varname>image_channel_data_type</varname> values not specified in
         the description above or with coordinate values that are not in the range (0... image
         width - 1), is undefined.
       </para>
       
       <bridgehead>Functions that take image1d_array_t</bridgehead>
       
        <para>
         The functions that take image1d_array_t write the <varname>color</varname> value to the location specified by
         <emphasis>coord.x</emphasis> in the 1D image identified by <emphasis>coord.y</emphasis>
         in the 1D image array specified by <varname>image</varname>. Appropriate data format
         conversion to the specified image format is done before writing the color value.
         <emphasis>coord.x</emphasis> and <emphasis>coord.y</emphasis> are considered to be
         unnormalized coordinates and must be in the range 0 &hellip; image width - 1 and 0 &hellip;
         image number of layers - 1.
       </para>
       
 <para>
          For functions taking image1d_array_t, the behavior of <function>write_imagef</function>,
          <function>write_imagei</function> and <function>write_imageui</function> for image
          objects created with <varname>image_channel_data_type</varname> values not specified
          in the description above or with (x, y) coordinate values that are not in the range 
          (0 &hellip; image width - 1, 0 &hellip;image number of layers - 1), respectively, is undefined.
        </para>

    </refsect1>

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

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

      &imageFunctionsInc;

    </refsect1>


<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="imageFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="imageFunctions"><refentrytitle>Image Functions</refentrytitle></citerefentry>
        </para>
    </refsect1>


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

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

<!-- 12-Oct-2011 -->
</refentry>

