Instructions

DirectX8

Microsoft DirectX 8.1 (pixel shader versions 1.0, 1.1, 1.2, 1.3, 1.4)

Instructions

Pixel shaders contain the following types of instructions.

  • A Version instruction defines the shader version. There is only one version instruction in a shader and it is the first instruction in a shader.
  • Constant instructions define constants. These instructions must be after the version instruction and before any arithmetic or texture address instructions.
  • A Phase instruction splits a shader into two sections: phase 1 and phase 2. Each phase has separate arithmetic and texture address instruction limits. Version 1.4 is the only version that supports the phase instruction.
  • Arithmetic instructions include common mathematical operations such as add and subtract, multiply, and taking a dot product.
  • Texture Address instructions manipulate texture coordinate data that is associated with texture stages.

The instructions are listed below.

Version instructionsVersion
1.0 1.1 1.2 1.3 1.4
ps x x x x x
Constant instructionsVersion
1.0 1.1 1.2 1.3 1.4
def x x x x x
Phase instructionsVersion
1.0 1.1 1.2 1.3 1.4
phase x
Arithmetic instructionsVersion
1.0 1.1 1.2 1.3 1.4
add x x x x x
bem x
cmp x x x
cnd x x x x x
dp3 x x x x x
dp4 x x x
lrp x x x x x
mad x x x x x
mov x x x x x
mul x x x x x
nop x x x x x
sub x x x x x
Texture address instructionsVersion
1.0 1.1 1.2 1.3 1.4
tex x x x x
texbem x x x x
texbeml x x x x
texcoord x x x x
texcrd x
texdepth x
texdp3 x x
texdp3tex x x
texkill x x x x x
texld x
texm3x2depth x
texm3x2pad x x x x
texm3x2tex x x x x
texm3x3 x x
texm3x3pad x x x x
texm3x3tex x x x x
texm3x3spec x x x x
texm3x3vspec x x x x
texreg2ar x x x x
texreg2gb x x x x
texreg2rgb x x