ps_3_0
Uno shader pixel programmabile è costituito da un set di istruzioni che operano sui dati pixel. Registra i dati in e fuori dall'ALU. È possibile applicare un controllo aggiuntivo per modificare l'istruzione, i risultati o i dati scritti.
- ps_3_0 Istruzioni contiene un elenco delle istruzioni disponibili.
- ps_3_0 Registri elenca i diversi tipi di registri usati dall'ALU pixel shader.
- Modificatori Vengono usati per modificare il funzionamento di un'istruzione.
- Destination Register Write Mask determina quali componenti del registro di destinazione vengono scritti.
- I modificatori del registro origine pixel shader modificano i dati del registro di origine prima dell'esecuzione dell'istruzione.
- Lo swizzling del registro di origine fornisce un controllo aggiuntivo sui componenti di registrazione letti, copiati o scritti.
Nuove funzioni e caratteristiche
Aggiungere un registro viso. Aggiungere un registro di posizione. I registri dei colori (v#) sono ora completamente a virgola mobile e i registri delle coordinate della trama (t#) sono stati consolidati. Le dichiarazioni di input accettano i nomi di utilizzo e sono consentiti più utilizzi per i componenti di un determinato registro.
Controllo flusso dinamico
Il dispositivo supporta il controllo del flusso dinamico (se bool - ps, break - ps e break_comp - ps). La profondità di annidamento varia da 0 a 24.
Numero di registri temporanei
Il numero di registri temporanei supportati è 32.
Profondità di annidamento del flusso statico
La chiamata - ps/callnz /call_pred può essere annidata a una profondità massima di 4. In modo indipendente, ciclo - rep ps - istruzioni ps/ possono essere annidate a una profondità massima di 4.
Swizzle arbitrario
Lo swizzle arbitrario è supportato. Vedere Registro di origine Swizzling.
Istruzioni sfumature
Le istruzioni sfumature sono supportate. Vedere dsx - ps, dsy - ps e texldd - ps.
Predicazione
La predicazione delle istruzioni è supportata. Vedere Registro predicato.
Limite di lettura dipendente
Non esistono limiti di lettura dipendenti.
Limite di istruzioni trama
Non esiste alcun limite per le istruzioni di trama.
Conteggio istruzioni
Ogni pixel shader è consentito ovunque da 512 fino al numero di slot in MaxPixelShader30InstructionSlots (non più di 32768). Il numero di istruzioni eseguite può essere molto più alto a causa del supporto del ciclo. MaxPShaderInstructionsExecuted deve essere almeno 2^16.
Conteggio sampler
Il numero di campioni di trama disponibili è 16.
Maiuscole dispositivo
Se ps_3_0 è supportato, i limiti seguenti sono supportati nell'hardware (almeno):
Cap | Valore |
---|---|
MaxTextureWidth, MaxTextureHeight | 4K ogni |
MaxTextureRepeat | 8 K |
MaxAnisotropy | 16 |
PixelShaderVersion | 3_0 |
MaxPixelShader30InstructionSlots | 512 |
I limiti primitivi seguenti sono impostati: | D3DPMISCCAPS_BLENDOP, D3DPMISCCAPS_CLIPPLANESCALEDPOINTS, D3DPMISCCAPS_CLIPTLVERTS, D3DPMISCCAPS_CULLCCW, D3DPMISCCAPS_CULLCW, D3DPMISCCAPS_CULLNONE, D3DPMISCCAPS_FOGINFVF, D3DPMISCCAPS_MASKZ |
I limiti raster seguenti sono impostati: | D3DPRASTERCAPS_MIPMAPLODBIAS, D3DPRASTERCAPS_ANISOTROPY, D3DPRASTERCAPS_COLORPERSPECTIVE, D3DPRASTERCAPS_SCISSORTEST in D3DCAPS9 |
Supporto completo per la distorsione della profondità, tra cui: | D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS, D3DPRASTERCAPS_DEPTHBIAS |
Set completo di confronti per il test approfondito e alfa, tra cui: | Tutti i D3DPCMPCAPS in D3DCAPS9. |
Modalità di fusione di origine | Tutte le modalità di fusione sono supportate come origine (ad eccezione di D3DPBLENDCAPS_SRCALPHASAT, D3DPBLENDCAPS_BOTHSRCALPHA e D3DPBLENDCAPS_BOTHINVSRCALPHA). |
Sono supportati i limiti di trama seguenti: | D3DPTEXTURECAPS_CUBEMAP, D3DPTEXTURECAPS_MIPCUBEMAP, D3DPTEXTURECAPS_MIPMAP, D3DPTEXTURECAPS_MIPVOLUMEMAP, D3DPTEXTURECAPS_PERSPECTIVE, D3DPTEXTURECAPS_PROJECTED, D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, D3DPTEXTURECAPS_VOLUMEMAP |
Di seguito sono supportati i limiti di filtro trama, i limiti di filtro della trama del volume e i limiti di filtro trama del cubo: | D3DPTFILTERCAPS_MINFPOINT, D3DPTFILTERCAPS_MINFLINEAR, D3DPTFILTERCAPS_MINFANISOTROPIC (Non è necessario per VolumeTextureFilterCaps e CubeTextureFilterCaps ), D3DPTFILTERCAPS_MIPFPOINT, D3DPTFILTERCAPS_MIPFLINEAR, D3DPTFILTERCAPS_MAGFPOINT, D3DPTFILTERCAPS_MAGFLINEAR |
Le modalità di indirizzo della trama seguenti sono supportate nelle fasi dei vertici e dei pixel: | D3DPTADDRESSCAPS_WRAP, D3DPTADDRESSCAPS_MIRROR, D3DPTADDRESSCAPS_CLAMP, D3DPTADDRESSCAPS_BORDER, D3DPTADDRESSCAPS_INDEPENDENTUV, D3DPTADDRESSCAPS_MIRRORONCE |
Sono supportati tutti i limiti dello shader pixel. | DynamicFlowControlDepth = 24, NumTemps = 32, StaticFlowControlDepth = 4, NumInstructionSlots = 512. Le funzionalità seguenti sono supportate: predicazione, swizzles arbitrario e istruzioni sfumature. Non esiste alcun limite di lettura dipendente e nessun limite per la combinazione di istruzioni matematiche e di trama. |
Sono supportate tutte le operazioni stencil. Ciò include due stencil affiancati. | Vedere D3DSTENCILOP |
Dimensioni del punto di supporto del dispositivo per vertice | D3DFVFCAPS_PSIZE in D3DCAPS9 |
Supporto non di 2 trame. | Supporto completo o supporto non condizionale non pow-2; il dispositivo non deve avere la trama quadrata solo limitazioni come in D3DPTEXTURECAPS_SQUAREONLY. |
Se il dispositivo supporta più renderingtarget, sono supportati i limiti seguenti: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS, D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
Se vs_3_0 è supportato | MaxUserClipPlanes in D3DCAPS9 è 6 |
Argomenti correlati