NAME
    ps_2_0 - Direct3D Shader Model 2.0 fragment profile for DirectX 9

SYNOPSIS
      ps_2_0

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 shader format. See:

      http://msdn2.microsoft.com/en-us/library/bb219843.aspx

3D API DEPENDENCIES
    Requires Direct3D 9 support.

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_0 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_0 profile correspond to the
    respectively named varying output semantics of the vs_2_0 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.

    This profile may have limits on the number of dependent texture fetches.

SEE ALSO
    The OpenGL the arbfp1 manpage profile is rougly equivalent to the ps_2_0
    profile.

    The Direct3D the ps_2_x manpage profile extends the ps_2_0.

