NAME
    hlslf - Translation profile to DirectX 9's High Level Shader Language
    for pixel shaders.

SYNPOSIS
      hlslf

DESCRIPTION
    This Direct3D profile translates Cg into DirectX 9's High Level Shader
    Language (HLSL) for pixel shaders.

    The compiler output for this profile conforms to the textual high-level
    language defined by DirectX 9's High Level Shading Language. See:

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

    The limitations of the hlslf profile depend on what HLSL profile to
    which the translated HLSL code is compiled.

3D API DEPENDENCIES
    Requires Direct3D 9 support.

PROFILE OPTIONS
    None.

DATA TYPES
    In general, the Cg data types translate to the HLSL data types with the
    same name.

    half    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 hlslf 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 hlslf 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
    This profile is limited to standard library support available in HLSL.
    In general, the Cg and HLSL standard libraries are very similar.

SEE ALSO
    The hlslf profile is similar to the OpenGL the glslf manpage profile
    that translates Cg into the OpenGL Shading Language (GLSL) for fragment
    shaders.

