Obsolete in DirectX 8.0 and later versions; see Comments.
The D3DDEVICEDESC_V1 structure describes the 3D capabilities of a device.
typedef struct _D3DDeviceDesc_V1 {
DWORD dwSize;
DWORD dwFlags;
D3DCOLORMODEL dcmColorModel;
DWORD dwDevCaps;
D3DTRANSFORMCAPS dtcTransformCaps;
BOOL bClipping;
D3DLIGHTINGCAPS dlcLightingCaps;
D3DPRIMCAPS dpcLineCaps;
D3DPRIMCAPS dpcTriCaps;
DWORD dwDeviceRenderBitDepth;
DWORD dwDeviceZBufferBitDepth;
DWORD dwMaxBufferSize;
DWORD dwMaxVertexCount;
} D3DDEVICEDESC_V1, *LPD3DDEVICEDESC_V1;
| Value | Meaning |
|---|---|
| D3DDD_BCLIPPING | The bClipping member contains valid data. |
| D3DDD_COLORMODEL | The dcmColorModel member contains valid data. |
| D3DDD_DEVCAPS | The dwDevCaps member contains valid data. |
| D3DDD_DEVICERENDERBITDEPTH | The dwDeviceRenderBitDepth member contains valid data. |
| D3DDD_DEVICEZBUFFERBITDEPTH | The dwDeviceZBufferBitDepth member contains valid data. |
| D3DDD_LIGHTINGCAPS | The dlcLightingCaps member contains valid data. |
| D3DDD_LINECAPS | The dpcLineCaps member contains valid data. |
| D3DDD_MAXBUFFERSIZE | The dwMaxBufferSize member contains valid data. |
| D3DDD_MAXVERTEXCOUNT | The dwMaxVertexCount member contains valid data. |
| D3DDD_TRANSFORMCAPS | The dtcTransformCaps member contains valid data. |
| D3DDD_TRICAPS | The dpcTriCaps member contains valid data. |
| Value | Meaning |
|---|---|
| D3DDEVCAPS_CANBLTSYSTONONLOCAL | The device supports a TexBlt from system memory to non-local video memory. |
| D3DDEVCAPS_CANRENDERAFTERFLIP | The device can queue rendering commands after a page flip. Devices must support this capability on Windows 2000 and later, meaning that the driver would always set this flag. |
| D3DDEVCAPS_DRAWPRIMITIVES2 | The device can support D3dDrawPrimitives2. |
| D3DDEVCAPS_DRAWPRIMITIVES2EX | The device can support Extended D3dDrawPrimitives2; i.e. a DX7-compliant driver. |
| D3DDEVCAPS_DRAWPRIMTLVERTEX | The device can draw TLVERTEX primitives. This flag is obsolete but must be set by the driver. |
| D3DDEVCAPS_EXECUTESYSTEMMEMORY | The device can use execute buffers from system memory. The driver must always set this bit. |
| D3DDEVCAPS_EXECUTEVIDEOMEMORY | The device can use execute buffers from display memory. The driver must never set this bit. |
| D3DDEVCAPS_FLOATTLVERTEX | The device accepts floating point for post-transform vertex data. This flag is obsolete but must be set by the driver. |
| D3DDEVCAPS_HWRASTERIZATION | The device has hardware acceleration for rasterization. |
| D3DDEVCAPS_HWTRANSFORMANDLIGHT | The device can support transformation and lighting in hardware. D3DDEVCAPS_DRAWPRIMITIVES2EX must also be set. |
| D3DDEVCAPS_SEPARATETEXTUREMEMORIES | The device is texturing from separate memory pools. Setting this capability bit indicates to DirectX 8.0 and later versions of applications that they are disabled from simultaneously using multiple textures. |
| D3DDEVCAPS_SORTDECREASINGZ | The device needs data sorted for decreasing depth. |
| D3DDEVCAPS_SORTEXACT | The device needs data sorted exactly. |
| D3DDEVCAPS_SORTINCREASINGZ | The device needs data sorted for increasing depth. |
| D3DDEVCAPS_TEXTURENONLOCALVIDEOMEMORY | The device can texture from nonlocal video memory. |
| D3DDEVCAPS_TLVERTEXSYSTEMMEMORY | The device can use buffers from system memory for transformed and lit vertices. This flag is obsolete but must be set by the driver. |
| D3DDEVCAPS_TLVERTEXVIDEOMEMORY | The device can use buffers from display memory for transformed and lit vertices. This flag is obsolete and must not be set by the driver. |
| D3DDEVCAPS_TEXTURESYSTEMMEMORY | The device can retrieve textures from system memory. |
| D3DDEVCAPS_TEXTUREVIDEOMEMORY | The device can retrieve textures from device memory. |
Defined in d3dhal.h. Include d3dhal.h.
This structure has been replaced by D3DCAPS8 (see the DirectX 8.0 SDK documentation) for DirectX 8.0 and later runtimes, but is required for legacy runtime (DirectX 7.0 and earlier) compatibility. See Reporting DirectX 8.0 Style Direct3D Capabilities for details.
The driver's DrvGetDirectDrawInfo function returns this information in the D3DHAL_GLOBALDRIVERDATA structure that the lpD3DGlobalDriverData member of the DD_HALINFO structure points to.
The Direct3D runtime constructs the application-level D3DDEVICEDESC7 structure (documented in the Platform SDK documentation) from the information returned in the D3DDEVICEDESC_V1 structure and the extended capabilities queried through the driver's DdGetDriverInfo function. While some of the dwDevCaps flags are obsolete at the driver level, the driver must set them appropriately in order for applications to work correctly.
D3DLIGHTINGCAPS, D3DPRIMCAPS, D3dDrawPrimitives2, DdGetDriverInfo, D3DHAL_GLOBALDRIVERDATA, DD_HALINFO, DrvGetDirectDrawInfo