Step Instructions
In V1000 compatibility mode, step sends S2 to a Pixel Engine parameter and also performs D = S2 + S1. stepv sends an operand pair and performs a vector add. They are illegal with DrawCtl[3:0] = 0xB.
| Instruction selection | Parameter action |
|---|---|
| x / y, xy | Update XShadow or Y; XDir comes from the sign of the even S1. |
| q, qu | Perform reciprocal seed operation; qu also updates U and UDir. |
| r / v, rv | Update red or V; VDir comes from the sign of the odd S1. |
| i / u, iv | Update common R=G=B intensity or U; update coordinate direction where specified. |
| f | Update fog factor. |
| g / b, gb | Update green or blue. |
| z / a, za | Update Z or alpha. |
| zv | Update Z and V. |
| cnt | Load Count from S2[31:16]. |
Scalar x uses even S2/S1; y uses odd S2. Similar even/odd selection distinguishes r/v, i/u, g/b and z/a. q has no register alignment restriction. The complete constraints are in each opcode entry.
Step color writes change their corresponding FGColor field and leave other fields unchanged. Color, intensity, alpha and fog values saturate to 0..255 on passage to the Pixel Engine.
Count and XShadow have scheduling requirements before drawing. Count has a one-instruction hazard before any compatibility draw. XShadow has a one-instruction hazard before parallel draw and none before parameterized draw. The q step also has the seed hazard following Fill.
Sources: Technical Spec, p.12, Technical Spec, p.13, Technical Spec, p.14