DIVE Functions

Direct interface video extensions (DIVE) provide optimized blitting performance for motion video subsystems and applications that perform rapid screen updates in the OS/2 PM and full-screen environments. Using the DIVE interface, applications can either write directly to video memory or use the DIVE blitter. The DIVE blitter will take advantage of acceleration hardware when present and applicable to the function being performed.

The following table describes the DIVE functions.

┌────────────────────────────┬────────────────────────────────────────┐
│Function                    │Description                             │
├────────────────────────────┼────────────────────────────────────────┤
│DiveAcquireFrameBuffer      │Allows the frame buffer to be           │
│                            │serialized.                             │
├────────────────────────────┼────────────────────────────────────────┤
│DiveAllocImageBuffer        │Allocates a buffer to contain an image. │
├────────────────────────────┼────────────────────────────────────────┤
│DiveBeginImageBufferAccess  │Begins access to the image buffer.      │
├────────────────────────────┼────────────────────────────────────────┤
│DiveBlitImage               │Transfers an image from the source to   │
│                            │its destination.                        │
├────────────────────────────┼────────────────────────────────────────┤
│DiveBlitImageLines          │Transfers only the changed lines of an  │
│                            │image from the source to its            │
│                            │destination.                            │
├────────────────────────────┼────────────────────────────────────────┤
│DiveCalcFrameBufferAddress  │Calculates linear frame buffer address. │
├────────────────────────────┼────────────────────────────────────────┤
│DiveClose                   │Closes instance.                        │
├────────────────────────────┼────────────────────────────────────────┤
│DiveDeacquireFrameBuffer    │Releases exclusive access to the frame  │
│                            │buffer.                                 │
├────────────────────────────┼────────────────────────────────────────┤
│DiveEndImageBufferAccess    │Ends access to the image buffer.        │
├────────────────────────────┼────────────────────────────────────────┤
│DiveFreeImageBuffer         │Deallocates an image buffer allocated by│
│                            │DiveAllocImageBuffer.                   │
├────────────────────────────┼────────────────────────────────────────┤
│DiveOpen                    │Opens a display engine instance.        │
├────────────────────────────┼────────────────────────────────────────┤
│DiveQueryCaps               │Queries display capabilities.           │
├────────────────────────────┼────────────────────────────────────────┤
│DiveSetDestinationPalette   │Sets palette associated with the        │
│                            │destination of DiveBlitImage.           │
├────────────────────────────┼────────────────────────────────────────┤
│DiveSetupBlitter            │Sets up blitter operations.             │
├────────────────────────────┼────────────────────────────────────────┤
│DiveSetSourcePalette        │Sets the palette associated with source │
│                            │data.                                   │
├────────────────────────────┼────────────────────────────────────────┤
│DiveSwitchBank              │Selects VRAM bank for bank-switched     │
│                            │displays.                               │
└────────────────────────────┴────────────────────────────────────────┘


[Back: MMIOM_CODEC_QUERYNAMELENGTH - Topics]
[Next: DiveAcquireFrameBuffer]