Expand Minimize

D3DKMDT_GDISURFACETYPE enumeration

The D3DKMDT_GDISURFACETYPE enumeration indicates the type of lockable surface that is used by the Desktop Window Manager (DWM) for redirection.

Syntax


typedef enum _D3DKMDT_GDISURFACETYPE { 
  D3DKMDT_GDISURFACE_INVALID                          = 0,
  D3DKMDT_GDISURFACE_TEXTURE                          = 1,
  D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE               = 2,
  D3DKMDT_GDISURFACE_STAGING                          = 3,
  D3DKMDT_GDISURFACE_LOOKUPTABLE                      = 4,
  D3DKMDT_GDISURFACE_EXISTINGSYSMEM                   = 5,
  D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE               = 6,
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3)
  D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER             = 7,
  D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER  = 8

#endif } D3DKMDT_GDISURFACETYPE;

Constants

D3DKMDT_GDISURFACE_INVALID

The driver should not see this value.

D3DKMDT_GDISURFACE_TEXTURE

Indicates that the surface has the following properties:

  • It has a one-level texture.

  • It is not visible to the CPU, and the video memory manager will create it as a shared surface.

  • It is opened by a user-mode driver and used as a texture during DWM composition.

  • It is used by a user-mode driver as a render target for DirectX rendering.

  • It is used as a source or destination surface in GDI hardware-accelerated operations.

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

Indicates that the surface has the following properties:

  • It is visible to the CPU and will be extensively used by the CPU. The allocation must be a linear format and in a cache-coherent GPU aperture segment.

  • It is used as a source surface in GDI hardware-accelerated operations.

  • It is used as a destination surface in bitblt (copy-only) GDI operations.

  • Its pitch must be returned by the display miniport driver.

  • Its pitch value and surface address must be aligned to the value of the AlignmentShift member of the DXGK_PRESENTATIONCAPS structure (that is, DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).

D3DKMDT_GDISURFACE_STAGING

Indicates that the surface has the following properties:

  • It is not visible to the CPU.

  • It is used as a source or destination surface in GDI hardware-accelerated operations.

  • It is used as a source or destination surface in GDI bitblt (copy-only) operations.

D3DKMDT_GDISURFACE_LOOKUPTABLE

Indicates that the surface has the following properties:

  • It is not visible to the CPU.

  • It is used only during processing of commands that are specified by the ClearTypeBlend and OpCode.DXGK_GDIOP_BITBLT (copy-only) members of the DXGK_RENDERKM_COMMAND structure.

  • The format is defined by the D3DDDIFMT_A8 value of the D3DDDIFORMAT enumeration.

  • The gamma lookup allocation is created one time and never changes after it is initialized. The allocation is initialized in D3DDDIFMT_A8 format by issuing a DXGK_RENDERKM_COMMAND->Opcode.DXGK_GDIOP_BITBLT command from a D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE surface.

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

Indicates that the surface has the following properties:

  • It is visible to the CPU. The allocation must be a linear format and in a cache-coherent GPU aperture segment.

  • Its pitch value and surface address must be aligned to the value of the AlignmentShift member of the DXGK_PRESENTATIONCAPS structure (that is, DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).

  • The surface address is passed to the driver.

  • This value is used in the same way as the D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE value.

D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE

Reserved for system use. Do not use this value in your driver.

Supported starting with Windows 8.

D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER

Indicates that the surface has the following properties:

  • It is not visible to the CPU, and the video memory manager will create it as a shared cross-adapter surface.

  • Its pitch must be returned by the display miniport driver in the Pitch member of the D3DKMDT_GDISURFACEDATA structure.

  • The pitch and height must have the required alignment for the cross-adapter resource. You can use the D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT and D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT constants to validate that the driver returns the correct pitch and height for the cross-adapter resource. These constants are defined in D3dukmdt.h.

Supported starting with Windows 8.1.

D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER

Reserved for system use. Do not use this value in your driver.

Supported starting with Windows 8.1.

Requirements

Version

Available in Windows 7 and later versions of the Windows operating systems.

Header

D3dkmdt.h (include D3dkmdt.h)

See also

D3DDDIFORMAT
D3DKMDT_GDISURFACEDATA
DXGK_DRIVERCAPS
DXGK_PRESENTATIONCAPS
DXGK_RENDERKM_COMMAND

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft