The frame info callbacks receive details related to the frame to be rendered. More...
#include <iindex.h>
Inherits mi::base::Interface_declare< 0xa686de09, ... >.
Public Member Functions | |
virtual void | set_frame_identifier (const IFrame_identifier &frame_id)=0 |
Callback to receive the frame identifier that can be used to cancel the rendering of a frame. More... | |
virtual void | report_dynamic_memory_eviction (mi::Uint32 host_id, mi::Uint32 device_id, mi::Size memory_allocation_size, mi::Size memory_available, mi::Size memory_freed_up)=0 |
Callback to receive notifications about a dynamic memory allocation event during NVIDIA IndeX runtime. More... | |
virtual void | report_device_memory_reset (mi::Uint32 host_id, mi::Uint32 device_id)=0 |
Callback to receive notifications about a GPU-device reset event during NVIDIA IndeX runtime. More... | |
virtual void | report_workload_balancing_operations (IBalancing_operations *balancing_ops)=0 |
Callback to receive notification about internal workload balancing operations that occurred and NVIDIA IndeX produced when redistributing workload for scalable rendering and data processing. More... | |
The frame info callbacks receive details related to the frame to be rendered.
Such details, for instance, include the frame identifier that can be used to cancel a frame while rendering or the image tiles rendered to the canvas. The frame info allows the embedding application to derive further statistics other than the performance values from the frame rendering.
The application needs to implement the methods of the frame info interface class receive and use the frame details. An instance of the user-defined class can be passed to the IndeX render call and the IndeX library takes care to populate the appropriate frame details.
|
pure virtual |
Callback to receive notifications about a GPU-device reset event during NVIDIA IndeX runtime.
Following the detection of memory fragmentation issues which cause memory allocation errors while seemingly sufficient GPU-device memory is available a device reset will effectively de-fragment the device memory.
[in] | host_id | The unique host id on which the device memory reset is performed in. |
[in] | device_id | The device id of GPU on the specified host associated with the device memory reset event. |
|
pure virtual |
Callback to receive notifications about a dynamic memory allocation event during NVIDIA IndeX runtime.
[in] | host_id | The unique host id on which the dynamic memory allocation occurred. |
[in] | device_id | The device id of GPU on the specified host associated with the dynamic allocation event. |
[in] | memory_allocation_size | The size of the memory block requested to be allocated in device memory (unit Byte). |
[in] | memory_available | The size of the available memory before the dynamic memory allocation (unit Byte). |
[in] | memory_freed_up | The size of the memory freed up to fulfill the initial memory allocation request. |
|
pure virtual |
Callback to receive notification about internal workload balancing operations that occurred and NVIDIA IndeX produced when redistributing workload for scalable rendering and data processing.
[in] | balancing_ops | An instance of the IBalancing_operations interface reporting on occurred workload balancing operations. The user defined class owns this balancing_ops object. |
|
pure virtual |
Callback to receive the frame identifier that can be used to cancel the rendering of a frame.
The method needs to be implemented to receive the frame identifier on the application side.
[in] | frame_id | The unique frame identifier exposed to the application. |