<?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>         
                clEnqueueCopyImage
            </keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>       
            clEnqueueCopyImage
        </refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2009</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>2</manvolnum>
  
    </refmeta>


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

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

        <refpurpose>          
            Enqueues a command to copy image objects. 
        </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>clEnqueueCopyImage</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_image</parameter></paramdef>
					<paramdef><link xlink:href="abstractDataTypes.html">cl_mem</link><parameter>dst_image</parameter></paramdef>
					<paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>src_origin</parameter>[3]</paramdef>
					<paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>dst_origin</parameter>[3]</paramdef>
					<paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>region</parameter>[3]</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> 
						Refers to the command-queue in which the copy command will be queued. The
						OpenCL context associated with <varname>command_queue</varname>, <varname>src_image</varname> and <varname>dst_image</varname> must be the same.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname>
						src_origin
                    </varname>
                </term>

                <listitem>
                    <para>
						Defines the starting (<emphasis>x, y, z</emphasis>) location in pixels in <varname>src_image</varname> from where to start the data copy. If <varname>src_image</varname> is a 2D image object, the z value given by <varname>src_origin</varname>[2] must be 0.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname>
						dst_origin
                    </varname>
                </term>

                <listitem>
                    <para>
						Defines the starting (<emphasis>x, y, z</emphasis>) location in pixels in <varname>dst_image</varname> from where to start the data copy. If <varname>dst_image</varname> is a 2D image object, the z value given by <varname>dst_origin</varname>[2] must be 0.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname>
						region                    
					</varname>
                </term>

                <listitem>
                    <para> 
						Defines the (<varname>width</varname>, <varname>height</varname>, <varname>depth</varname>) in pixels of the 2D or 3D rectangle to copy. If <varname>src_image</varname> or <varname>dst_image</varname> is a 2D image object, the <varname>depth</varname> value given by <varname>region</varname>[2] must be 1.
                    </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.
                    </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>clEnqueueBarrier</refentrytitle></citerefentry> can be used instead.			
					</para>
				</listitem>
			</varlistentry>	
   


        </variablelist>
    </refsect1>

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

    <refsect1 id="notes"><title>Notes</title>
        <para>
			It is currently a requirement that the <varname>src_image</varname> and <varname>dst_image</varname> image memory objects for <function>clEnqueueCopyImage</function> must have the exact same image format (i.e. the <citerefentry><refentrytitle>cl_image_format</refentrytitle></citerefentry>  descriptor specified when <varname>src_image</varname> and <varname>dst_image</varname> are created must match).
        </para>

		<para>
			<varname>src_image</varname> and <varname>dst_image</varname> can be 2D or 3D image objects 
			allowing us to perform the following actions:
        </para>

		<itemizedlist mark="disc">
            <listitem>
				Copy a 2D image object to a 2D image object.
			</listitem>
			
			<listitem>
				Copy a 2D image object to a 2D slice of a 3D image object.
			</listitem>
			
			<listitem>
				Copy a 2D slice of a 3D image object to a 2D image object.
			</listitem>
			
			<listitem>
				Copy a 3D image object to a 3D image object.
			</listitem>
		</itemizedlist>
    </refsect1>
    

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


    <refsect1 id="errors"><title>Errors</title>
        <para>
<function>clEnqueueCopyImage</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_image</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_image</varname> and <varname>dst_image</varname> are not valid image objects.
			</listitem>
			
			<listitem>
				<errorname>CL_IMAGE_FORMAT_MISMATCH</errorname> if <varname>src_image</varname> and <varname>dst_image</varname> do not use the same
				image format.
			</listitem>
			
			<listitem>
				<errorname>CL_INVALID_VALUE</errorname> if the 2D or 3D rectangular region specified by <varname>src_origin</varname> and <varname>src_origin</varname> + <varname>region</varname> refers to a region outside <varname>src_image</varname>, or if the 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_image</varname>.
			</listitem>
			
			<listitem>
				<errorname>CL_INVALID_VALUE</errorname> if <varname>src_image</varname> is a 2D image object and <varname>origin</varname>[2] is not equal to 0 or <varname>region</varname>[2] is not equal to 1.
			</listitem>
			
			<listitem>
				<errorname>CL_INVALID_VALUE</errorname> if <varname>dst_image</varname> is a 2D image object and <varname>dst_origin</varname>[2] is not equal to 0 or <varname>region</varname>[2] is not equal to 1.

			</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> greater than 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_MEM_OBJECT_ALLOCATION_FAILURE</errorname> if there is a failure to allocate memory for
				data store associated with <varname>src_image</varname> or <varname>dst_image</varname>.
			</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>
			
			<listitem>
				<errorname>CL_MEM_COPY_OVERLAP</errorname> if <varname>src_image</varname> and <varname>dst_image</varname> are the same image object and
				the source and destination regions overlap.
			</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="clEnqueueCopyImage">OpenCL Specification</olink>
        </para>
    </refsect1>     


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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clEnqueueReadImage</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clEnqueueWriteImage</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>

</refentry>

