Funcionalidades necessárias do Direct3D 9
Para que os aplicativos acessem totalmente os recursos das versões 9_1, 9_2 e 9_3 do Microsoft Direct3D, o driver de modo de usuário deve expor determinadas funcionalidades de hardware. Esses recursos são expressos em termos da estrutura de D3DCAPS9 retornada pela função GetCaps do driver de modo de usuário. Para indicar o suporte dos recursos, o driver deve definir esses membros de D3DCAPS9 como um OR bit a bit de todos os respectivos valores de sinalizador:
Funcionalidades mínimas para o nível 9_1 do Direct3D
membro D3DCAPS9 | Valor de sinalizador |
---|---|
Caps2 | 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
(Consulte Observação.) |
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 | Deve ser zero, ou 128 ou maior. |
MaxAnisotropy | 2 |
MaxVertexW | 0.f |
Nota Esses requisitos também se aplicam:
- O driver também deve definir o membro TextureCaps como um valor de D3DPTEXTURECAPS_NONPOW2CONDITIONAL e D3DPTEXTURECAPS_POW2 ou como nenhum deles.
- Quando o driver responde a um evento, em que D3DDDIARG_CREATEQUERY. QueryType é D3DDDIQUERYTYPE_EVENT, ele sempre deve definir o valor BOOL do evento como TRUE ao responder. Consulte CreateQuery e D3DDDIARG_CREATEQUERY.
Funcionalidades mínimas para o nível 9_2 do Direct3D
Esses recursos devem ser definidos além daqueles listados para o nível 9_1 do Direct3D.
membro D3DCAPS9 | Valor de sinalizador |
---|---|
PrimitiveMiscCaps | D3DPMISCCAPS_SEPARATEALPHABLEND |
DevCaps2 | D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET |
TextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
VolumeTextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
MaxTextureWidth | 2.048 |
MaxTextureHeight | 2.048 |
MaxTextureRepeat | Deve ser zero, ou 2048 ou maior. |
VertexShaderVersion | D3DVS_VERSION(2,0) |
MaxAnisotropy | 16 |
MaxPrimitiveCount | 1048575 |
MaxVertexIndex | 1048575 |
MaxVertexW | 100000000000.f |
Nota Esse requisito também se aplica:
- Quando o driver responde a uma consulta z-testing, em que D3DDDIARG_CREATEQUERY. QueryType é D3DDDIQUERYTYPE_OCCLUSION, deve sempre definir o valor UINT da consulta como um valor diferente de zero ao responder. Consulte CreateQuery e D3DDDIARG_CREATEQUERY.
Funcionalidades mínimas para o nível 9_3 do Direct3D
Esses recursos devem ser definidos além daqueles listados para os níveis 9_1 e 9_2 do Direct3D.
membro D3DCAPS9 | Valor de sinalizador |
---|---|
PS20Caps-Caps> | D3DPS20CAPS_GRADIENTINSTRUCTIONS |
PrimitiveMiscCaps | D3DPMISCCAPS_INDEPENDENTWRITEMASKS D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
TextureAddressCaps | D3DPTADDRESSCAPS_BORDER |
MaxTextureWidth | 4096 |
MaxTextureHeight | 4096 |
MaxTextureRepeat | Deve ser zero, ou 8192 ou maior. |
NumSimultaneousRTs | 4 |
PS20Caps-NumInstructionSlots> | 512 (Sombreador de Pixel versão 2b) |
PS20Caps-NumTemps> | 32 (Sombreador de Pixel versão 2b) |
VS20Caps-NumTemps> | 32 (Sombreador de Vértice Versão 2a) |
MaxVertexShaderConst | 256 (Sombreador de Vértice Versão 2a) |
VertexShaderVersion | D3DVS_VERSION(3,0) (Consulte Observação.) |
Nota O valor VertexShaderVersion de D3DVS_VERSION(3,0) garante o suporte à instanciação. O Direct3D 10Level 9 não expõe o Modelo de Sombreador 3.0.