ps_2_x

> # NAME

> ps_2_x - Direct3D Shader Model 2.0 Extended fragment profile for DirectX 9

> # SYNOPSIS

>       ps_2_x

> # DESCRIPTION

> This Direct3D profile corresponds to the per-fragment 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 Pixel Shader 2.0 Extended shader format. See:

>       msdn2.microsoft.com/en-us/library/bb219844.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 pixel 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 ps_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

> The varying input semantics in the ps_2_x profile correspond to the respectively named varying output semantics of the vs_2_x profile.

>       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

> Sixteen texture units are supported:

>       Binding Semantic Name            Corresponding Data

>       TEXUNIT0                         Texture unit 0
>       TEXUNIT1                         Texture unit 1
>       ...
>       TEXUNIT15                        Texture unit 15

> ## OUTPUT SEMANTICS

>       COLOR                            Output color (float4)
>       COLOR0
>       COL0
>       COL

>       DEPTH                            Output depth (float)
>       DEPR

> # 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.