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:
http://msdn.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.
See Also
vs_2_x,
ps_2_0
|