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

    <refmeta>
        <refentrytitle>       
            clCreateBuffer
        </refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2010</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="clCreateBuffer">
        <refname>     
            clCreateBuffer
        </refname> 

        <refpurpose>          
            Creates a buffer object.
        </refpurpose> 
    </refnamediv> 

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>              
                    <link xlink:href="abstractDataTypes.html">cl_mem</link> <function>clCreateBuffer</function>
                </funcdef>

                <paramdef><link xlink:href="abstractDataTypes.html">cl_context</link><parameter>context</parameter></paramdef>
                <paramdef><link xlink:href="enums.html#cl_mem_flags">cl_mem_flags</link><parameter>flags</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>size</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">void</link><parameter>*host_ptr</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">cl_int</link><parameter>*errcode_ret</parameter></paramdef>                              

            </funcprototype>
        </funcsynopsis>     
    </refsynopsisdiv>


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

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

            <varlistentry>
                <term><varname>context</varname></term>
                <listitem>
                    <para>A valid OpenCL context used to create the buffer object.</para>
               </listitem>
            </varlistentry>
            <varlistentry>
                <term>
                    <varname>flags</varname>
                </term>
                <listitem>
                    <para> <!-- parameter description -->
                        A bit-field that is used to specify allocation and usage information such as the memory
                        arena that should be used to allocate the buffer object and how it will be used. The
                        following table describes the possible values for <varname>flags</varname>:
                    </para>
                
                    <informaltable frame="all">
                        <tgroup cols="2" align="left" colsep="1" rowsep="1">
                            <colspec colname="col1" colnum="1" />
                            <thead>
                                <row>
                                    <entry>cl_mem_flags</entry>
                                    <entry>Description</entry>
                                </row>
                            </thead>
                            <tbody>
        
                                <row>
                                    <entry><constant>CL_MEM_READ_WRITE</constant></entry>
                                    <entry>
                                        This flag specifies that the memory object will be read and
                                        written by a kernel. This is the default.
                                    </entry>
                                </row>
        
                                <row>
                                    <entry><constant>CL_MEM_WRITE_ONLY</constant></entry>
                                    <entry>
                                        <para>This flags specifies that the memory object will be written
                                        but not read by a kernel.</para>
                                        <para>Reading from a buffer or image object created with
                                        <constant>CL_MEM_WRITE_ONLY</constant> inside a kernel is undefined.</para>
                                    </entry>
                                </row>
        
                                <row>
                                    <entry><constant>CL_MEM_READ_ONLY</constant></entry>
                                    <entry>
                                        <para>This flag specifies that the memory object is a read-only
                                        memory object when used inside a kernel.</para>
                                        <para>Writing to a buffer or image object created with
                                        <constant>CL_MEM_READ_ONLY</constant> inside a kernel is undefined.</para>
                                    </entry>
                                </row>
        
                                <row>
                                    <entry><constant>CL_MEM_USE_HOST_PTR</constant></entry>
                                    <entry>
                                        <para>This flag is valid only if <varname>host_ptr</varname> is not NULL. If
                                        specified, it indicates that the application wants the
                                        OpenCL implementation to use memory referenced by
                                        <varname>host_ptr</varname> as the storage bits for the memory object.</para>
                                        <para>OpenCL implementations are allowed to cache the buffer
                                        contents pointed to by <varname>host_ptr</varname> in device memory. This
                                        cached copy can be used when kernels are executed on a
                                        device.</para>
                                        <para>The result of OpenCL commands that operate on multiple
                                        buffer objects created with the same <varname>host_ptr</varname> or
                                        overlapping host regions is considered to be undefined.</para>
                                    </entry>
                                </row>
        
                                <row>
                                    <entry><constant>CL_MEM_ALLOC_HOST_PTR</constant></entry>
                                    <entry>
                                        <para>This flag specifies that the application wants the OpenCL
                                                implementation to allocate memory from host accessible
                                                memory.</para>
                                                <para>
                                                <constant>CL_MEM_ALLOC_HOST_PTR</constant> and
                                                <constant>CL_MEM_USE_HOST_PTR</constant> are mutually exclusive.</para>
                                    </entry>
                                </row>
        
                                <row>
                                    <entry><constant>CL_MEM_COPY_HOST_PTR</constant></entry>
                                    <entry>
                                        <para>
                                            This flag is valid only if <varname>host_ptr</varname> is not NULL. If
                                            specified, it indicates that the application wants the
                                            OpenCL implementation to allocate memory for the
                                            memory object and copy the data from memory referenced
                                            by <varname>host_ptr</varname>.
                                        </para>
                                        <para>                                  
                                            <constant>CL_MEM_COPY_HOST_PTR</constant> and
                                            <constant>CL_MEM_USE_HOST_PTR</constant> are mutually exclusive.
                                        </para>
                                        <para>
                                            <constant>CL_MEM_COPY_HOST_PTR</constant> can be used with
                                            <constant>CL_MEM_ALLOC_HOST_PTR</constant> to initialize the contents of
                                            the cl_mem object allocated using host-accessible (e.g.
                                            PCIe) memory.
                                        </para>
                                    </entry>
                                </row>                              
                            </tbody>    
                        </tgroup>
                    </informaltable>   
                </listitem>
            </varlistentry>
            <!-- END PARAMETER TABLE  -->          

            <varlistentry>
                <term><varname>size</varname></term>
                <listitem>
                    <para>The size in bytes of the buffer memory object to be allocated.</para>
               </listitem>
            </varlistentry>
            <varlistentry>
                <term><varname>host_ptr</varname></term>
                <listitem>
                    <para> <!-- parameter description -->
                        A pointer to the buffer data that may already be allocated by the application. The size
                        of the buffer that <varname>host_ptr</varname> points to must be greater than or equal to the <varname>size</varname> bytes.
                    </para>
               </listitem>
            </varlistentry>
            <varlistentry>
                <term><varname>errcode_ret</varname></term>
                <listitem>
                    <para> <!-- parameter description -->
Returns an appropriate error code. If <varname>errcode_ret</varname> is NULL, no error code is returned.
                    </para>
               </listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    
<!-- ================================ NOTES  -->        
<!--    <refsect1 id="notes"><title>Notes</title>
        <para>
        </para>
    </refsect1> --> 
    

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

    <refsect1 id="errors"><title>Errors</title>
        <para>
            Returns a valid non-zero buffer object and <varname>errcode_ret</varname> is set to <errorname>CL_SUCCESS</errorname> if
            the buffer object is created successfully. Otherwise, it returns a NULL value with one of the
            following error values returned in <varname>errcode_ret</varname>:
        </para>

        <itemizedlist mark="disc">
            <listitem>
                <errorname>CL_INVALID_CONTEXT</errorname> if <varname>context</varname> is not a valid context..
            </listitem>

            <listitem>
                <errorname>CL_INVALID_VALUE</errorname> if values specified in <varname>flags</varname> are not valid.
            </listitem>

            <listitem>
                <errorname>CL_INVALID_BUFFER_SIZE</errorname> if <varname>size</varname> is 0 or is greater than
                <errorname>CL_DEVICE_MAX_MEM_ALLOC_SIZE</errorname> value specified in table of OpenCL Device Queries 
                for <citerefentry><refentrytitle>clGetDeviceInfo</refentrytitle></citerefentry> for all devices in <varname>context</varname>.
            </listitem>

            <listitem>
                <errorname>CL_INVALID_HOST_PTR</errorname> if <varname>host_ptr</varname> is NULL and <errorname>CL_MEM_USE_HOST_PTR</errorname> or
                <errorname>CL_MEM_COPY_HOST_PTR</errorname> are set in <varname> flags</varname> or if <varname> host_ptr</varname> is not NULL but
                <errorname>CL_MEM_COPY_HOST_PTR</errorname> or <errorname>CL_MEM_USE_HOST_PTR</errorname> are not set in <varname>flags</varname>.
            </listitem>
            
            <listitem>
                <errorname>CL_MEM_OBJECT_ALLOCATION_FAILURE</errorname> if there is a failure to allocate memory for
                buffer object.
            </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="clCreateBuffer">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>clEnqueueCopyBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateSubBuffer</refentrytitle></citerefentry>,
            <citerefentry href="classDiagram"><refentrytitle>Cardinality Diagram</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>

