1 (c) Copyright 1997 A 3DGeometryandLighting A 3DGeometryandLighting A 3DGeometryandLighting GLINT Gamma GLINT Gamma GLINT Gamma Processor forthePC Processor forthePC Processor forthePC Vice President, MarketingVice President, Vice President, MarketingVice President, NASDAQ:TDDDF NASDAQ:TDDDF www www Neil Trevett Neil Trevett . . 3dlabs 3dlabs . . com com 2 (c) Copyright 3Dlabs 1997 Agenda • • • • • Agenda Agenda Board design examples usingGLINTGamma Board designexamples detailedarchitecture Gamma GLINT architectureoverview Gamma GLINT considerationsfor3Dgeometryacceleration System A backgroundertothe3Dgeometrypipeline 3 (c) Copyright 3Dlabs 1997 Complete pipeline The lastdifferencebetween3Dworkstations andPCs Geometry isthePC’s3DBottleneck • The lastdifferencebetween3Dworkstations andPCs • 100% of Rasterization Geometry isthePC’s3DBottleneck polygons/sec on a PII/266 Professional 3Disparticularlydemanding Professional The fastestCPU saturated ifrunningthegeometryinsoftware in silicon - typically in silicon 500K-1M polygons - - Viewperf uses polygons less than1pixelinsize usespolygons Viewperf surfaces of modeling precise Many smallpolygonsusedfor in software=350K per second cannot keeptoday’srasterizationsilicon Rasterization Rasterization Application Application Rasterization Transforms Transforms Application Transforms Lighting Lighting Lighting Setup Setup Setup Setup processing =100MFlops Delta offloadssetup GLINT polygons/sec & geometry=350K CPU runningapplication polygons/sec million in software=1 Transform and lighting 4 (c) Copyright 3Dlabs 1997 What What • • • The objectsmakingupasceneareheldindatabase space -x,y,z The verticesofthepolygonsarelocatedin3Dcoordinate ofobjectsaredescribedasagridpolygons Surfaces y x1,y1,z1 is is z x2,y2,z2 a3DObject? a3DObject? A 3Dobjecte.g. a sphere x3,y3,z3 spheres Polygons describing the x 5 (c) Copyright 3Dlabs 1997 on Vertices Operations on Vertices Operations The journeyfromdatabasetoscreen 3D ProcessingStages on Pixels Operations The journeyfromdatabasetoscreen on Pixels Operations 3D ProcessingStages Rasterization Geometry Transforms Transforms Transforms Traversal Traversal Coverage Coverage Traversal Coverage Lighting Lighting Lighting Merge Merge Setup Merge Color Setup Color Setup Color Clip Clip Clip Write thepixelstoframebuffer visible? are pixels Which pixel? each is color What are covered? Which pixels What aretheyon the screen? polygons? are the color What scene? Whatobjectsare incurrent Write thepixelstoframebuffer visible? are pixels Which pixel? each is color What are covered? Which pixels What shape aretheyon the screen? polygons? are the color What scene? Whatobjectsare incurrent Where are the polygons? arethe Where Where are the polygons? arethe Where 6 (c) Copyright 3Dlabs 1997 3D Polygon 3D 3D Polygon 3D Positioning objectsinascene • • • • Transform Processing Positioning objectsinascene Transform Processing Lots offloating pointoperations! Transform foreye-point - 4x4MatrixMultiplications Output =listofvisiblevertices, correctlypositioned Input =theverticesofall objectsinthesceneadatabase - x2,y2,z2 x2,y2,z2 Allows positioning with six degrees freedom withsix of degrees positioning Allows x1,y1,z1 x1,y1,z1 x3,y3,z3 x3,y3,z3 Eye-point Eye-point 7 (c) Copyright 3Dlabs 1997 3D Polygon 3D 3D Polygon 3D View VolumeclippingandtheProjection Plane Transform Processing View VolumeclippingandtheProjection Plane Transform Processing Volume Volume View View • • Clip againstviewvolume -MoreTrigonometry Project ontoProjectionPlane -Trigonometry x2,y2,z2 x2,y2,z2 x1,y1,z1 x1,y1,z1 x3,y3,z3 x3,y3,z3 Screen Coordinate object Screen Coordinate Screen Coordinate object Screen Coordinate Projection Plane Projection Plane Eye-point Eye-point 8 (c) Copyright 3Dlabs 1997 View VolumeCullingandBackface Geometry Efficiencies View VolumeCullingandBackface • • The other big win is:BackfaceCulling The otherbigwin in ascenetrivially-it’sbehindyou! View Volumecullingcaneliminatethemajority ofpolygons - - - - About 50% of the polygons in most real models are backfacing real modelsare most in polygons the of 50% About polygons pipelinecandiscardbackfacing The geometry from are away the eyepoint invisible pointing normals with Polygons “one-sided” are polygons Normally Discard Discard Eye-point Eye-point 9 (c) Copyright 3Dlabs 1997 Directional Calculating thecolorofeachvertex Lighting Equation Calculating thecolorofeachvertex Lighting Equation • • • Source Color -Ia.Ka+Id.KfId.Ks.cosØ havereflective properties Surfaces Objects arelitbyoneormorelightsources - - - - Light highlights Specular reflectioncoefficient: glinting angle, gives depends on ofangle reflection coefficient: Diffuse independent directionand color lights:Directional withposition, a light: Ambient color non-directional, has Surface Surface Ø 10 (c) Copyright 3Dlabs 1997 • • • Setup Calculations Preparing forrasterization Preparing forrasterization Setup Calculations Converts tosub-pixelaccuratefixedpointformat Calculate slopeanddeltainformation Take screencoordinatesofvertices A3, F3, S3, T3, Q3 T3, S3, F3, A3, B3, Z3, R3,G3, X3, Y3, - - For eachinterpolant need to calculate StartI,dIdx, dIdyDom pointformat In floating Dominant Edge X1, Y1, Z1, R1, G1, B1, A1, F1, S1, T1, Q1 parameters, position, color, Worst case number of alpha, fog andtexture A2, F2, S2, T2, Q2 T2, S2, F2, A2, B2, Z2, R2,G2, X2, Y2, 11 (c) Copyright 3Dlabs 1997 lighting, setuppipelineat3.3 GLINT Gamma Complete GeometryProcessingin achip Complete GeometryProcessingin achip GLINT Gamma GLINT Gamma processes • • • Host isfreetoprocesstheapplication 3.3 millionpolygons/secneeds GLINT Gammaintegrates100%ofthegeometry pipeline the complete transform, Feeds rasterization chip - - - - million polygons/sec application than fasterpixelapplication fill-rates performance a effectontypical Gamma will bigger have GLINT 50% backface culled With full transformations lighting enabled and At a price point suitable forPCs e.g. GLINT MX Rasterization Rasterization Rasterization Application Application Application Transforms Transforms Transforms Lighting Lighting Lighting Setup Setup Setup 2,000MFlops application can process the 100% of the host cycles 12 (c) Copyright 3Dlabs 1997 3.3 million polygons/sec 3.3 million scene. AGP 1Xallows Hardware preprocessingforrasterization silicon System DesignUsingGLINTGamma • • • Hardware preprocessingforrasterization silicon System DesignUsingGLINTGamma Hardware preprocessingforrasterization silicon System DesignUsingGLINTGamma Use 66MHz PCI Connection to rasterizer PCIConnection 66MHz Use PCIis for 33MHz not fast enough host connection commandstream Gamma reads polygon and processes GLINT All polygons in the All polygonsin - - - - - CPU CPU CPU Can guarantee 66MHz on-board operation, and allows multiple devices allows multiple and on-board operation, Can guarantee66MHz fetching optimized vertex addressing for Need AGP’ssideband AGP enables the full3.3millionpolygons/sec performance Full 33MHz PCI bandwidthonlysupports1.5millionpolygons/sec Outputs commandstream for arasterizerprocessor e.g. GLINT MX PCI or AGP PCI Gamma Gamma 66MHz 66MHz PCI to GLINT GLINT allow multiple allow Gamma GLINT devices culling after clipping and Only visiblepolygons - Framebuffer Framebuffer Framebuffer GLINT GLINT GLINT MX MX MX Video out rasterizer silicon rasterizer performed in shading, Zbuffering e.g. texturing, processing, pixel All 13 (c) Copyright 3Dlabs 1997 • • • • • Parameter fetchtofog GLINT GammaFunctional Pipeline Parameter fetchtofog GLINT GammaFunctional Pipeline Full geometrytransformationprocessing OpenGL Begin/Endparadigm Input DMAcontrollerfetchesparameters Fog calculations Texture CoordinateGeneration - - - - - Linear, Exponential and Exponential Squared and Exponential Linear, Exponential Spherical, Object linear, Eye linear matrix) Projection and Model (View Vertex strips Quad fan, Quads, strip,Triangle Triangle Linestrip,Points, Lines,Lineloop, Triangles, translationPerforms address Primitive Processing Primitive Parameter Fetch Fog Calculations Coordinates Transforms Clipping Lighting Texture Setup 14 (c) Copyright 3Dlabs 1997 Clipping toSetup GLINT GammaFunctional Pipeline Clipping toSetup GLINT GammaFunctional Pipeline • • • Triangle, LineandPoint SetUp Full lightingcalculations Full Clipping ------Stippled ornon-stippled or anti-aliased Aliased faster but Delta, GLINT Same as lighting Two-side Local lights,Spot Lights Attenuated Point ordirectional lights lights of number to unlimited degrade Soft to16Light sources Up Backface culling Six user clip planes Frustrum clipping Primitive Processing Primitive Texture Coordinates Texture Fog Calculations Parameter Fetch Transforms Clipping Lighting Setup 15 (c) Copyright 3Dlabs 1997 setup-fetch Full Bus Provides Master Bus orPCI AGP Primary overlap Geometry Processing in aAGP/PCI Bridge GLINT GammaArchitecture Geometry Processing in aAGP/PCI Bridge GLINT GammaArchitecture Allows transparent use of VGA and 8514 behindbridge of VGAand transparent use Allows 5V I/O 5V power 3.3V PQFP Pin 176 Full geometry and lighting processor Controller DMA Interface Slave Master & AGP/PCI FIFO Input Function 1Decode Function VGA/8514 with 0Decode Function Geometry Gamma Engine Path Bypass FIFO Output Control DMA and Interface Master PCI 1 GLINT MX DMA to PCI Bus Secondary 16 (c) Copyright 3Dlabs 1997 DMA unit with page lookup with page unit DMA • • • • GLINT GammaPipeline for non-contiguous GLINT GammaPipeline command buffers command 150 totalpipelinestagesthroughthechip Each unitheavily-pipelinedinternally Message passingprotocolbetweenunits Pipeline offunctionunits Normalizes and Normalizes Transforms Normals Normalization Command Unit Unit calculations for calculations Processes primitive Lighting 16 lights 16 Machine Lighting types Vertex Unit including specular textures properties withlights, vertices, texturesvertices, Combines material and normals Transform Transform Material Unit Unit clipping, backfaceculling, Geometry Frustrumand userplane Engine Delta Unit Rasterization fog calculations Setup 17 (c) Copyright 3Dlabs 1997 Function UnitStructure Function UnitStructure Function UnitStructure • • • The unitprocesseseachmessageaccordingto type A messageismadeupofatagfieldanddata The unitpipelineusesamessagepassingparadigm Data - - Tag Two stage FIFO 128 bit data holds four 32 bit 32 bit floats orxyzw 128 data holds four = complete vertexegrgba 11 bit tagidentifies the message type O F F I Data Tag

Input Stage Internal Pipelining Register Storage Processing as required Control

Output Stage Data Tag Two stage FIFO O F F I Data Tag 18 (c) Copyright 3Dlabs 1997 GLINT GammaisHardwired Maximum performanceper$ Maximum performanceper$ GLINT GammaisHardwired Maximum performanceper$ GLINT GammaisHardwired • • • • • 3Dlabs designtechnology enablesdevicesofthiscomplexity Data paths areinferred directly from VHDL statemachine GammaisaVHDL Control inGLINT 100%ofallkeyAPIs Functionality encompasses 3D Geometryiswell-understood ------Design tools first used to develop GLINT Delta GLINT first tools to develop used Design silicon hardwired into point floating of conversion Rapid costs general routing No purpose fetch(lessmemorybandwidth) program No gates) (less set instruction or sequencer program No for orROM program storage (less RAM No gates) 1.1,Direct 3D OpenGL Heidiand QuickDraw 3D, programmability of luxury the need Don’t 19 (c) Copyright 3Dlabs 1997 • • Typical UnitProcessingStructure Hardwired processing Hardwired processing Typical UnitProcessingStructure Hardwired processing Typical UnitProcessingStructure Vertex 0 Vertex Type andnumberofoperationunitsvariesfrom unit to areIEEEcompatible All operations MLFD DVFDIV FDIV FADD FMUL - NAN handlingnot implemented Floating Point Operation Units Vertex 1 Vertex Input VertexStores Vertex 2 Vertex Data Routing Vertex 3 Vertex VHDL Coded, Inferred Routing VHDL Coded, FConvert Working Working Output FIFO Storage Temp 20 (c) Copyright 3Dlabs 1997 • • • Total FloatingPointUnits Total FloatingPointUnits Total FloatingPointUnits Latency variesaccordingtotheunit simultaneously All unitscanbeused All unitsareindependent nt yeo nt Throughput Units Type of # Units - No restrictionNo mixofoperations on 0Adr, 1 Misc. 25 10 Adders, Multipliers 15 oe 5 5 10 root Square Inverse 2 1 Power 4 Divide conv. conv. and oprtr 1 comparators (cycles/result) 1 21 (c) Copyright 3Dlabs 1997 Physical andProjectCharacteristics GLINT Gamma • • • • • Physical andProjectCharacteristics • GLINT Gamma Over 1milliongates 600 pagedesignspecification 8 manyearsdesigntime 66MHz, 5watts 176 pinPQFP 4layermetal 5S6.35µ, IBM CMOS - - - Random logic - 50% - logic Random Registers -15% - FP operators 35% 22 (c) Copyright 3Dlabs 1997 Multi-function AGPBoards GLINT GammaasAGP Bridge Multi-function AGPBoards GLINT GammaasAGP Bridge Multi-function AGPBoards GLINT GammaasAGP Bridge • • • Enables multi-functionboards GLINT GammaactsasafullAGPbridge AGP ispoint-to-pointconnectiononly - - - - - Uses for high performance video video devices performance for high Uses PCIbus 66MHz internal Via Multiple devices on an AGP board can access mainmemory problematic AGP on Makes multi-functions bus one deviceontheAGP slot andonly one Only Logic Logic Logic Core Core Core AGP Gamma Gamma GLINT GLINT Gamma GLINT 66MHz PCI Hardware Hardware Hardware GLINT GLINT GLINT Video Video Video MX MX MX 23 (c) Copyright 3Dlabs 1997 66MHz PCI 33MHz or • • A graphicspipelinewell-matchedwithPentium II Twin GLINTMXDesign A graphicspipelinewell-matchedwithPentium II Twin GLINTMXDesign Pentium II-> GLINTGamma ->Twin GLINT MX GLINT MXisscalablefrom2to8processors AGP, ------33 MillionPixels/sec trilinear-mip-mappedfilteredtexture 66 MillionPixels/sec bilinear-mip-mappedfilteredtexture 2 Millionvisible, renderedpol Well-balanced application, geometry, rasterization pipeline geometry, application, Well-balanced Interleaved scan-line for effectiveload-balancing rendering increases fill-rate Transparently 66MHz PCI GLINT Gamma GLINT Gamma GLINT MX GLINT MX Localbuffer Localbuffer GLINT MX GLINT MX Localbuffer Localbuffer yg ons withfull Framebuffer Framebuffer RAMDAC RAMDAC g eometr y processin g 24 (c) Copyright 3Dlabs 1997 Summary • • • • • Summary Summary key APIs -includingOpenGL andDirect3D key APIs thegeometryandlightingforall GLINT Gammaimplements It canbehard-wiredformaximumperformance per $ APIs encapsulated instandard 3D geometryfunctionalityiswellunderstoodand performance PC It isthecurrentbottleneckforincreased3D 3D Geometryisfloatingpointintensive