Display Pre-emption
[Core API]

Collaboration diagram for Display Pre-emption:

Detailed Description

The Window System may operate within a frame-work (such as Linux's VT switching) where the display is shared between the Window System (e.g. X) and some other output mechanism (e.g. the VT.) Given this scenario, the Window System's control of the display could be pre-empted, and restored, at any time.

VDPAU does not mandate that implementations hide such pre-emptions from VDPAU client applications; doing so may impose extreme burdens upon VDPAU implementations. Equally, however, implementations are free to hide such pre-emptions from client applications.

VDPAU allows implementations to inform the client application when such a pre-emption has occured, 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 behaviour of implementations that choose not to hide pre-emption from client applications.

When pre-emption 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 pre-emption has occured, all VDPAU entry points will return the specific error code VDP_STATUS_DISPLAY_PREEMPTED.

VDPAU client applications may also be notified of such pre-emptions 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 pre-empted.
typedef VdpStatus VdpPreemptionCallbackRegister (VdpDevice device, VdpPreemptionCallback callback, void *context)
 Configure the display pre-emption callback.


Typedef Documentation

typedef void VdpPreemptionCallback(VdpDevice device, void *context)

A callback to notify the client application that a device's display has been pre-empted.

Parameters:
[in] device The device that had its display preempted.
[in] context The client-supplied callback context information.
Returns:
void No return value

typedef VdpStatus VdpPreemptionCallbackRegister(VdpDevice device, VdpPreemptionCallback callback, void *context)

Configure the display pre-emption callback.

Parameters:
[in] device The device to be monitored for pre-emption.
[in] callback The client application's callback function. If NULL, the callback is unregistered.
[in] context The client-supplied callback context information. This information will be passed to the callback function if/when invoked.
Returns:
VdpStatus The completion status of the operation.


Generated on Tue Nov 4 11:03:33 2008 for VDPAU by  doxygen 1.5.6