| Operation | Mode | Parameters | Work performed |
|---|---|---|---|
| Parallel draw | V1000 compatibility | XShadow, Y, Count and packed pixel state | Up to four 8-bit, two 16-bit or one 32-bit pixel per word operation |
| Parameterized draw | V1000 compatibility | One to five parameter pairs, selected by DrawCtl | Iterate parameters for individual pixels |
| Triangle Engine | V2000, DrawCtl low nibble 0xB | Fixed shadow registers a0..a31, q0..q15 | Edge and span walking with optional perspective correction |
| Fill Engine | Fill parameters in a0..a15 | Address/length pair, scan-line delta, format, mask and data | Write one scan line per instruction |
draw and rdraw are illegal in V2000 mode. step instructions are also illegal when DrawCtl[3:0] = 0xB. Switching DrawCtl changes the function of the shadow register locations; the register pages show both interpretations.
For compatibility drawing, explicit parameters are sent to the Pixel Engine as S2 operands enter X1. Parameters required by the operation but omitted from its operand list must already be valid in Pixel Engine state. step supplies these values while performing a scalar or vector add in the RISC.
| Parameter | Number format |
|---|---|
| X, Y, U, V, R, G, B, A, F | 16I.16F |
| Z | 21I.11F |
| Q | 0I.24F |
Red, green, blue, intensity, fog and alpha values saturate to 0..255 on passage to the Pixel Engine. A step that updates one FGColor component leaves the other components unchanged.
Pixel operations · Drawing opcodes · Hazards
Sources: Technical Spec, p.12, Technical Spec, p.13, Technical Spec, p.16, Technical Spec, p.21