From f5f6a899903a309f1fc93b31c0297fc7b3b5cf46 Mon Sep 17 00:00:00 2001 From: Andrew Reidmeyer Date: Wed, 15 Mar 2017 09:28:59 -0600 Subject: Initial 1.0.0 binary release --- docs/api/files/group___nv_flow_device.html | 527 +++++++++++++++++++++++++++++ 1 file changed, 527 insertions(+) create mode 100644 docs/api/files/group___nv_flow_device.html (limited to 'docs/api/files/group___nv_flow_device.html') 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 @@ + + + NVIDIA(R) Flow(R) 1.0.0 API Reference: NvFlowDevice + + + + + + + + +
+

NvFlowDevice

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Data Structures

struct  NvFlowDeviceDesc
 Description required for creating a Flow device. More...
struct  NvFlowDeviceQueueDesc
 Description required for creating a Flow device queue. More...
struct  NvFlowDeviceQueueStatus
 Flow device queue status to allow app to throttle maximum queued work. More...

Enumerations

enum  NvFlowDeviceMode { eNvFlowDeviceModeProxy = 0, +eNvFlowDeviceModeUnique = 1 + }
 Device Type. More...
enum  NvFlowDeviceQueueType { eNvFlowDeviceQueueTypeGraphics = 0, +eNvFlowDeviceQueueTypeCompute = 1, +eNvFlowDeviceQueueTypeCopy = 2 + }
 Types of queues. More...

Functions

NvFlowDevice * NvFlowCreateDevice (NvFlowContext *renderContext, const NvFlowDeviceDesc *desc)
NvFlowDeviceQueue * NvFlowCreateDeviceQueue (NvFlowDevice *device, const NvFlowDeviceQueueDesc *desc)
bool NvFlowDedicatedDeviceAvailable (NvFlowContext *renderContext)
bool NvFlowDedicatedDeviceQueueAvailable (NvFlowContext *renderContext)
void NvFlowDeviceDescDefaults (NvFlowDeviceDesc *desc)
void NvFlowDeviceQueueConditionalFlush (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)
NvFlowContext * NvFlowDeviceQueueCreateContext (NvFlowDeviceQueue *deviceQueue)
void NvFlowDeviceQueueFlush (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context)
void NvFlowDeviceQueueUpdateContext (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, NvFlowDeviceQueueStatus *status)
void NvFlowDeviceQueueWaitOnFence (NvFlowDeviceQueue *deviceQueue, NvFlowContext *context, NvFlowUint64 fenceValue)
void NvFlowReleaseDevice (NvFlowDevice *device)
void NvFlowReleaseDeviceQueue (NvFlowDeviceQueue *deviceQueue)
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum NvFlowDeviceMode
+
+
+ +

+Device Type. +

+

Enumerator:
+ + + +
eNvFlowDeviceModeProxy  +Exposes renderContext device.
eNvFlowDeviceModeUnique  +Generates unique device, not matching renderContext.
+
+ +
+

+ +

+
+ + + + +
enum NvFlowDeviceQueueType
+
+
+ +

+Types of queues. +

+

Enumerator:
+ + + + +
eNvFlowDeviceQueueTypeGraphics  +
eNvFlowDeviceQueueTypeCompute  +
eNvFlowDeviceQueueTypeCopy  +
+
+ +
+

+


Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
NvFlowDevice* NvFlowCreateDevice (NvFlowContext *  renderContext,
const NvFlowDeviceDesc desc 
)
+
+
+ +

+Creates a Flow compute device.

+

Parameters:
+ + + +
[in] renderContext A context that maps to the application graphics GPU.
[in] desc Description that controls what GPU is selected.
+
+
Returns:
The created Flow compute device.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
NvFlowDeviceQueue* NvFlowCreateDeviceQueue (NvFlowDevice *  device,
const NvFlowDeviceQueueDesc desc 
)
+
+
+ +

+Creates a Flow device queue.

+

Parameters:
+ + + +
[in] device The device to create the queue on.
[in] desc Description that controls kind of device queue to create.
+
+
Returns:
The created Flow device queue.
+ +
+

+ +

+
+ + + + + + + + + +
bool NvFlowDedicatedDeviceAvailable (NvFlowContext *  renderContext  ) 
+
+
+ +

+Checks if a GPU is available that is not being used for application graphics work.

+

Parameters:
+ + +
[in] renderContext A context that maps to the application graphics GPU.
+
+
Returns:
Returns true if dedicated GPU is available.
+ +
+

+ +

+
+ + + + + + + + + +
bool NvFlowDedicatedDeviceQueueAvailable (NvFlowContext *  renderContext  ) 
+
+
+ +

+Checks if a GPU can support a dedicated queue

+

Parameters:
+ + +
[in] renderContext A context that maps to the application graphics GPU.
+
+
Returns:
Returns true if dedicated device queue is available.
+ +
+

+ +

+
+ + + + + + + + + +
void NvFlowDeviceDescDefaults (NvFlowDeviceDesc desc  ) 
+
+
+ +

+Allows the application to request a default Flow device description from Flow.

+

Parameters:
+ + +
[out] desc The description for Flow to fill out.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void NvFlowDeviceQueueConditionalFlush (NvFlowDeviceQueue *  deviceQueue,
NvFlowContext *  context 
)
+
+
+ +

+Flushes all submitted work to the Flow deviceQueue if the context requests a flush.

+

Parameters:
+ + + +
[in] deviceQueue The Flow deviceQueue to conditionally flush.
[in] context The context to sync with the flush event.
+
+ +
+

+ +

+
+ + + + + + + + + +
NvFlowContext* NvFlowDeviceQueueCreateContext (NvFlowDeviceQueue *  deviceQueue  ) 
+
+
+ +

+Creates a context that uses a Flow device queue.

+

Parameters:
+ + +
[in] deviceQueue The Flow device queue to create the context against.
+
+
Returns:
The created context.
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
void NvFlowDeviceQueueFlush (NvFlowDeviceQueue *  deviceQueue,
NvFlowContext *  context 
)
+
+
+ +

+Flushes all submitted work to the Flow deviceQueue. Must be called to submit work to queue.

+

Parameters:
+ + + +
[in] deviceQueue The Flow deviceQueue to flush.
[in] context The context to sync with the flush event
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvFlowDeviceQueueUpdateContext (NvFlowDeviceQueue *  deviceQueue,
NvFlowContext *  context,
NvFlowDeviceQueueStatus status 
)
+
+
+ +

+Updates a context that uses a Flow device queue.

+

Parameters:
+ + + + +
[in] deviceQueue The Flow device queue the context was created against.
[in] context The context update.
[out] status Optional queue status to update, useful to detect if queue is overloaded.
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void NvFlowDeviceQueueWaitOnFence (NvFlowDeviceQueue *  deviceQueue,
NvFlowContext *  context,
NvFlowUint64  fenceValue 
)
+
+
+ +

+Blocks CPU until fenceValue is reached.

+

Parameters:
+ + + + +
[in] deviceQueue The Flow deviceQueue to flush.
[in] context The context to sync with the flush event.
[in] fenceValue The fence value to wait for.
+
+ +
+

+ +

+
+ + + + + + + + + +
void NvFlowReleaseDevice (NvFlowDevice *  device  ) 
+
+
+ +

+Releases a Flow compute device.

+

Parameters:
+ + +
[in] device The Flow compute device to be released.
+
+ +
+

+ +

+
+ + + + + + + + + +
void NvFlowReleaseDeviceQueue (NvFlowDeviceQueue *  deviceQueue  ) 
+
+
+ +

+Releases a Flow device queue.

+

Parameters:
+ + +
[in] deviceQueue The Flow device queue to be released.
+
+ +
+

+

+ + + + -- cgit v1.2.3