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

    <refmeta>                                    
        <refentrytitle>vstoren</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="vstoren">             
        <refname>vstore<emphasis>n</emphasis></refname>

        <refpurpose>
            Write sizeof bytes (<type>gentype<replaceable>n</replaceable></type>) given by data to address.
        </refpurpose>
    </refnamediv>

	<refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">void</link>
                    <function>                   
                        vstore<replaceable>n</replaceable>
                    </function>
                </funcdef>		
				<paramdef>
					gentype<replaceable>n</replaceable><parameter>data</parameter>
				</paramdef>
				<paramdef>
					<link xlink:href="scalarDataTypes.html">size_t</link><parameter>offset</parameter>
				</paramdef>
				<paramdef>
					const <link xlink:href="global.html">__global</link> gentype<parameter>*p</parameter>
				</paramdef>            
			</funcprototype>
        </funcsynopsis>     
		
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    gentype
                    <function>                   
                        vstore<replaceable>n</replaceable>
                    </function>
                </funcdef>		
				<paramdef>gentype<replaceable>n</replaceable><parameter>data</parameter></paramdef>
<paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>offset</parameter></paramdef>
<paramdef>const <link xlink:href="local.html">__local</link> gentype<parameter>*p</parameter></paramdef>      
      
	</funcprototype>
        </funcsynopsis>      

		 <funcsynopsis>
            <funcprototype>
                <funcdef>
                    gentype
                    <function>                   
                        vstore<replaceable>n</replaceable>
                    </function>
               </funcdef>		
				<paramdef>gentype<replaceable>n</replaceable><parameter>data</parameter></paramdef>
<paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>offset</parameter></paramdef>
<paramdef>const <link xlink:href="private.html">__private</link> gentype<parameter>*p</parameter></paramdef>       
		     </funcprototype>
        </funcsynopsis>      
 
	</refsynopsisdiv>	
		

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

    <refsect1 id="description"><title>Description</title>
        <para>
		Write <constant>sizeof(<type>gentype<replaceable>n</replaceable></type>)</constant> bytes given by <varname>data</varname> to address (<varname>p</varname> + (<varname>offset</varname> * <varname>n</varname>)). The write address computed as (<varname>p</varname> + (<varname>offset</varname> * <varname>n</varname>)) must be 8-bit aligned if <type>gentype</type> is <type>char<replaceable>n</replaceable></type>, <type>uchar<replaceable>n</replaceable></type>; 16-bit aligned if <type>gentype</type> is <type>short<replaceable>n</replaceable></type>, <type>ushort<replaceable>n</replaceable></type>; 32-bit aligned if <type>gentype</type> is <type>int<replaceable>n</replaceable></type>, <type>uint<replaceable>n</replaceable></type>, <type>float<replaceable>n</replaceable></type>; 64-bit aligned if <type>gentype</type> is <type>long<replaceable>n</replaceable></type>, <type>ulong<replaceable>n</replaceable></type>.
		</para> 
		
		<para>
If the <type>double</type> extension is enabled, then in addition to the above the address must be 64-bit aligned if <type>gentype</type> is <type>long<replaceable>n</replaceable></type>, <type>ulong<replaceable>n</replaceable></type>, or <type>double<replaceable>n</replaceable></type>.
		</para>
		<para>
If the <type>half</type> extension is enabled, the address computed as (<varname>p</varname> + (<varname>offset</varname> * <varname>n</varname>) must be 16-bit aligned.
		</para>
		
    </refsect1>

<!-- ================================ NOTES  -->
     <refsect1 id="notes"><title>Notes</title>
		<para>
		The generic type <type>gentype</type> is used to indicate the built-in data types
<type>char</type>, <type>uchar</type>, <type>short</type>, <type>ushort</type>, <type>int</type>, <type>uint</type>, <type>long</type>, <type>ulong</type>, or <type>float</type>. 
        </para>
		<para>
The generic type name <type>gentype<replaceable>n</replaceable></type> is used to indicate the built-in data types <type>char{2|4|8|16}</type>,
<type>uchar{2|4|8|16}</type>, <type>short{2|4|8|16}</type>, <type>ushort{2|4|8|16}</type>,
<type>int{2|4|8|16}</type>, <type>uint{2|4|8|16}</type>, <type>long{2|4|8|16}</type>, <type>ulong{2|4|8|16}</type>, or <type>float{2|4|8|16}</type> as the type for the arguments unless otherwise stated. The suffix used in gentype<replaceable>n</replaceable> or the function name (i.e. <function>vload<replaceable>n</replaceable></function>, <function>vstore<replaceable>n</replaceable></function>, etc.) represents the number of elements in the built-in vector type (<replaceable>n</replaceable> = 2, 4, 8, or 16).
        </para> 
		<para>
		If the <type>double</type> extension is enabled with <citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry>, the vector data load (<function>vload<replaceable>n</replaceable></function>) and store (<function>vstore<replaceable>n</replaceable></function>) functions are extended to include versions that read from or write to double scalar or vector values. The generic type <type>gentype</type> is extended to include double and the generic type <type>gentype<replaceable>n</replaceable></type> is extended to include <type>double{2|4|8|16}</type> as arguments and return values. Also if the <type>double</type> extension is enabled, the <function>vstore_half</function>, <function>vstore_half<replaceable>n</replaceable></function>, and <function>vstorea_half<replaceable>n</replaceable></function> functions are extended to allow a double precision scalar or vector value to be written to memory as half values. 
		</para> 
		<para>
		If the <type>half</type> extension is enabled with <citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry>, the vector data load (<function>vload<replaceable>n</replaceable></function>) and store (<function>vstore<replaceable>n</replaceable></function>) functions are extended to include versions that read from or write to half scalar or vector values. The generic type <type>gentype</type> is extended to include <type>half</type> and the generic type <type>gentype<replaceable>n</replaceable></type> is extended to include <type>half{2|4|8|16}</type> as arguments and return values. 
		</para>
    </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="vectorDataLoadandStoreFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>


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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="vectorDataLoadandStoreFunctions"><refentrytitle>Vector Data Load and Store 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>

</refentry>

