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:

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

vs_2_0, ps_2_x