Expand Minimize

D3DHAL_D3DEXTENDEDCAPS structure

D3DHAL_D3DEXTENDEDCAPS describes additional 3D capabilities of the driver.

Syntax


typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth, dwMaxTextureWidth;
  DWORD    dwMinTextureHeight, dwMaxTextureHeight;
  DWORD    dwMinStippleWidth, dwMaxStippleWidth;
  DWORD    dwMinStippleHeight, dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
#if (DIRECT3D_VERSION >= 0x0700)
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
#endif 
} D3DHAL_D3DEXTENDEDCAPS, *LPD3DHAL_D3DEXTENDEDCAPS;

Members

dwSize

Specifies the size in bytes of this D3DHAL_D3DEXTENDEDCAPS structure.

dwMinTextureWidth, dwMaxTextureWidth

Specify the minimum and maximum texture widths, in pixels, supported by the driver or device. This member is typically a power of 2. These members are provided as hints to the application, and it is the application's responsibility to adjust texture sizes when necessary.

dwMinTextureHeight, dwMaxTextureHeight

Specify the minimum and maximum texture heights, in pixels, supported by the driver. This member is typically a power of 2.

dwMinStippleWidth, dwMaxStippleWidth

Specify the minimum and maximum stipple widths, in pixels, supported by the driver.

dwMinStippleHeight, dwMaxStippleHeight

Specify the minimum and maximum stipple heights, in pixels, supported by the driver.

dwMaxTextureRepeat

Specifies the full range of integer (subfractional) bits of the postnormalized texture indexes. If the D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE bit is set, then the number of times a texture can be wrapped is specified by this member. If the D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE bit is not set, then the number of time a texture can be wrapped is given by the expression: dwMaxTextureRepeat * (texture size).

dwMaxTextureAspectRatio

Specifies the maximum texture aspect ratio supported by the hardware. This member is typically a power of 2. This maximum aspect ratio is provided as a measure of the texture's height in pixels divided by its width in pixels, or its width divided by height, whichever produces the greater result. For example, a texture that is 8192 pixels wide by 1 pixel high or 1 pixel wide by 8192 high is invalid with a display device that only supports a maximum aspect ratio of 4092. If the hardware is not limited in aspect ratio, dwMaxTextureAspectRatio is the larger of dwMaxTextureWidth and dwMaxTextureHeight.

dwMaxAnisotropy

Specifies the maximum valid value for the D3DRENDERSTATE_ANISOTROPY render state. If the driver's hardware does not support anisotropic filtering, the driver should set this member to 1. Setting this member to 0 represents an invalid value.

dvGuardBandLeft
dvGuardBandTop
dvGuardBandRight
dvGuardBandBottom

Specify the screen-space coordinates, in pixels, of the guard-band clip region. The upper-left corner of this rectangle has coordinates (dvGuardBandLeft, dvGuardBandTop). The lower-left corner has coordinates (dvGuardBandRight, dvGuardBandBottom). Coordinates inside this rectangle but outside the viewport rectangle are automatically clipped.

dvExtentsAdjust

Specifies the number of pixels required to adjust the extents rectangle outward to accommodate antialiasing kernels.

dwStencilCaps

Specifies the stencil buffer operations supported by the driver or device. For further descriptions of the stencil buffer operations shown in the following table, see D3DSTENCILOP in the DirectX SDK documentation. Stencil operations are assumed to be valid for all three stencil buffer operation render states (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS, and D3DRENDERSTATE_STENCILZFAIL). This member can be a bitwise OR of any of the following values:

ValueStencil Buffer Operation

D3DSTENCILCAPS_DECR

The D3DSTENCILOP_DECR operation is supported.

D3DSTENCILCAPS_DECRSAT

The D3DSTENCILOP_DECRSAT operation is supported.

D3DSTENCILCAPS_INCR

The D3DSTENCILOP_INCR operation is supported.

D3DSTENCILCAPS_INCRSAT

The D3DSTENCILOP_INCRSAT operation is supported.

D3DSTENCILCAPS_INVERT

The D3DSTENCILOP_INVERT operation is supported.

D3DSTENCILCAPS_KEEP

The D3DSTENCILOP_KEEP operation is supported.

D3DSTENCILCAPS_REPLACE

The D3DSTENCILOP_REPLACE operation is supported.

D3DSTENCILCAPS_ZERO

The D3DSTENCILOP_ZERO operation is supported.

 

dwFVFCaps

Specifies the number of texture coordinates that the driver can process. This value can be an integer in the range 0 through 8, where 0 indicates that the driver does not support texturing, 1 indicates that the driver can process only one set of texture coordinates, 2 indicates that the driver can process two sets of texture coordinates, and so on.

A driver must be able to parse all texture coordinates present in the vertex data regardless of the number of texture coordinates that the driver actually uses. The driver should use the index provided with the D3DTSS_TEXCOORDINDEX value of the D3DTEXTURESTAGESTATETYPE enumeration, described in the DirectX SDK documentation, to determine what texture coordinate set to use when rendering.

dwTextureOpCaps

Specifies the texture operations supported by the device. See D3DTEXTUREOP in the DirectX SDK documentation for descriptions of the texture operations listed in the following table. This member can be a bitwise OR of the following values:

ValueTexture Operation Supported

D3DTEXOPCAPS_ADD

The D3DTOP_ADD texture blending operation is supported by this device.

D3DTEXOPCAPS_ADDSIGNED

The D3DTOP_ADDSIGNED texture blending operation is supported by this device.

D3DTEXOPCAPS_ADDSIGNED2X

The D3DTOP_ADDSIGNED2X texture blending operation is supported by this device.

D3DTEXOPCAPS_ADDSMOOTH

The D3DTOP_ADDSMOOTH texture blending operation is supported by this device.

D3DTEXOPCAPS_BLENDCURRENTALPHA

The D3DTOP_BLENDCURRENTALPHA texture blending operation is supported by this device.

D3DTEXOPCAPS_BLENDDIFFUSEALPHA

The D3DTOP_BLENDDIFFUSEALPHA texture blending operation is supported by this device.

D3DTEXOPCAPS_BLENDFACTORALPHA

The D3DTOP_BLENDFACTORALPHA texture blending operation is supported by this device.

D3DTEXOPCAPS_BLENDTEXTUREALPHA

The D3DTOP_BLENDTEXTUREALPHA texture blending operation is supported by this device.

D3DTEXOPCAPS_BLENDTEXTUREALPHAPM

The D3DTOP_BLENDTEXTUREALPHAPM texture blending operation is supported by this device.

D3DTEXOPCAPS_BUMPENVMAP.

The D3DTOP_BUMPENVMAP texture blending operation is supported by this device.

D3DTEXOPCAPS_BUMPENVMAPLUMINANCE

The D3DTOP_BUMPENVMAPLUMINANCE texture blending operation is supported by this device.

D3DTEXOPCAPS_DISABLE

The D3DTOP_DISABLE texture blending operation is supported by this device.

D3DTEXOPCAPS_DOTPRODUCT3

The D3DTOP_DOTPRODUCT3 texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATE

The D3DTOP_MODULATE texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATE2X

The D3DTOP_MODULATE2X texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATE4X

The D3DTOP_MODULATE4X texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR

The D3DTOP_MODULATEALPHA_ADDCOLOR texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA

The D3DTOP_MODULATEALPHA_ADDCOLOR texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR

The D3DTOP_MODULATEINVALPHA_ADDCOLOR texture blending operation is supported by this device.

D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA

The D3DTOP_MODULATEINVCOLOR_ADDALPHA texture blending operation is supported by this device.

D3DTEXOPCAPS_PREMODULATE

The D3DTOP_PREMODULATE texture blending operation is supported by this device.

D3DTEXOPCAPS_SELECTARG1

The D3DTOP_SELECTARG1 texture blending operation is supported by this device.

D3DTEXOPCAPS_SELECTARG2

The D3DTOP_SELECTARG2 texture blending operation is supported by this device.

D3DTEXOPCAPS_SUBTRACT

The D3DTOP_SUBTRACT texture blending operation is supported by this device.

 

wMaxTextureBlendStages

Specifies the maximum number of texture blending stages supported by this device.

wMaxSimultaneousTextures

Specifies the maximum number of textures that can be simultaneously bound to the texture blending stages for this device. That is, wMaxSimultaneousTextures specifies how many of the texture stages can have textures bound to them through the lDirect3DDevice7::SetTexture method. See the Microsoft Windows SDK documentation for more information about this method.

dwMaxActiveLights

Specifies the maximum number of active lights supported by this device. This only needs to be specified in drivers that support hardware transform and lighting (and therefore specify D3DDEVCAPS_HWTRANSFORMANDLIGHT in their device caps).

dvMaxVertexW

Specifies the maximum W range supported by this device. This only needs to be specified in drivers that support W buffering (and therefore specify D3DPRASTERCAPS_WBUFFER in their rasterization caps). The units for W depth values depend on the running application. For example, the application might specify depth in meters.

wMaxUserClipPlanes

Specifies the maximum number of user-defined clip planes supported.

wMaxVertexBlendMatrices

Specifies the number of world matrices supported for vertex blending.

dwVertexProcessingCaps

Specifies the vertex processing caps that are supported by the driver. This member can be a bitwise OR of the following values:

ValueMeaning

D3DVTXPCAPS_DIRECTIONALLIGHTS

Device can do directional lights.

D3DVTXPCAPS_LOCALVIEWER

Device can do local viewer.

D3DVTXPCAPS_MATERIALSOURCE7

Device can do DirectX 7.0 color-material-source operations.

D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER

Device does not support texture generation in nonlocal viewer mode.

D3DVTXPCAPS_POSITIONALLIGHTS

Device can do positional lights (includes point and spot).

D3DVTXPCAPS_TEXGEN

Device can do texgen.

D3DVTXPCAPS_TEXGEN_SPHEREMAP

Device supports D3DTSS_TCI_SPHEREMAP.

D3DVTXPCAPS_TWEENING

Device can do vertex tweening.

 

dwReserved1

Reserved for system use.

dwReserved2

Reserved for system use.

dwReserved3

Reserved for system use.

dwReserved4

Reserved for system use.

Remarks

The driver allocates and zero-initializes this structure and sets appropriate values in the members it supports. The driver's DdGetDriverInfo function returns a pointer to this structure when that function is called with the GUID_D3DExtendedCaps GUID.

When the driver fills in this structure, it can set values for execute buffer capabilities even when the interface being used to retrieve the capabilities (such as lDirect3DDevice3) does not support execute buffers.

Requirements

Header

D3dhal.h (include D3dhal.h)

See also

DdGetDriverInfo

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft