Presentation is loading. Please wait.

Presentation is loading. Please wait.

GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.

Similar presentations


Presentation on theme: "GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU."— Presentation transcript:

1 GPU Simulator Victor Moya

2 Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU Simulator and Tools. GPU Simulator and Tools.

3 Rendering Pipeline Application Geometry Fragments Display

4 Geometry Vertex Shader Clipping Primitive Assembly Transform, Lightning, Shading, Projection, Divide by W

5 Fragments Triangle Setup Fragment Generation Pixel Shader Fragment Tests Write

6 Graphic Processors ‘Legacy’ hardware renderers: ‘Legacy’ hardware renderers: Reality Engine. Reality Engine. PixelPlanes, PixelFlow. PixelPlanes, PixelFlow. Old PC rasterizers: Old PC rasterizers: 3dfx Voodoo and Voodoo 2. 3dfx Voodoo and Voodoo 2. NVidia Riva, TNT. NVidia Riva, TNT. ATI Rage. ATI Rage. Rendition, S3, Matrox, 3DLabs... Rendition, S3, Matrox, 3DLabs...

7 Graphic Processors GPUs: GPUs: NV1x: GeForce to GeForce 2. NV1x: GeForce to GeForce 2. NV2x: GeForce3 to GeForce 4. NV2x: GeForce3 to GeForce 4. NV3x: GeForce 5200 to GeForce 5950. NV3x: GeForce 5200 to GeForce 5950. R100: Radeon. R100: Radeon. R200, RV250: Radeon 8500/9100, 9200. R200, RV250: Radeon 8500/9100, 9200. R300, R350, RV350, RV360: Radeon 9600 to Radeon 9800. R300, R350, RV350, RV360: Radeon 9600 to Radeon 9800.

8 Graphic Processors Implement a graphic API: Implement a graphic API: DirectX 6/7/8/9. DirectX 6/7/8/9. Capabilities. Capabilities. OpenGL Spec 1.0/1.1/1.2/1.3/1.4. OpenGL Spec 1.0/1.1/1.2/1.3/1.4. Extensions. Extensions. ARB extensions. ARB extensions.

9 Graphic Processors Vertex Shader: Vertex Shader: For programmable transform and lighting. For programmable transform and lighting. Per vertex. Per vertex. Clipping, primitive assembly, triangle setup and fragment generation. Clipping, primitive assembly, triangle setup and fragment generation. Pixel/Fragment Shader: Pixel/Fragment Shader: Shading and texturing of fragments. Shading and texturing of fragments. Per fragment. Per fragment. Alpha Test, Stencil Test, Z Test, Scissor. Alpha Test, Stencil Test, Z Test, Scissor. Color Write and Color Blend. Color Write and Color Blend.

10 Graphics Processors Antialiasing: Antialiasing: Anisotropic filtering for texture antialising. Anisotropic filtering for texture antialising. Supersampling. Supersampling. Multisampling. Multisampling. Edge antialiasing. Edge antialiasing.

11 GPU Simulator & Tools GPU Simulator. GPU Simulator. Box & Signals. Box & Signals. Structure. Structure. Tools. Tools. Signal Trace Visualizer. Signal Trace Visualizer. GLInterceptor. GLInterceptor. GLPlayer. GLPlayer. OpenGL Library. OpenGL Library. Automated tools for GL trace and library generation. Automated tools for GL trace and library generation.

12 Box & Signals Simulator model is based in boxes and signals. Simulator model is based in boxes and signals. Box: perform the functionality (emulation) and the control of the simulation. Implement some of the timing (data bandwidth). Box: perform the functionality (emulation) and the control of the simulation. Implement some of the timing (data bandwidth). Signals: carry information between boxes, wire latency, unit pipelining timing and bandwidth (requests/objects per cycle). Signals: carry information between boxes, wire latency, unit pipelining timing and bandwidth (requests/objects per cycle).

13 Box & Signals AB ready op result

14 GPU Simulator Main units: Main units: Command Processor: Command Processor: GPU commands. GPU commands. GPU register changes. GPU register changes. AGP data. AGP data. Controls the other units. Controls the other units. Streamer: Streamer: Retrieve and format vertex inputs for the vertex shaders. Retrieve and format vertex inputs for the vertex shaders. Get vertex outputs from the vertex shaders and send them to Primitive Assembly. Get vertex outputs from the vertex shaders and send them to Primitive Assembly.

15 GPU Simulator Vertex Shader: Vertex Shader: Execute a program that transforms and lits single vertices. Execute a program that transforms and lits single vertices. Primitive Assembly: Primitive Assembly: Form primitives (triangles) from the vertices. Form primitives (triangles) from the vertices. Clipping: Clipping: Clip primitives outside the view frustum and user clip planes. Clip primitives outside the view frustum and user clip planes. Triangle Setup: Triangle Setup: Setup triangles for fragment generation. Setup triangles for fragment generation. Fragment Generation: Fragment Generation: Generate fragments from the triangle. Generate fragments from the triangle.

16 GPU Simulator Early Z Test: Early Z Test: Performs an early Z Test for the fragments against the Hierarchical Z Buffer. Performs an early Z Test for the fragments against the Hierarchical Z Buffer. Interpolator: Interpolator: Interpolate fragment attributes. Interpolate fragment attributes. Fragment FIFO: Fragment FIFO: Store fragments and their attributes. Store fragments and their attributes. Pixel/Fragment Shader: Pixel/Fragment Shader: Executes a program per fragment to shade the fragments. Executes a program per fragment to shade the fragments. Accesses textures (memory). Accesses textures (memory).

17 GPU Simulator Z Test: Z Test: Performs the Stencil and Z test. Performs the Stencil and Z test. Updates the Z buffer and Stencil buffer. Updates the Z buffer and Stencil buffer. Color Write: Color Write: Writes fragments to the color buffer. Writes fragments to the color buffer. Blends fragments with the color buffer. Blends fragments with the color buffer. Memory Controller. Memory Controller. Controls and arbitrates the access to the GPU memory. Controls and arbitrates the access to the GPU memory. DAC: DAC: ‘Displays’ the color buffer (front buffer). ‘Displays’ the color buffer (front buffer). Consumes some memory bandwidth. Consumes some memory bandwidth.

18 CP StF StLVSh StCClpPATSFG HZ INTFFIFOPSh TU ZTESTCW MCDAC

19 Traces Trace generation. Trace generation. Trace statistics. Trace statistics. Trace selection. Trace selection. Trace simulation. Trace simulation.


Download ppt "GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU."

Similar presentations


Ads by Google