NvFlowGridProxy


Data Structures

struct  NvFlowGridProxyDesc
 Parameters need to create a grid proxy. More...
struct  NvFlowGridProxyFlushParams
 Parameters need to create a multi-GPU proxy. More...

Enumerations

enum  NvFlowGridProxyType { eNvFlowGridProxyTypePassThrough = 0, eNvFlowGridProxyTypeMultiGPU = 1, eNvFlowGridProxyTypeInterQueue = 2 }
 Proxy types. More...

Functions

NvFlowGridProxy * NvFlowCreateGridProxy (const NvFlowGridProxyDesc *desc)
void NvFlowGridProxyFlush (NvFlowGridProxy *proxy, const NvFlowGridProxyFlushParams *params)
NvFlowGridExport * NvFlowGridProxyGetGridExport (NvFlowGridProxy *proxy, NvFlowContext *renderContext)
void NvFlowGridProxyPush (NvFlowGridProxy *proxy, NvFlowGridExport *gridExport, const NvFlowGridProxyFlushParams *params)
void NvFlowReleaseGridProxy (NvFlowGridProxy *proxy)

Enumeration Type Documentation

Proxy types.

Enumerator:
eNvFlowGridProxyTypePassThrough  No operation, allows common code path for single versus multiple GPUs in the application.
eNvFlowGridProxyTypeMultiGPU  Transports render data between GPUs.
eNvFlowGridProxyTypeInterQueue  Versions grid export data for safe async compute.


Function Documentation

NvFlowGridProxy* NvFlowCreateGridProxy ( const NvFlowGridProxyDesc desc  ) 

Creates a grid proxy.

Parameters:
[in] desc Description required to create grid proxy.
Returns:
The created grid proxy.

void NvFlowGridProxyFlush ( NvFlowGridProxy *  proxy,
const NvFlowGridProxyFlushParams params 
)

Helps simulation results move faster between GPUs, should be called before each render.

Parameters:
[in] proxy The grid proxy to be flushed.
[in] params Parameters needed to flush the data.

NvFlowGridExport* NvFlowGridProxyGetGridExport ( NvFlowGridProxy *  proxy,
NvFlowContext *  renderContext 
)

Returns the latest grid export available on the render GPU.

Parameters:
[in] proxy The grid proxy supplying the grid export.
[in] renderContext The context that will render the grid export.
Returns:
The latest grid export available from the proxy.

void NvFlowGridProxyPush ( NvFlowGridProxy *  proxy,
NvFlowGridExport *  gridExport,
const NvFlowGridProxyFlushParams params 
)

Pushes simulation results to the proxy, should be updated after each simulation update.

Parameters:
[in] proxy The grid proxy to be updated.
[in] gridExport The grid export with latest simulation results.
[in] params Parameters needed to flush the data.

void NvFlowReleaseGridProxy ( NvFlowGridProxy *  proxy  ) 

Releases a grid proxy.

Parameters:
[in] proxy The grid proxy to be released.