Chapter 12 - RDP Programming

The Reality Display Processor (RDP) rasterizes triangles and rectangles, and produces high-quality, Silicon Graphics style pixels that are textured, antialiased, and Z-buffered. The RDP has four main configurations where all the individual blocks work together to generate pixels. These main configurations are called "cycle types," because they indicate how many pixels are generated per cycle. Table 12-1 lists peak performance of each cycle type. Keep in mind that these peak numbers are typically realized on large rectangle primitives. Triangles have variable short and long spans and these numbers degrade rapidly.

Table 12-1 Cycle Types
FILL4 16 bit pixels/cycle
2 32 bit pixels/cycle
COPY4 pixels/cycle
1CYCLE1 pixel/cycle
2CYCLE1 pixel/2 cycles

Note: These are theoretical peak performances. In reality, due to the memory latency and buffering overhead, actual performance numbers are lower.

12.1 Overview
12.1.1 RDP Pipeline Blocks
12.1.2 One-Cycle-per-Pixel Mode
12.1.3 Two-Cycles-per-Pixel Mode
12.1.4 Fill Mode
12.1.5 Copy Mode
12.2 RDP Global State
12.2.1 Cycle Type
12.2.2 Synchronization
12.2.3 Span Buffer Coherency
12.3 RS - Rasterizer
12.3.1 Scissoring
12.4 TX - Texture Engine
12.4.1 Texture Tiles
12.4.2 Multiple Tile Textures
12.4.3 Texture Image Types and Format
12.4.4 Texture Loading
12.4.5 Color-Indexed Textures
12.4.6 Texture-Sampling Modes
12.4.7 Synchronization
12.5 TF - Texture Filter
12.5.1 Filter Types
12.5.2 Color Space Conversion
12.6 CC - Color Combiner
12.6.1 Color and Alpha Combiner Inputs Sources
12.6.2 CC Internal Color Registers
12.6.3 One-Cycle Mode
12.6.4 Two-Cycle Mode
12.6.5 Custom Modes
12.6.6 Chroma Key
12.7 BL - Blender
12.7.1 Surface Types
12.7.2 Antialiasing Modes
12.7.3 BL Internal Color Registers
12.7.4 Alpha Compare
12.7.5 Using Fog
12.7.6 Depth Source
12.8 MI - Memory Interface
12.8.1 Image Location and Format
12.8.2 Fill Color
12.8.3 Dithering