Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Declares the maximum number of vertices that can be output by a geometry shader.
dcl_maxOutputVertexCount count |
---|
Item | Description |
---|---|
count |
[in] A 32-bit unsigned integer between 1 and n, inclusive. |
A geometry shader can output a maximum of 1024 32-bit values. This maximum includes the size of the input data and the size of the data created by the shader.
Here are a few limitations:
- If the number of vertices is reached before the geometry shader finishes executing, the shader terminates.
- A geometry-shader can reach the end of its program before outputting any vertices; this is perfectly legal.
- If you are debugging a geometry shader, you can tell the number of vertices generated by counting the number of emit instructions generated.
This instruction applies to the following shader stages:
Vertex Shader | Geometry Shader | Pixel Shader |
---|---|---|
x |
This instruction is included to aid in debugging a shader in assembly; you cannot author a shader in assembly language using Shader Model 4.
Example
Here are some examples.
Assume input data made up of position (.xyzw) and color (.rgb). Each component consumes one byte; given 7 bytes, the maximum number of vertices the shader can generate would be 1024 / (4 + 3) = 146.
dcl_maxOutputVertexCount 146
Assume your geometry shader creates 32 4-component vectors. The maximum number of vertices the shader can generate would be 1024 / (32 * 4) = 8.
dcl_maxOutputVertexCount 8
Minimum Shader Model
This function is supported in the following shader models.
Shader Model | Supported |
---|---|
Shader Model 5 | yes |
Shader Model 4.1 | yes |
Shader Model 4 | yes |
Shader Model 3 (DirectX HLSL) | no |
Shader Model 2 (DirectX HLSL) | no |
Shader Model 1 (DirectX HLSL) | no |