Condividi tramite


Funzionalità Direct3D 9 necessarie

Per consentire alle applicazioni di accedere completamente alle funzionalità di Microsoft Direct3D versioni 9_1, 9_2 e 9_3, il driver in modalità utente deve esporre determinate funzionalità hardware. Queste funzionalità sono espresse in termini della struttura D3DCAPS9 restituita dalla funzione GetCaps del driver in modalità utente. Per indicare il supporto delle funzionalità, il driver deve impostare questi membri di D3DCAPS9 su un or bit per bit di tutti i rispettivi valori di flag:

Funzionalità minime per il livello Direct3D 9_1

D3DCAPS9 membro Valore del flag
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

(vedere la nota).

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

2048

MaxTextureHeight

2048

NumSimultaneousRTs

1

MaxSimultaneousTextures

8

MaxTextureBlendStages

8

PixelShaderVersion

D3DPS_VERSION(2,0)

MaxPrimitiveCount

65535

MaxVertexIndex

65534

MaxVolumeExtent

256

MaxTextureRepeat

Deve essere zero o 128 o maggiore.

MaxAnisotropy

2

MaxVertexW

0.f

Nota Questi requisiti si applicano anche:

  • Il driver deve anche impostare il membro TextureCaps su un valore di D3DPTEXTURECAPS_NONPOW2CONDITIONAL e D3DPTEXTURECAPS_POW2 o su nessuno dei due.
  • Quando il driver risponde a un evento, in cui D3DDDIARG_CREATEQUERY. QueryType è D3DDDIQUERYTYPE_EVENT, deve sempre impostare il valore BOOL dell'evento su TRUE quando risponde. Vedere CreateQuery e D3DDDIARG_CREATEQUERY.

Funzionalità minime per il livello Direct3D 9_2

Queste funzionalità devono essere impostate oltre a quelle elencate per il livello Direct3D 9_1.

D3DCAPS9 membro Valore del flag
PrimitiveMiscCaps

D3DPMISCCAPS_SEPARATEALPHABLEND

DevCaps2

D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET

TextureAddressCaps

D3DPTADDRESSCAPS_MIRRORONCE

VolumeTextureAddressCaps

D3DPTADDRESSCAPS_MIRRORONCE

MaxTextureWidth

2048

MaxTextureHeight

2048

MaxTextureRepeat

Deve essere zero o 2048 o superiore.

VertexShaderVersion

D3DVS_VERSION(2,0)

MaxAnisotropy

16

MaxPrimitiveCount

1048575

MaxVertexIndex

1048575

MaxVertexW

1000000000.f

Nota Questo requisito si applica anche:

  • Quando il driver risponde a una query z-testing, in cui D3DDDIARG_CREATEQUERY. QueryType è D3DDDIQUERYTYPE_OCCLUSION, deve sempre impostare il valore UINT della query su un valore diverso da zero quando risponde. Vedere CreateQuery e D3DDDIARG_CREATEQUERY.

Funzionalità minime per il livello Direct3D 9_3

Queste funzionalità devono essere impostate oltre a quelle elencate per i livelli Direct3D 9_1 e 9_2.

membro D3DCAPS9 Valore del flag
PS20Caps-Caps>

D3DPS20CAPS_GRADIENTINSTRUCTIONS

PrimitiveMiscCaps

D3DPMISCCAPS_INDEPENDENTWRITEMASKS

D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING

TextureAddressCaps

D3DPTADDRESSCAPS_BORDER

MaxTextureWidth

4096

MaxTextureHeight

4096

MaxTextureRepeat

Deve essere zero o 8192 o maggiore.

NumSimultaneousRTs

4

PS20Caps-NumInstructionSlots>

512 (Pixel Shader versione 2b)

PS20Caps-NumTemps>

32 (Pixel Shader versione 2b)

VS20Caps-NumTemps>

32 (Vertex Shader versione 2a)

MaxVertexShaderConst

256 (vertex shader versione 2a)

VertexShaderVersion

D3DVS_VERSION(3,0) (vedere la nota).

Nota Il valore VertexShaderVersion di D3DVS_VERSION(3,0) garantisce il supporto per la creazione di istanze. Direct3D 10Level 9 non espone il modello shader 3.0.