Fonctionnalités Direct3D 9 requises
Pour que les applications accèdent entièrement aux fonctionnalités de Microsoft Direct3D versions 9_1, 9_2 et 9_3, le pilote en mode utilisateur doit exposer certaines fonctionnalités matérielles. Ces fonctionnalités sont exprimées en termes de structure D3DCAPS9 retournée par la fonction GetCaps du pilote en mode utilisateur. Pour indiquer la prise en charge des fonctionnalités, le pilote doit définir ces membres de D3DCAPS9 sur un bit-OR de toutes les valeurs d’indicateur respectives :
Fonctionnalités minimales pour Direct3D niveau 9_1
D3DCAPS9 membre | Valeur d’indicateur |
---|---|
Majuscules2 | D3DCAPS2_DYNAMICTEXTURES D3DCAPS2_FULLSCREENGAMMA |
PresentationIntervals | D3DPRESENT_INTERVAL_IMMEDIATE D3DPRESENT_INTERVAL_ONE |
PrimitiveMiscCaps | D3DPMISCCAPS_COLORWRITEENABLE |
ShadeCaps | D3DPSHADECAPS_ALPHAGOURAUDBLEND D3DPSHADECAPS_COLORGOURAUDRGB D3DPSHADECAPS_FOGGOURAUD D3DPSHADECAPS_SPECULARGOURAUDRGB |
TextureFilterCaps | D3DPTFILTERCAPS_MINFLINEAR D3DPTFILTERCAPS_MINFPOINT D3DPTFILTERCAPS_MAGFLINEAR D3DPTFILTERCAPS_MAGFPOINT |
TextureCaps
(Voir la remarque ci-dessous.) |
D3DPTEXTURECAPS_ALPHA D3DPTEXTURECAPS_CUBEMAP D3DPTEXTURECAPS_MIPMAP D3DPTEXTURECAPS_PERSPECTIVE |
TextureAddressCaps | D3DPTADDRESSCAPS_CLAMP D3DPTADDRESSCAPS_INDEPENDENTUV D3DPTADDRESSCAPS_MIRROR D3DPTADDRESSCAPS_WRAP |
TextureOpCaps | D3DTEXOPCAPS_DISABLE D3DTEXOPCAPS_MODULATE D3DTEXOPCAPS_SELECTARG1 D3DTEXOPCAPS_SELECTARG2 |
SrcBlendCaps | D3DPBLENDCAPS_INVDESTALPHA D3DPBLENDCAPS_INVDESTCOLOR D3DPBLENDCAPS_INVSRCALPHA D3DPBLENDCAPS_ONE D3DPBLENDCAPS_SRCALPHA D3DPBLENDCAPS_ZERO |
DestBlendCaps | D3DPBLENDCAPS_ONE D3DPBLENDCAPS_INVSRCALPHA D3DPBLENDCAPS_INVSRCCOLOR D3DPBLENDCAPS_SRCALPHA D3DPBLENDCAPS_ZERO |
StretchRectFilterCaps | D3DPTFILTERCAPS_MAGFLINEAR D3DPTFILTERCAPS_MAGFPOINT D3DPTFILTERCAPS_MINFLINEAR D3DPTFILTERCAPS_MINFPOINT |
ZCmpCaps | D3DPCMPCAPS_ALWAYS D3DPCMPCAPS_LESSEQUAL |
RasterCaps | D3DPRASTERCAPS_DEPTHBIAS D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS |
StencilCaps | D3DSTENCILCAPS_TWOSIDED |
MaxTextureWidth | 2 048 |
MaxTextureHeight | 2 048 |
NumSimultaneousRTs | 1 |
MaxSimultaneousTextures | 8 |
MaxTextureBlendStages | 8 |
PixelShaderVersion | D3DPS_VERSION(2,0) |
MaxPrimitiveCount | 65535 |
MaxVertexIndex | 65534 |
MaxVolumeExtent | 256 |
MaxTextureRepeat | Doit être égal à zéro, 128 ou supérieur. |
MaxAnisotropy | 2 |
MaxVertexW | 0.f |
Note Ces exigences s’appliquent également :
- Le pilote doit également définir le membre TextureCaps sur une valeur de D3DPTEXTURECAPS_NONPOW2CONDITIONAL et D3DPTEXTURECAPS_POW2, ou sur aucun des deux.
- Lorsque le pilote répond à un événement, où D3DDDIARG_CREATEQUERY. QueryType est D3DDDIQUERYTYPE_EVENT, il doit toujours définir la valeur BOOL de l’événement sur TRUE lors de la réponse. Consultez CreateQuery et D3DDDIARG_CREATEQUERY.
Fonctionnalités minimales pour direct3D niveau 9_2
Ces fonctionnalités doivent être définies en plus de celles répertoriées pour Direct3D niveau 9_1.
D3DCAPS9 membre | Valeur d’indicateur |
---|---|
PrimitiveMiscCaps | D3DPMISCCAPS_SEPARATEALPHABLEND |
DevCaps2 | D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET |
TextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
VolumeTextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
MaxTextureWidth | 2 048 |
MaxTextureHeight | 2 048 |
MaxTextureRepeat | Doit être égal à zéro, ou 2 048 ou supérieur. |
VertexShaderVersion | D3DVS_VERSION(2,0) |
MaxAnisotropy | 16 |
MaxPrimitiveCount | 1048575 |
MaxVertexIndex | 1048575 |
MaxVertexW | 10000000000.f |
Note Cette exigence s’applique également :
- Lorsque le pilote répond à une requête z-testing, où D3DDDIARG_CREATEQUERY. QueryType est D3DDDIQUERYTYPE_OCCLUSION, il doit toujours définir la valeur UINT de la requête sur une valeur différente de zéro lors de la réponse. Consultez CreateQuery et D3DDDIARG_CREATEQUERY.
Fonctionnalités minimales pour direct3D niveau 9_3
Ces fonctionnalités doivent être définies en plus de celles répertoriées pour les niveaux Direct3D 9_1 et 9_2.
D3DCAPS9 membre | Valeur d’indicateur |
---|---|
PS20Caps-Caps> | D3DPS20CAPS_GRADIENTINSTRUCTIONS |
PrimitiveMiscCaps | D3DPMISCCAPS_INDEPENDENTWRITEMASKS D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
TextureAddressCaps | D3DPTADDRESSCAPS_BORDER |
MaxTextureWidth | 4096 |
MaxTextureHeight | 4096 |
MaxTextureRepeat | Doit être égal à zéro, ou 8192 ou supérieur. |
NumSimultaneousRTs | 4 |
PS20Caps-NumInstructionSlots> | 512 (Nuanceur de pixels version 2b) |
PS20Caps-NumTemps> | 32 (Nuanceur de pixels version 2b) |
VS20Caps-NumTemps> | 32 (nuanceur de vertex version 2a) |
MaxVertexShaderConst | 256 (nuanceur de vertex version 2a) |
VertexShaderVersion | D3DVS_VERSION(3,0) (voir remarque.) |
Note La valeur VertexShaderVersion de D3DVS_VERSION(3,0) garantit la prise en charge de l’instanciation. Direct3D 10Level 9 n’expose pas shader Model 3.0.