<?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">

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>clEnqueueCopyBufferToImage</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>
            clEnqueueCopyBufferToImage
        </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="clEnqueueCopyBufferToImage">
        <refname>
            clEnqueueCopyBufferToImage
        </refname>

        <refpurpose>
            Enqueues a command to copy a buffer object to an image object.
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">cl_int</link>
 <function>clEnqueueCopyBufferToImage</function>
                </funcdef>
                    <paramdef><link xlink:href="abstractDataTypes.html">cl_command_queue</link><parameter>command_queue</parameter></paramdef>
                    <paramdef><link xlink:href="abstractDataTypes.html">cl_mem</link><parameter>src_buffer</parameter></paramdef>
                    <paramdef><link xlink:href="abstractDataTypes.html">cl_mem</link> <parameter>dst_image</parameter></paramdef>
                    <paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>src_offset</parameter></paramdef>
                    <paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>*dst_origin</parameter></paramdef>
                    <paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>*region</parameter></paramdef>
                    <paramdef><link xlink:href="scalarDataTypes.html">cl_uint</link><parameter>num_events_in_wait_list</parameter></paramdef>
                    <paramdef>const <link xlink:href="abstractDataTypes.html">cl_event</link><parameter>*event_wait_list</parameter></paramdef>
                    <paramdef><link xlink:href="abstractDataTypes.html">cl_event</link><parameter>*event</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

<!-- ================================ PARAMETERS -->

    <refsect1 id="parameters">
        <title>Parameters</title>
        <variablelist>

            <varlistentry>
                <term> <varname> command_queue </varname> </term>
                <listitem>
                    <para>
                      A valid command-queue. The OpenCL context associated with
                      <varname>command_queue</varname>, <varname>src_buffer</varname>, and
                      <varname>dst_image</varname> must be the same.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> src_buffer </varname> </term>
                <listitem>
                    <para>
                        A valid buffer object.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> dst_image </varname> </term>
                <listitem>
                    <para>
                        A valid image object.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> src_offset </varname> </term>
                <listitem>
                    <para>
                      The offset where to begin copying data from <varname>src_buffer</varname>.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> dst_origin </varname> </term>
                <listitem>
                    <para>
                      Defines the (x, y, z) offset in pixels in the 1D, 2D or 3D image,
                      the (x, y) offset and the image index in the 2D image array or the
                      (x) offset and the image index in the 1D image array.  If dst_image
                      is a 2D image object, <varname>dst_origin</varname>[2] must be 0.
                      If <varname>dst_image</varname> is a 1D image or 1D image buffer object,
                      <varname>dst_origin</varname>[1] and <varname>dst_origin</varname>[2]
                      must be 0.  If <varname>dst_image</varname> is a 1D image array object,
                      <varname>dst_origin</varname>[2] must be 0.  If <varname>dst_image</varname>
                      is a 1D image array object, <varname>dst_origin</varname>[1] describes
                      the image index in the 1D image array. If <varname>dst_image</varname>
                      is a 2D image array object, <varname>dst_origin</varname>[2] describes
                      the image index in the 2D image array.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> region </varname> </term>
                <listitem>
                    <para>
                      Defines the (width, height, depth) in pixels of the 1D, 2D or 3D rectangle,
                      the (width, height) in pixels of the 2D rectangle and the number of images
                      of a 2D image array or the (width) in pixels of the 1D rectangle and the
                      number of images of a 1D image array.  If <varname>dst_image</varname>
                      is a 2D image object, <varname>region</varname>[2] must be 1. If
                      <varname>dst_image</varname> is a 1D image or 1D image buffer object,
                      <varname>region</varname>[1] and <varname>region</varname>[2] must
                      be 1.  If <varname>dst_image</varname> is a 1D image array object,
                      <varname>region</varname>[2] must be 1.
                    </para>

                    <para>
                      The size in bytes of the region to be copied
                      from <varname>src_buffer</varname> referred to as
                      <varname>src_cb</varname> is computed as <varname>width</varname>
                      * <varname>height</varname> * <varname>depth</varname> *
                      <varname>bytes</varname>/<varname>image_element</varname> if
                      <varname>dst_image</varname> is a 3D image object, is computed
                      as <varname>width</varname> * <varname>height</varname> *
                      <varname>bytes</varname>/<varname>image_element</varname>
                      if <varname>dst_image</varname> is a 2D
                      image, is computed as <varname>width</varname> *
                      <varname>height</varname> * <varname>arraysize</varname> *
                      <varname>bytes</varname>/<varname>image_element</varname>
                      if <varname>dst_image</varname> is a 2D image array
                      object, is computed as <varname>width</varname> *
                      <varname>bytes</varname>/<varname>image_element</varname> if
                      <varname>dst_image</varname> is a 1D image or 1D image buffer object and
                      is computed as <varname>width</varname> * <varname>arraysize</varname>
                      * <varname>bytes</varname>/<varname>image_element</varname> if
                      <varname>dst_image</varname> is a 1D image array object.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname>
                        event_wait_list
                    ,</varname>
                    <varname>
                        num_events_in_wait_list
                    </varname>
                </term>

                <listitem>
                    <para>
                      Specify events that need to complete before this particular
                      command can be executed. If <varname>event_wait_list</varname>
                      is NULL, then this particular command does not wait on any
                      event to complete. If <varname>event_wait_list</varname> is
                      NULL, <varname>num_events_in_wait_list</varname> must be 0. If
                      <varname>event_wait_list</varname> is not NULL, the list of events
                      pointed to by <varname>event_wait_list</varname> must be valid
                      and <varname>num_events_in_wait_list</varname> must be greater
                      than 0. The events specified in <varname>event_wait_list</varname>
                      act as synchronization points. The context associated with events in
                      <varname>event_wait_list</varname> and <varname>command_queue</varname>
                      must be the same.  The memory associated with event_wait_list can be
                      reused or freed after the function returns.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term> <varname> event </varname> </term>
                <listitem>
                    <para>
                      Returns an event object that identifies this particular copy command
                      and can be used to query or queue a wait for this particular
                      command to complete. <varname>event</varname> can be NULL in
                      which case it will not be possible for the application to query the
                      status of this command or queue a wait for this command to complete.
                      <citerefentry><refentrytitle>clEnqueueBarrierWithWaitList</refentrytitle></citerefentry>
                      can be used instead.  If the <varname>event_wait_list</varname>
                      and the <varname>event</varname> arguments are not NULL, the
                      <varname>event</varname> argument should not refer to an element of the
                      <varname>event_wait_list</varname> array.
                    </para>
                </listitem>
            </varlistentry>
           </variablelist>
    </refsect1>

<!-- ================================ NOTES  -->
<!-- Use <function /> to refer ONLY to the function that this page describes. All other functions should use
     <citerefentry /><refentrytitle /> to make it a link. Use <varname /> for parameters. Use <constant /> for
     constants (or anything to be set in monospace, non-bold type.

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

        </para>

    </refsect1>-->

<!-- ================================ ERRORS  -->

    <refsect1 id="errors"><title>Errors</title>
        <para>
          <function>clEnqueueCopyBufferToImage</function> returns <errorname>CL_SUCCESS</errorname>
          if the function is executed successfully. Otherwise, it returns one of the following
          errors:
        </para>

        <itemizedlist mark="disc">
            <listitem>
              <errorname>CL_INVALID_COMMAND_QUEUE</errorname> if <varname>command_queue</varname>
              is not a valid command-queue.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_CONTEXT</errorname> if the context associated
              with <varname>command_queue</varname>, <varname>src_buffer</varname> and
              <varname>dst_image</varname> are not the same or if the context associated with
              <varname>command_queue</varname> and events in <varname>event_wait_list</varname>
              are not the same.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_MEM_OBJECT</errorname> if <varname>src_buffer</varname> is
              not a valid buffer object and <varname>dst_image</varname> is not a valid image
              object or if <varname>dst_image</varname> is a 1D image buffer object created
              from <varname>src_buffer</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_VALUE</errorname> if the 1D, 2D, or 3D rectangular region
              specified by <varname>dst_origin</varname> and <varname>dst_origin</varname> +
              <varname>region</varname> refers to a region outside <varname>dst_origin</varname>,
              or if the region specified by <varname>src_offset</varname> and
              <varname>src_offset</varname> + <varname>src_cb</varname> refers to a region
              outside <varname>src_buffer</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_VALUE</errorname> if values in <varname>dst_origin</varname>
              and <varname>region</varname> do not follow rules described in the argument
              description for <varname>dst_origin</varname> and <varname>region</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_EVENT_WAIT_LIST</errorname>
              if <varname>event_wait_list</varname> is NULL and
              <varname>num_events_in_wait_list</varname> &gt; 0,
              or <varname>event_wait_list</varname> is not NULL and
              <varname>num_events_in_wait_list</varname> is 0, or if event objects in
              <varname>event_wait_list</varname> are not valid events.
            </listitem>

            <listitem>
              <errorname>CL_MISALIGNED_SUB_BUFFER_OFFSET</errorname> if
              <varname>src_buffer</varname> is a sub-buffer object and <varname>offset</varname>
              specified when the sub-buffer object is created is not aligned to
              <constant>CL_DEVICE_MEM_BASE_ADDR_ALIGN</constant> value for device associated
              with <varname>queue</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_IMAGE_SIZE</errorname> if image dimensions (image width,
              height, specified or compute row and/or slice pitch) for <varname>dst_image</varname>
              are not supported by device associated with <varname>queue</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_IMAGE_FORMAT</errorname> if image format (image channel
              order and data type) for <varname>dst_image</varname> are not supported by device
              associated with <varname>queue</varname>.
            </listitem>

            <listitem>
              <errorname>CL_MEM_OBJECT_ALLOCATION_FAILURE</errorname> if there is a failure
              to allocate memory for data store associated with <varname>src_buffer</varname>
              or <varname>dst_image</varname>.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_OPERATION</errorname> if the device associated
              with <varname>command_queue</varname> does not support images (i.e.
              CL_DEVICE_IMAGE_SUPPORT specified in the table of OpenCL Device Queries for
              <citerefentry><refentrytitle>clGetDeviceInfo</refentrytitle></citerefentry>
              is CL_FALSE).
            </listitem>

            <listitem>
              <errorname>CL_OUT_OF_RESOURCES</errorname> if there is a failure to allocate
              resources required by the OpenCL implementation on the device.
            </listitem>

            <listitem>
              <errorname>CL_OUT_OF_HOST_MEMORY</errorname> if there is a failure to allocate
              resources required by the OpenCL implementation on the host.
            </listitem>
        </itemizedlist>

    </refsect1>

<!-- ================================ EXAMPLE  -->
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>
-->

<!-- ================================ 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="clEnqueueCopyBufferToImage">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clEnqueueReadBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueWriteBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueCopyBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueCopyImageToBuffer</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>

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

