Name
ps_2_x - Direct3D Shader Model 2.0 Extended fragment profile for DirectX 9
Synopsis
ps_2_xDescription
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.aspxThis 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_NOTEXINSTRUCTIONLIMITProfile 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) FOGUniform Input Semantics
Sixteen texture units are supported:
Binding Semantic Name Corresponding Data TEXUNIT0 Texture unit 0 TEXUNIT1 Texture unit 1 ... TEXUNIT15 Texture unit 15Output Semantics
COLOR Output color (float4) COLOR0 COL0 COL DEPTH Output depth (float) DEPRStandard 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