GPU Simulator Victor Moya Summary n Rendering pipeline



















- Slides: 19
GPU Simulator Victor Moya
Summary n Rendering pipeline for 3 D graphics. n Graphic Processors. n GPU Simulator and Tools.
Rendering Pipeline Application Geometry Fragments Display
Geometry Vertex Shader Clipping Primitive Assembly Transform, Lightning, Shading, Projection, Divide by W
Fragments Triangle Setup Fragment Generation Pixel Shader Fragment Tests Write
Graphic Processors n ‘Legacy’ hardware renderers: Reality Engine. n Pixel. Planes, Pixel. Flow. n n Old PC rasterizers: 3 dfx Voodoo and Voodoo 2. n NVidia Riva, TNT. n ATI Rage. n Rendition, S 3, Matrox, 3 DLabs. . . n
Graphic Processors n GPUs: NV 1 x: Ge. Force to Ge. Force 2. n NV 2 x: Ge. Force 3 to Ge. Force 4. n NV 3 x: Ge. Force 5200 to Ge. Force 5950. n R 100: Radeon. n R 200, RV 250: Radeon 8500/9100, 9200. n R 300, R 350, RV 360: Radeon 9600 to Radeon 9800. n
Graphic Processors n Implement n Direct. X 6/7/8/9. n n a graphic API: Capabilities. Open. GL Spec 1. 0/1. 1/1. 2/1. 3/1. 4. Extensions. n ARB extensions. n
Graphic Processors n Vertex Shader: n n For programmable transform and lighting. Per vertex. Clipping, primitive assembly, triangle setup and fragment generation. n Pixel/Fragment Shader: n n n Shading and texturing of fragments. Per fragment. Alpha Test, Stencil Test, Z Test, Scissor. n Color Write and Color Blend. n
Graphics Processors n Antialiasing: Anisotropic filtering for texture antialising. n Supersampling. n Multisampling. n Edge antialiasing. n
GPU Simulator & Tools n GPU Simulator. n n n Box & Signals. Structure. Tools. n n n Signal Trace Visualizer. GLInterceptor. GLPlayer. Open. GL Library. Automated tools for GL trace and library generation.
Box & Signals Simulator model is based in boxes and signals. n Box: perform the functionality (emulation) and the control of the simulation. Implement some of the timing (data bandwidth). n Signals: carry information between boxes, wire latency, unit pipelining timing and bandwidth (requests/objects per cycle). n
Box & Signals ready result A B op
GPU Simulator n Main units: n Command Processor: n n n GPU commands. GPU register changes. AGP data. Controls the other units. Streamer: n n Retrieve and format vertex inputs for the vertex shaders. Get vertex outputs from the vertex shaders and send them to Primitive Assembly.
GPU Simulator n Vertex Shader: n n Primitive Assembly: n n Clip primitives outside the view frustum and user clip planes. Triangle Setup: n n Form primitives (triangles) from the vertices. Clipping: n n Execute a program that transforms and lits single vertices. Setup triangles for fragment generation. Fragment Generation: n Generate fragments from the triangle.
GPU Simulator n Early Z Test: n n Interpolator: n n Interpolate fragment attributes. Fragment FIFO: n n Performs an early Z Test for the fragments against the Hierarchical Z Buffer. Store fragments and their attributes. Pixel/Fragment Shader: n n Executes a program per fragment to shade the fragments. Accesses textures (memory).
GPU Simulator n Z Test: n n n Color Write: n n n Writes fragments to the color buffer. Blends fragments with the color buffer. Memory Controller. n n Performs the Stencil and Z test. Updates the Z buffer and Stencil buffer. Controls and arbitrates the access to the GPU memory. DAC: n n ‘Displays’ the color buffer (front buffer). Consumes some memory bandwidth.
CP MC St. F St. C St. L VSh CW DAC Clp PA TS FG HZ ZTEST PSh TU FFIFO INT
Traces n Trace generation. n Trace statistics. n Trace selection. n Trace simulation.