D3DKMDT_STAGINGSURFACEDATA structure (d3dkmdt.h)
The D3DKMDT_STAGINGSURFACEDATA structure describes the lockable staging surface that data is transferred into from an application's back buffer.
Syntax
typedef struct _D3DKMDT_STAGINGSURFACEDATA {
[in] UINT Width;
[in] UINT Height;
[out] UINT Pitch;
} D3DKMDT_STAGINGSURFACEDATA;
Members
[in] Width
The width of the staging buffer, in pixels.
[in] Height
The height of the staging buffer, in pixels.
[out] Pitch
The width of the staging buffer, in bytes. The driver must return the pitch value because the staging buffer is lockable.
Remarks
The D3DKMDT_STAGINGSURFACEDATA structure is passed by the Microsoft DirectX graphics kernel subsystem in a call to the display miniport driver's DxgkDdiGetStandardAllocationDriverData function to generate a description of a lockable staging surface. The graphics subsystem calls the display miniport driver's DxgkDdiPresent function to issue bit-block transfer (bitblt) requests to transfer data from an application's back buffer into the staging surface. The staging surface is then locked and read by the CPU.
A staging surface is potentially created for the present operation when a direct bit-block transfer to the primary surface is not possible (for example, in multiple-monitor or sprites cases).
This staging surface is always created as an 8-bits-per-color RGB pixel format (which is specified by the D3DDDIFMT_X8R8G8B8 value from the D3DDDIFORMAT enumeration). Because the dimensions of the staging surface always match the dimensions of the back buffer, no stretch or shrink operation is required for the present operation to the staging surface.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Header | d3dkmdt.h (include D3dkmddi.h) |
See also
D3DKMDT_STANDARDALLOCATION_TYPE
DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA