2e2434ac0d3ada11734133a9b200c6ff0d96b875
[clinton/guile-figl.git] / upstream-man-pages / manglsl / memoryBarrierShared.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="memoryBarrierShared">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2012</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>memoryBarrierShared</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>memoryBarrierShared</refname>
17 <refpurpose>controls the ordering of operations on shared variables issued by a single shader invocation</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>Declaration</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>memoryBarrierShared</function></funcdef>
23 <paramdef>void</paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 </refsynopsisdiv>
27 <refsect1 id="description"><title>Description</title>
28 <para>
29 <function>memoryBarrierShared</function> waits on the completion of all memory accesses resulting
30 from the use of shared variables and then returns with no other effect. When this function returns, the
31 results of any modifications to the content of shared variables will be visible
32 to any access to the same buffer from other shader invocations. In particular,
33 any modifications made in one shader stage are guaranteed to be visible to accesses
34 performed by shader invocations in subsequent stages when those invocations were triggered by the
35 execution of the original shader invocation (e.g., fragment shader invocations for a primitive resulting
36 from a particular geometry shader invocation).
37 </para>
38 <para>
39 <function>memoryBarrierShared</function> is available only in the compute language.
40 </para>
41 </refsect1>
42 <refsect1 id="versions"><title>Version Support</title>
43 <informaltable frame="topbot">
44 #VARTABLECOLS#
45 <thead>
46 #FUNCTABLEHEADER#
47 <row>
48 <entry>memoryBarrierShared</entry>#newin43#
49 </row>
50 </thead>
51 </tgroup>
52 </informaltable>
53 </refsect1>
54 <refsect1 id="seealso"><title>See Also</title>
55 <para>
56 <citerefentry><refentrytitle>memoryBarrier</refentrytitle></citerefentry>,
57 <citerefentry><refentrytitle>memoryBarrierImage</refentrytitle></citerefentry>,
58 <citerefentry><refentrytitle>memoryBarrierBuffer</refentrytitle></citerefentry>,
59 <citerefentry><refentrytitle>groupMemoryBarrier</refentrytitle></citerefentry>
60 </para>
61 </refsect1>
62 <refsect1 id="Copyright"><title>Copyright</title>
63 <para>
64 Copyright <trademark class="copyright"></trademark> 2011-2012 Khronos Group.
65 This material may be distributed subject to the terms and conditions set forth in
66 the Open Publication License, v 1.0, 8 June 1999.
67 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
68 </para>
69 </refsect1>
70 </refentry>