Drawing Operations

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