D3DKMDT_GDISURFACETYPE enumeration (d3dkmdt.h)

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,
  D3DKMDT_GDISURFACE_TEXTURE,
  D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE,
  D3DKMDT_GDISURFACE_STAGING,
  D3DKMDT_GDISURFACE_LOOKUPTABLE,
  D3DKMDT_GDISURFACE_EXISTINGSYSMEM,
  D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE,
  D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER,
  D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER
} 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

Requirement Value
Minimum supported client Windows 7
Header d3dkmdt.h

See also

D3DDDIFORMAT

D3DKMDT_GDISURFACEDATA

DXGK_DRIVERCAPS

DXGK_PRESENTATIONCAPS

DXGK_RENDERKM_COMMAND