CVSROOT:        /cvs/directfb
Module name:    DirectFB
Changes by:     dok     20040806 16:50:32

Modified files:
        include        : directfb.h 
        src/core       : coretypes.h gfxcard.c gfxcard.h state.h 
        src/display    : idirectfbsurface_window.c 

Log message:
Added DSFLIP_PIPELINE for advanced synchronization with the accelerator,
currently implemented for Flip() on window surfaces.

This feature is especially for accelerators with a command buffer that
can store more graphics operations than required to render one frame.

Behind the scenes:

Added CoreGraphicsSerial which stores the "serial" of a certain graphics
operation and the "generation" of serials to handle more than 4 Giga Ops
in one session.

Added GetSerial() and WaitSerial() to the graphics driver API.

GetSerial() returns the serial of the last queued graphics operation.

WaitSerial() waits until the operation with the specified serial is finished.

Added CoreGraphicsSerial to CardState. It's updated by dfb_gfxcard_unlock(),
i.e. after issuing an operation using this state.

At the end of Flip() the current graphics serial is stored and
the previously stored serial is being waited for.



Reply via email to