dcl_maxOutputVertexCount (sm4 - asm)

Dichiara il numero massimo di vertici che possono essere restituiti da uno shader geometry.

dcl_maxOutputVertexCount conteggio
Elemento Descrizione
Conteggio
[in] Intero senza segno a 32 bit compreso tra 1 e n, inclusivo.

Un shader geometry può restituire un massimo di 1024 valori a 32 bit. Questo massimo include le dimensioni dei dati di input e le dimensioni dei dati creati dallo shader.

Ecco alcune limitazioni:

  • Se il numero di vertici viene raggiunto prima del completamento dell'esecuzione del geometry shader, lo shader termina.
  • Un geometry-shader può raggiungere la fine del suo programma prima di restituire i vertici; questo è perfettamente legale.
  • Se si esegue il debug di uno shader geometry, è possibile indicare il numero di vertici generati conteggiando il numero di istruzioni generate.

Questa istruzione si applica alle fasi dello shader seguenti:

Vertex shader Geometry shader Pixel shader
x

Questa istruzione è inclusa per facilitare il debug di uno shader nell'assembly; non è possibile creare uno shader nel linguaggio dell'assembly usando Shader Model 4.

Esempio

Di seguito sono riportati alcuni esempi.

Si supponga che i dati di input siano costituiti da posizione (.xyzw) e colore (.rgb). Ogni componente usa un byte; dato 7 byte, il numero massimo di vertici che il shader può generare sarebbe 1024 / (4 + 3) = 146.

dcl_maxOutputVertexCount 146

Si supponga che lo shader geometry crei 32 vettori a 4 componenti. Il numero massimo di vertici che il shader può generare sarebbe 1024 / (32 * 4) = 8.

dcl_maxOutputVertexCount 8

Modello di shader minimo

Questa funzione è supportata nei modelli shader seguenti.

Modello di shader Supportato
Modello shader 5
Modello shader 4.1
Modello shader 4
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Shader Model 4 Assembly (DirectX HLSL)