emit_stream (sm5 - asm)

Emit a vertex to a given stream.

emit_stream streamIndex




[in] The stream index.



This instruction causes all declared o# registers for the given stream to be read out of the geometry shader to generate a vertex. Afer the emit, all data in all output registers for all streams become uninitialized, not just the stream emitted to.

streamIndex must be an immediate value [0..3] for a declared stream.

As multiple emit_stream calls are issued, primitives are generated.


  • emit_stream can appear any number of times in a geometry shader, including within flow control.
  • If streams have not been declared, then you must use emit instead of emit_stream.

This instruction applies to the following shader stages:



Minimum Shader Model

This instruction is supported in the following shader models:

Shader ModelSupported
Shader Model 5 yes
Shader Model 4.1 no
Shader Model 4 no
Shader Model 3 (DirectX HLSL) no
Shader Model 2 (DirectX HLSL) no
Shader Model 1 (DirectX HLSL) no


Related topics

Shader Model 5 Assembly (DirectX HLSL)