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

    <refmeta>
        <refentrytitle>
            clSVMFree
        </refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2013</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="clGetDeviceIDs">
        <refname>
            clSVMFree
        </refname>

        <refpurpose>
            Frees a shared virtual memory buffer allocated using clSVMAlloc.
        </refpurpose>
    </refnamediv>

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

                <paramdef><link xlink:href="abstractDataTypes.html">cl_context</link><parameter>context</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">void</link><parameter>*svm_pointer</parameter></paramdef>

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

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

    <refsect1 id="parameters">
        <title>Parameters</title>
        <variablelist>
            <varlistentry>
                <term>
                    <varname> <!-- parameter name -->
                        context
                    </varname>
                </term>

                <listitem>
                    <para> <!-- parameter description -->
                        A valid OpenCL context used to create the SVM buffer.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname> <!-- parameter name -->
                        svm_pointer
                    </varname>
                </term>

                <listitem>
                    <para> <!-- parameter description -->
                        Must be the value returned by a call to <citerefentry><refentrytitle>clSVMAlloc</refentrytitle></citerefentry>. 
                        If a NULL pointer is passed in 
                        <varname>svm_pointer</varname>, no action occurs.
                    </para>
               </listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

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

    <refsect1 id="notes"><title>Notes</title>
        <para>
            Note that <function>clSVMFree</function> does not wait 
            for previously enqueued commands that may be using 
            <varname>svm_pointer</varname> to finish before freeing 
            <varname>svm_pointer</varname>. It is the responsibility 
            of the application to 
            make sure that enqueued commands that use 
            <varname>svm_pointer</varname> have finished before freeing 
            <varname>svm_pointer</varname>. This can be done by 
            enqueuing a blocking operation such as 
            <citerefentry><refentrytitle>clFinish</refentrytitle></citerefentry>, 
            <citerefentry><refentrytitle>clWaitForEvents</refentrytitle></citerefentry>, 
            <citerefentry><refentrytitle>clEnqueueReadBuffer</refentrytitle></citerefentry> 
            or by registering a callback with the events 
            associated with enqueued commands and when the 
            last enqueued comamnd has finished freeing 
            <varname>svm_pointer</varname>.
        </para>

        <para>
            The behavior of using <varname>svm_pointer</varname> after 
            it has been freed is undefined. In addition, if a buffer
            object is created using 
            <citerefentry><refentrytitle>clCreateBuffer</refentrytitle></citerefentry> 
            with <varname>svm_pointer</varname>, the buffer object must first be released 
            before the <varname>svm_pointer</varname> is freed.
        </para>

        <para>
            The <citerefentry><refentrytitle>clEnqueueSVMFree</refentrytitle></citerefentry> 
            API can also be used to enqueue a callback to free the shared virtual 
            memory buffer allocated using 
            <citerefentry><refentrytitle>clSVMAlloc</refentrytitle></citerefentry> 
            or a shared system memory pointer.
        </para>
    </refsect1>

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

<!--
<refsect1 id="errors"><title>Errors</title>
</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="clSVMFree">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clSVMAlloc</refentrytitle></citerefentry>,
            <citerefentry href="sharedVirtualMemory"><refentrytitle>Shared Virtual Memory 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>

<!-- 8-May-2013 -->
</refentry>

