D3DKMDT_SHADOWSURFACEDATA structure (d3dkmdt.h)

The D3DKMDT_SHADOWSURFACEDATA structure describes a lockable shadow surface, which matches the primary surface in format and resolution for a given display mode.

Syntax

typedef struct _D3DKMDT_SHADOWSURFACEDATA {
  [in]  UINT         Width;
  [in]  UINT         Height;
  [in]  D3DDDIFORMAT Format;
  [out] UINT         Pitch;
} D3DKMDT_SHADOWSURFACEDATA;

Members

[in] Width

The width of the surface, in pixels. The driver returns the width value.

[in] Height

The height of the surface, in pixels. The driver returns the height value.

[in] Format

A D3DDDIFORMAT-typed value that indicates the pixel format of the surface. The driver returns the format value.

[out] Pitch

The width of the surface, in bytes. The driver must return the pitch value because the shadow surface is lockable.

Remarks

The D3DKMDT_SHADOWSURFACEDATA 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 shadow surface. The DirectX graphics kernel subsystem uses the description in a call to the display miniport driver's DxgkDdiCreateAllocation function to create the lockable shadow surface.

The CPU draws into the locked shadow surface, unlocks the shadow surface, and then issues bit-block transfer (bitblt) requests through the DxgkDdiPresent function from the shadow surface to the matched shared primary surface. Bit-block transfer requests are also issued to transfer data from a shared primary surface into the shadow surface.

A color conversion, stretch, or shrink operation is not required when copying data from or to a shadow surface because the source and destination formats and dimensions of shadow and shared primary surfaces always match.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Header d3dkmdt.h

See also

D3DDDIFORMAT

D3DKMDT_STANDARDALLOCATION_TYPE

DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA

DxgkDdiCreateAllocation

DxgkDdiGetStandardAllocationDriverData

DxgkDdiPresent