1848b8605SmrgXXX this could be converted/formatted for Sphinx someday. 2848b8605SmrgXXX do not use tabs in this file. 3848b8605Smrg 4848b8605Smrg 5848b8605Smrg 6848b8605Smrg position ] 7848b8605Smrg primary/secondary colors ] 8848b8605Smrg generics (normals, ] 9848b8605Smrg texcoords, fog) ] User vertices / arrays 10848b8605Smrg point size ] 11848b8605Smrg edge flag ] 12848b8605Smrg primitive ID } System-generated values 13848b8605Smrg vertex ID } 14848b8605Smrg | | | 15848b8605Smrg V V V 16848b8605Smrg +-------------------+ 17848b8605Smrg | Vertex shader | 18848b8605Smrg +-------------------+ 19848b8605Smrg | | | 20848b8605Smrg V V V 21848b8605Smrg position 22848b8605Smrg clip distance 23848b8605Smrg generics 24848b8605Smrg front/back & primary/secondary colors 25848b8605Smrg point size 26848b8605Smrg edge flag 27848b8605Smrg primitive ID 28848b8605Smrg | | | 29848b8605Smrg V V V 30848b8605Smrg +------------------------+ 31848b8605Smrg | Geometry shader | 32848b8605Smrg | (consume vertex ID) | 33848b8605Smrg | (may change prim type) | 34848b8605Smrg +------------------------+ 35848b8605Smrg | | | 36848b8605Smrg V V V 37848b8605Smrg [...] 38848b8605Smrg fb layer 39848b8605Smrg | | | 40848b8605Smrg V V V 41848b8605Smrg +--------------------------+ 42848b8605Smrg | Clipper | 43848b8605Smrg | (consume clip distances) | 44848b8605Smrg +--------------------------+ 45848b8605Smrg | | | 46848b8605Smrg V V V 47848b8605Smrg +-------------------+ 48848b8605Smrg | Polygon Culling | 49848b8605Smrg +-------------------+ 50848b8605Smrg | | | 51848b8605Smrg V V V 52848b8605Smrg +-----------------------+ 53848b8605Smrg | Choose front or | 54848b8605Smrg | back face color | 55848b8605Smrg | (consume other color) | 56848b8605Smrg +-----------------------+ 57848b8605Smrg | | | 58848b8605Smrg V V V 59848b8605Smrg [...] 60848b8605Smrg primary/secondary colors only 61848b8605Smrg | | | 62848b8605Smrg V V V 63848b8605Smrg +-------------------+ 64848b8605Smrg | Polygon Offset | 65848b8605Smrg +-------------------+ 66848b8605Smrg | | | 67848b8605Smrg V V V 68848b8605Smrg +----------------------+ 69848b8605Smrg | Unfilled polygons | 70848b8605Smrg | (consume edge flags) | 71848b8605Smrg | (change prim type) | 72848b8605Smrg +----------------------+ 73848b8605Smrg | | | 74848b8605Smrg V V V 75848b8605Smrg position 76848b8605Smrg generics 77848b8605Smrg primary/secondary colors 78848b8605Smrg point size 79848b8605Smrg primitive ID 80848b8605Smrg fb layer 81848b8605Smrg | | | 82848b8605Smrg V V V 83848b8605Smrg +---------------------------------+ 84848b8605Smrg | Optional Draw module helpers | 85848b8605Smrg | * Polygon Stipple | 86848b8605Smrg | * Line Stipple | 87848b8605Smrg | * Line AA/smooth (as tris) | 88848b8605Smrg | * Wide lines (as tris) | 89848b8605Smrg | * Wide points/sprites (as tris) | 90848b8605Smrg | * Point AA/smooth (as tris) | 91848b8605Smrg | (NOTE: these stages may emit | 92848b8605Smrg | new/extra generic attributes | 93848b8605Smrg | such as texcoords) | 94848b8605Smrg +---------------------------------+ 95848b8605Smrg | | | 96848b8605Smrg V V V 97848b8605Smrg position ] 98848b8605Smrg generics (+ new/extra ones) ] 99848b8605Smrg primary/secondary colors ] Software rast vertices 100848b8605Smrg point size ] 101848b8605Smrg primitive ID ] 102848b8605Smrg fb layer ] 103848b8605Smrg | | | 104848b8605Smrg V V V 105848b8605Smrg +---------------------+ 106848b8605Smrg | Triangle/Line/Point | 107848b8605Smrg | Rasterization | 108848b8605Smrg +---------------------+ 109848b8605Smrg | | | 110848b8605Smrg V V V 111848b8605Smrg generic attribs 112848b8605Smrg primary/secondary colors 113848b8605Smrg primitive ID 114848b8605Smrg fragment win coord pos } System-generated values 115848b8605Smrg front/back face flag } 116848b8605Smrg | | | 117848b8605Smrg V V V 118848b8605Smrg +-------------------+ 119848b8605Smrg | Fragment shader | 120848b8605Smrg +-------------------+ 121848b8605Smrg | | | 122848b8605Smrg V V V 123848b8605Smrg zero or more colors 124848b8605Smrg zero or one Z value 125848b8605Smrg 126848b8605Smrg 127848b8605SmrgNOTE: The instance ID is not shown. It can be imagined to be a global variable 128848b8605Smrgaccessible to all shader stages. 129