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) |
| enum NvFlowDeviceMode |
| NvFlowDevice* NvFlowCreateDevice | ( | NvFlowContext * | renderContext, | |
| const NvFlowDeviceDesc * | desc | |||
| ) |
Creates a Flow compute device.
| [in] | renderContext | A context that maps to the application graphics GPU. |
| [in] | desc | Description that controls what GPU is selected. |
| NvFlowDeviceQueue* NvFlowCreateDeviceQueue | ( | NvFlowDevice * | device, | |
| const NvFlowDeviceQueueDesc * | desc | |||
| ) |
Creates a Flow device queue.
| [in] | device | The device to create the queue on. |
| [in] | desc | Description that controls kind of device queue to create. |
| bool NvFlowDedicatedDeviceAvailable | ( | NvFlowContext * | renderContext | ) |
Checks if a GPU is available that is not being used for application graphics work.
| [in] | renderContext | A context that maps to the application graphics GPU. |
| bool NvFlowDedicatedDeviceQueueAvailable | ( | NvFlowContext * | renderContext | ) |
Checks if a GPU can support a dedicated queue
| [in] | renderContext | A context that maps to the application graphics GPU. |
| void NvFlowDeviceDescDefaults | ( | NvFlowDeviceDesc * | desc | ) |
Allows the application to request a default Flow device description from Flow.
| [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.
| [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.
| [in] | deviceQueue | The Flow device queue to create the context against. |
| void NvFlowDeviceQueueFlush | ( | NvFlowDeviceQueue * | deviceQueue, | |
| NvFlowContext * | context | |||
| ) |
Flushes all submitted work to the Flow deviceQueue. Must be called to submit work to queue.
| [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.
| [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.
| [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.
| [in] | device | The Flow compute device to be released. |
| void NvFlowReleaseDeviceQueue | ( | NvFlowDeviceQueue * | deviceQueue | ) |
Releases a Flow device queue.
| [in] | deviceQueue | The Flow device queue to be released. |