> # NAME

> vs_2_x - Direct3D Shader Model 2.0 Extended vertex profile for DirectX 9

> # SYNOPSIS

>       vs_2_x

> # DESCRIPTION

> This Direct3D profile corresponds to the per-vertex functionality introduced by GeForce FX (NV3x) for DirectX 9.

> The compiler output for this profile conforms to the textual assembly defined by DirectX 9's Vertex Shader 2.0 Extended shader format. See:

>       msdn.microsoft.com/en-us/library/bb172929.aspx

> This profile supports static and structured dynamic flow control.

> # 3D API DEPENDENCIES

> Requires Direct3D 9 support.

> This profile generates code assuming the following Direct3D 9 Vertex shader capability bits are set:

>       D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE
>       D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS
>       D3DD3DPSHADERCAPS2_0_PREDICATION
>       D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT
>       D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT

> # PROFILE OPTIONS

> NumTemps=val

>   Number of 4-component vector temporaries the target implementation supports.

> NumInstructionSlots=val

>   Number of instructions the target implementation supports.

> MaxDrawBuffers=val

>   Number of draw buffers or Multiple Render Targets (MRT) the target implementation supports.

> # DATA TYPES

> half

>   The half data type makes use of the Partial Precision instruction modifier to request less precision.

>   NVIDIA GPUs may use half-precision floating-point when the Partial Precision instruction modifier is specified. Half-precision floating-point is encoded with a sign bit, 10 mantissa bits, and 5 exponent bits (biased by 16), sometimes called s10e5.

> float

>   The float data type corresponds to a floating-point representation with at least 24 bits.

>   NVIDIA GPUs supporting vs_2_x use standard IEEE 754 single-precision floating-point encoding with a sign bit, 23 mantissa bits, and 8 exponent bits (biased by 128), sometimes called s10e5.

>   Older ATI GPUs use 24-bit floating-point.

> fixed

>   The fixed data type is treated like half.

> # SEMANTICS

> ## INPUT SEMANTICS

>       Binding Semantics Name           Corresponding Data

>       COLOR                            Input primary color
>       COLOR0
>       COL
>       COL0

>       COLOR1                           Input secondary color
>       COL1

>       TEX0                             Input texture coordinate sets 0
>       TEXCOORD0

>       TEX1                             Input texture coordinate sets 1
>       TEXCOORD1

>       TEX2                             Input texture coordinate sets 2
>       TEXCOORD2

>       TEX3                             Input texture coordinate sets 3
>       TEXCOORD3

>       TEX4                             Input texture coordinate sets 4
>       TEXCOORD4

>       TEX5                             Input texture coordinate sets 5
>       TEXCOORD5

>       TEX6                             Input texture coordinate sets 6
>       TEXCOORD6

>       TEX7                             Input texture coordinate sets 7
>       TEXCOORD7

>       FOGP                             Input fog color (XYZ) and factor (W)
>       FOG

> ## UNIFORM INPUT SEMANTICS

> Eight texture units are supported:

>       Binding Semantic Name            Corresponding Data

>       TEXUNIT0                         Texture unit 0
>       TEXUNIT1                         Texture unit 1
>       ...
>       TEXUNIT7                         Texture unit 7

> ## OUTPUT SEMANTICS

>       Binding Semantics Name        Corresponding Data

>       POSITION, HPOS                Output position

>       PSIZE, PSIZ                   Output point size

>       FOG, FOGC                     Output fog coordinate

>       COLOR0, COL0                  Output primary color

>       COLOR1, COL1                  Output secondary color

>       BCOL0                         Output backface primary color

>       BCOL1                         Output backface secondary color

>       TEXCOORD0-TEXCOORD7,          Output texture coordinates
>       TEX0-TEX7

>       CLP0-CL5                      Output Clip distances

> # STANDARD LIBRARY ISSUES

> Functions that compute partial derivatives are not supported.

> There are no restrictions on dependent texture reads (up to the instruction limit) for this profile.

> # SEE ALSO

> ps_2_x, vs_2_0