aboutsummaryrefslogtreecommitdiff
path: root/docs/api/files/group___nv_flow_device.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/files/group___nv_flow_device.html')
-rw-r--r--docs/api/files/group___nv_flow_device.html527
1 files changed, 527 insertions, 0 deletions
diff --git a/docs/api/files/group___nv_flow_device.html b/docs/api/files/group___nv_flow_device.html
new file mode 100644
index 0000000..abc0eef
--- /dev/null
+++ b/docs/api/files/group___nv_flow_device.html
@@ -0,0 +1,527 @@
+<html>
+ <head>
+ <title>NVIDIA(R) Flow(R) 1.0.0 API Reference: NvFlowDevice</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css">
+ </head>
+
+ <body bgcolor="#FFFFFF">
+ <div id="header">
+ <hr class="first">
+ <img alt="" src="nvflow_logo.png">
+ <br>
+ <hr class="second">
+ </div>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NvFlowDevice</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_flow_device_desc.html">NvFlowDeviceDesc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Description required for creating a Flow device. <a href="struct_nv_flow_device_desc.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_flow_device_queue_desc.html">NvFlowDeviceQueueDesc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Description required for creating a Flow device queue. <a href="struct_nv_flow_device_queue_desc.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nv_flow_device_queue_status.html">NvFlowDeviceQueueStatus</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flow device queue status to allow app to throttle maximum queued work. <a href="struct_nv_flow_device_queue_status.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g1b7b69daf89f2f10e53640aba9b55947">NvFlowDeviceMode</a> { <a class="el" href="group___nv_flow_device.html#gg1b7b69daf89f2f10e53640aba9b55947f54df4ae81be87cc9bbb8b986a9f9e67">eNvFlowDeviceModeProxy</a> = 0,
+<a class="el" href="group___nv_flow_device.html#gg1b7b69daf89f2f10e53640aba9b55947a040715d1fa3675e9ad6737b6362095d">eNvFlowDeviceModeUnique</a> = 1
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device Type. <a href="group___nv_flow_device.html#g1b7b69daf89f2f10e53640aba9b55947">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g4f202cb1459942ccd23a905a1b2c2c8a">NvFlowDeviceQueueType</a> { <a class="el" href="group___nv_flow_device.html#gg4f202cb1459942ccd23a905a1b2c2c8aa781d377fde340fd3ff18513fdf9bd47">eNvFlowDeviceQueueTypeGraphics</a> = 0,
+<a class="el" href="group___nv_flow_device.html#gg4f202cb1459942ccd23a905a1b2c2c8a2c2671eb7e5be3303b1cad3e418745c4">eNvFlowDeviceQueueTypeCompute</a> = 1,
+<a class="el" href="group___nv_flow_device.html#gg4f202cb1459942ccd23a905a1b2c2c8a1bff38a1078741cc7fe6a66df64579b8">eNvFlowDeviceQueueTypeCopy</a> = 2
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Types of queues. <a href="group___nv_flow_device.html#g4f202cb1459942ccd23a905a1b2c2c8a">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">NvFlowDevice *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#gb5a31ea53ff88bdd5a7af3daac03bfe0">NvFlowCreateDevice</a> (NvFlowContext *renderContext, const <a class="el" href="struct_nv_flow_device_desc.html">NvFlowDeviceDesc</a> *desc)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">NvFlowDeviceQueue *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#gda17e513dfaf4e76be5eb02fe36e6311">NvFlowCreateDeviceQueue</a> (NvFlowDevice *device, const <a class="el" href="struct_nv_flow_device_queue_desc.html">NvFlowDeviceQueueDesc</a> *desc)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g905642ba7d34061b344b4875097e78de">NvFlowDedicatedDeviceAvailable</a> (NvFlowContext *renderContext)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#gef506f8d2e09e28c7bd2f428b08a1a4c">NvFlowDedicatedDeviceQueueAvailable</a> (NvFlowContext *renderContext)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#gd8a1092c8b81b82c41546cc5ef6175f8">NvFlowDeviceDescDefaults</a> (<a class="el" href="struct_nv_flow_device_desc.html">NvFlowDeviceDesc</a> *desc)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g9caf24a4afed186a23a9d9f095a9fbdb">NvFlowDeviceQueueConditionalFlush</a> (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">NvFlowContext *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g7035564d51771f77a1bdd7a0284d7a61">NvFlowDeviceQueueCreateContext</a> (NvFlowDeviceQueue *deviceQueue)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g004cd8d63badb4ec5abc924c2aea4c5b">NvFlowDeviceQueueFlush</a> (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g0c7f7e9aff62ddd6b2bca18830f7c662">NvFlowDeviceQueueUpdateContext</a> (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, <a class="el" href="struct_nv_flow_device_queue_status.html">NvFlowDeviceQueueStatus</a> *status)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g277e5f37475b15d48164436f775b990f">NvFlowDeviceQueueWaitOnFence</a> (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, <a class="el" href="_nv_flow_types_8h.html#73bd0925c776bdb174042d94cb8b74e6">NvFlowUint64</a> fenceValue)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g0593d1241f00bc01cf5b311d01506acf">NvFlowReleaseDevice</a> (NvFlowDevice *device)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___nv_flow_device.html#g8bb25ad7ca4696fc331557b0a977e1e0">NvFlowReleaseDeviceQueue</a> (NvFlowDeviceQueue *deviceQueue)</td></tr>
+
+</table>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="g1b7b69daf89f2f10e53640aba9b55947"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceMode" ref="g1b7b69daf89f2f10e53640aba9b55947" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group___nv_flow_device.html#g1b7b69daf89f2f10e53640aba9b55947">NvFlowDeviceMode</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Device Type.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg1b7b69daf89f2f10e53640aba9b55947f54df4ae81be87cc9bbb8b986a9f9e67"></a><!-- doxytag: member="eNvFlowDeviceModeProxy" ref="gg1b7b69daf89f2f10e53640aba9b55947f54df4ae81be87cc9bbb8b986a9f9e67" args="" -->eNvFlowDeviceModeProxy</em>&nbsp;</td><td>
+Exposes renderContext device. </td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg1b7b69daf89f2f10e53640aba9b55947a040715d1fa3675e9ad6737b6362095d"></a><!-- doxytag: member="eNvFlowDeviceModeUnique" ref="gg1b7b69daf89f2f10e53640aba9b55947a040715d1fa3675e9ad6737b6362095d" args="" -->eNvFlowDeviceModeUnique</em>&nbsp;</td><td>
+Generates unique device, not matching renderContext. </td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g4f202cb1459942ccd23a905a1b2c2c8a"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueType" ref="g4f202cb1459942ccd23a905a1b2c2c8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group___nv_flow_device.html#g4f202cb1459942ccd23a905a1b2c2c8a">NvFlowDeviceQueueType</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Types of queues.
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="gg4f202cb1459942ccd23a905a1b2c2c8aa781d377fde340fd3ff18513fdf9bd47"></a><!-- doxytag: member="eNvFlowDeviceQueueTypeGraphics" ref="gg4f202cb1459942ccd23a905a1b2c2c8aa781d377fde340fd3ff18513fdf9bd47" args="" -->eNvFlowDeviceQueueTypeGraphics</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg4f202cb1459942ccd23a905a1b2c2c8a2c2671eb7e5be3303b1cad3e418745c4"></a><!-- doxytag: member="eNvFlowDeviceQueueTypeCompute" ref="gg4f202cb1459942ccd23a905a1b2c2c8a2c2671eb7e5be3303b1cad3e418745c4" args="" -->eNvFlowDeviceQueueTypeCompute</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="gg4f202cb1459942ccd23a905a1b2c2c8a1bff38a1078741cc7fe6a66df64579b8"></a><!-- doxytag: member="eNvFlowDeviceQueueTypeCopy" ref="gg4f202cb1459942ccd23a905a1b2c2c8a1bff38a1078741cc7fe6a66df64579b8" args="" -->eNvFlowDeviceQueueTypeCopy</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gb5a31ea53ff88bdd5a7af3daac03bfe0"></a><!-- doxytag: member="NvFlow.h::NvFlowCreateDevice" ref="gb5a31ea53ff88bdd5a7af3daac03bfe0" args="(NvFlowContext *renderContext, const NvFlowDeviceDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NvFlowDevice* NvFlowCreateDevice </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>renderContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="struct_nv_flow_device_desc.html">NvFlowDeviceDesc</a> *&nbsp;</td>
+ <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a Flow compute device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>renderContext</em>&nbsp;</td><td>A context that maps to the application graphics GPU. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>desc</em>&nbsp;</td><td>Description that controls what GPU is selected.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created Flow compute device. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gda17e513dfaf4e76be5eb02fe36e6311"></a><!-- doxytag: member="NvFlow.h::NvFlowCreateDeviceQueue" ref="gda17e513dfaf4e76be5eb02fe36e6311" args="(NvFlowDevice *device, const NvFlowDeviceQueueDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NvFlowDeviceQueue* NvFlowCreateDeviceQueue </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDevice *&nbsp;</td>
+ <td class="paramname"> <em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="struct_nv_flow_device_queue_desc.html">NvFlowDeviceQueueDesc</a> *&nbsp;</td>
+ <td class="paramname"> <em>desc</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a Flow device queue.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>The device to create the queue on. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>desc</em>&nbsp;</td><td>Description that controls kind of device queue to create.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created Flow device queue. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g905642ba7d34061b344b4875097e78de"></a><!-- doxytag: member="NvFlow.h::NvFlowDedicatedDeviceAvailable" ref="g905642ba7d34061b344b4875097e78de" args="(NvFlowContext *renderContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NvFlowDedicatedDeviceAvailable </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>renderContext</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks if a GPU is available that is not being used for application graphics work.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>renderContext</em>&nbsp;</td><td>A context that maps to the application graphics GPU.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if dedicated GPU is available. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gef506f8d2e09e28c7bd2f428b08a1a4c"></a><!-- doxytag: member="NvFlow.h::NvFlowDedicatedDeviceQueueAvailable" ref="gef506f8d2e09e28c7bd2f428b08a1a4c" args="(NvFlowContext *renderContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NvFlowDedicatedDeviceQueueAvailable </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>renderContext</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks if a GPU can support a dedicated queue<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>renderContext</em>&nbsp;</td><td>A context that maps to the application graphics GPU.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if dedicated device queue is available. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="gd8a1092c8b81b82c41546cc5ef6175f8"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceDescDefaults" ref="gd8a1092c8b81b82c41546cc5ef6175f8" args="(NvFlowDeviceDesc *desc)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowDeviceDescDefaults </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct_nv_flow_device_desc.html">NvFlowDeviceDesc</a> *&nbsp;</td>
+ <td class="paramname"> <em>desc</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Allows the application to request a default Flow device description from Flow.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>desc</em>&nbsp;</td><td>The description for Flow to fill out. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9caf24a4afed186a23a9d9f095a9fbdb"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueConditionalFlush" ref="g9caf24a4afed186a23a9d9f095a9fbdb" args="(NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowDeviceQueueConditionalFlush </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>context</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all submitted work to the Flow deviceQueue if the context requests a flush.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow deviceQueue to conditionally flush. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>context</em>&nbsp;</td><td>The context to sync with the flush event. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g7035564d51771f77a1bdd7a0284d7a61"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueCreateContext" ref="g7035564d51771f77a1bdd7a0284d7a61" args="(NvFlowDeviceQueue *deviceQueue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NvFlowContext* NvFlowDeviceQueueCreateContext </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a context that uses a Flow device queue.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow device queue to create the context against.</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created context. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g004cd8d63badb4ec5abc924c2aea4c5b"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueFlush" ref="g004cd8d63badb4ec5abc924c2aea4c5b" args="(NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowDeviceQueueFlush </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>context</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Flushes all submitted work to the Flow deviceQueue. Must be called to submit work to queue.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow deviceQueue to flush. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>context</em>&nbsp;</td><td>The context to sync with the flush event </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0c7f7e9aff62ddd6b2bca18830f7c662"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueUpdateContext" ref="g0c7f7e9aff62ddd6b2bca18830f7c662" args="(NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, NvFlowDeviceQueueStatus *status)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowDeviceQueueUpdateContext </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>context</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct_nv_flow_device_queue_status.html">NvFlowDeviceQueueStatus</a> *&nbsp;</td>
+ <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Updates a context that uses a Flow device queue.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow device queue the context was created against. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>context</em>&nbsp;</td><td>The context update. </td></tr>
+ <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>status</em>&nbsp;</td><td>Optional queue status to update, useful to detect if queue is overloaded. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g277e5f37475b15d48164436f775b990f"></a><!-- doxytag: member="NvFlow.h::NvFlowDeviceQueueWaitOnFence" ref="g277e5f37475b15d48164436f775b990f" args="(NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, NvFlowUint64 fenceValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowDeviceQueueWaitOnFence </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">NvFlowContext *&nbsp;</td>
+ <td class="paramname"> <em>context</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="_nv_flow_types_8h.html#73bd0925c776bdb174042d94cb8b74e6">NvFlowUint64</a>&nbsp;</td>
+ <td class="paramname"> <em>fenceValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Blocks CPU until fenceValue is reached.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow deviceQueue to flush. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>context</em>&nbsp;</td><td>The context to sync with the flush event. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fenceValue</em>&nbsp;</td><td>The fence value to wait for. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g0593d1241f00bc01cf5b311d01506acf"></a><!-- doxytag: member="NvFlow.h::NvFlowReleaseDevice" ref="g0593d1241f00bc01cf5b311d01506acf" args="(NvFlowDevice *device)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowReleaseDevice </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDevice *&nbsp;</td>
+ <td class="paramname"> <em>device</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Releases a Flow compute device.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>device</em>&nbsp;</td><td>The Flow compute device to be released. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g8bb25ad7ca4696fc331557b0a977e1e0"></a><!-- doxytag: member="NvFlow.h::NvFlowReleaseDeviceQueue" ref="g8bb25ad7ca4696fc331557b0a977e1e0" args="(NvFlowDeviceQueue *deviceQueue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NvFlowReleaseDeviceQueue </td>
+ <td>(</td>
+ <td class="paramtype">NvFlowDeviceQueue *&nbsp;</td>
+ <td class="paramname"> <em>deviceQueue</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Releases a Flow device queue.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>deviceQueue</em>&nbsp;</td><td>The Flow device queue to be released. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+</div>
+<!-- start footer part -->
+<div class="footer">
+Copyright &copy; 2014-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a>
+</div>
+</body>
+</html>