Previous Next

D3DHAL_D3DEXTENDEDCAPS

D3DHAL_D3DEXTENDEDCAPS describes additional 3D capabilities of the driver.

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
    DWORD     dwSize;
    DWORD     dwMinTextureWidth;
    DWORD     dwMaxTextureWidth;
    DWORD     dwMinTextureHeight;
    DWORD     dwMaxTextureHeight;
    DWORD     dwMinStippleWidth;
    DWORD     dwMaxStippleWidth;
    DWORD     dwMinStippleHeight;
    DWORD     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;
    DWORD     dwMaxActiveLights;
    D3DVALUE  dvMaxVertexW;
    WORD      wMaxUserClipPlanes;
    WORD      wMaxVertexBlendMatrices;
    DWORD     dwVertexProcessingCaps;
    DWORD     dwReserved1;
    DWORD     dwReserved2;
    DWORD     dwReserved3;
    DWORD     dwReserved4;
    DWORD     dwReserved5;
} D3DHAL_D3DEXTENDEDCAPS; 

Members

dwSize
Specifies the size in bytes of this D3DHAL_D3DEXTENDEDCAPS structure.
dwMinTextureWidth, dwMaxTextureWidth
Specify the minimum and maximum texture widths supported by the driver or device. These fields 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 supported by the driver.
dwMinStippleWidth, dwMaxStippleWidth
Specify the minimum and maximum stipple widths supported by the driver.
dwMinStippleHeight, dwMaxStippleHeight
Specify the minimum and maximum stipple heights supported by the driver.
dwMaxTextureRepeat
Specifies the full range of integer (non-fractional) bits of the post-normalized 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.
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 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:
Value Stencil 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:
Value Texture 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 Platform 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).
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 supported.
dwReserved1, dwReserved2, dwReserved3, dwReserved4, dwReserved5
Reserved for system use.

Comments

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.

Headers

Defined in d3dhal.h. Include d3dhal.h.

See Also

DdGetDriverInfo