Collaboration diagram for Display Preemption:
![]() |
VDPAU does not mandate that implementations hide such preemptions from VDPAU client applications; doing so may impose extreme burdens upon VDPAU implementations. Equally, however, implementations are free to hide such preemptions from client applications.
VDPAU allows implementations to inform the client application when such a preemption has occurred, and then refuse to continue further operation.
Similarly, some form of fatal hardware error could prevent further operation of the VDPAU implementation, without a complete re-initialization.
The following discusses the behavior of implementations that choose not to hide preemption from client applications.
When preemption occurs, VDPAU internally destroys all objects; the client application need not do this. However, if the client application wishes to continue operation, it must recreate all objects that it uses. It is probable that this recreation will not succeed until the display ownership is restored to the Window System.
Once preemption has occurred, all VDPAU entry points will return the specific error code VDP_STATUS_DISPLAY_PREEMPTED.
VDPAU client applications may also be notified of such preemptions and fatal errors via a callback. See VdpPreemptionCallbackRegister for more details.
Typedefs | |
typedef void | VdpPreemptionCallback (VdpDevice device, void *context) |
A callback to notify the client application that a device's display has been preempted. | |
typedef VdpStatus | VdpPreemptionCallbackRegister (VdpDevice device, VdpPreemptionCallback callback, void *context) |
Configure the display preemption callback. |
|
A callback to notify the client application that a device's display has been preempted.
|
|
Configure the display preemption callback.
|