clover/spirv: Don't call llvm::regularizeLlvmForSpirv
[mesa.git] / docs / gallium / pipeline.txt
1 XXX this could be converted/formatted for Sphinx someday.
2 XXX do not use tabs in this file.
3
4
5
6 position ]
7 primary/secondary colors ]
8 generics (normals, ]
9 texcoords, fog) ] User vertices / arrays
10 point size ]
11 edge flag ]
12 primitive ID } System-generated values
13 vertex ID }
14 | | |
15 V V V
16 +-------------------+
17 | Vertex shader |
18 +-------------------+
19 | | |
20 V V V
21 position
22 clip distance
23 generics
24 front/back & primary/secondary colors
25 point size
26 edge flag
27 primitive ID
28 | | |
29 V V V
30 +------------------------+
31 | Geometry shader |
32 | (consume vertex ID) |
33 | (may change prim type) |
34 +------------------------+
35 | | |
36 V V V
37 [...]
38 fb layer
39 | | |
40 V V V
41 +--------------------------+
42 | Clipper |
43 | (consume clip distances) |
44 +--------------------------+
45 | | |
46 V V V
47 +-------------------+
48 | Polygon Culling |
49 +-------------------+
50 | | |
51 V V V
52 +-----------------------+
53 | Choose front or |
54 | back face color |
55 | (consume other color) |
56 +-----------------------+
57 | | |
58 V V V
59 [...]
60 primary/secondary colors only
61 | | |
62 V V V
63 +-------------------+
64 | Polygon Offset |
65 +-------------------+
66 | | |
67 V V V
68 +----------------------+
69 | Unfilled polygons |
70 | (consume edge flags) |
71 | (change prim type) |
72 +----------------------+
73 | | |
74 V V V
75 position
76 generics
77 primary/secondary colors
78 point size
79 primitive ID
80 fb layer
81 | | |
82 V V V
83 +---------------------------------+
84 | Optional Draw module helpers |
85 | * Polygon Stipple |
86 | * Line Stipple |
87 | * Line AA/smooth (as tris) |
88 | * Wide lines (as tris) |
89 | * Wide points/sprites (as tris) |
90 | * Point AA/smooth (as tris) |
91 | (NOTE: these stages may emit |
92 | new/extra generic attributes |
93 | such as texcoords) |
94 +---------------------------------+
95 | | |
96 V V V
97 position ]
98 generics (+ new/extra ones) ]
99 primary/secondary colors ] Software rast vertices
100 point size ]
101 primitive ID ]
102 fb layer ]
103 | | |
104 V V V
105 +---------------------+
106 | Triangle/Line/Point |
107 | Rasterization |
108 +---------------------+
109 | | |
110 V V V
111 generic attribs
112 primary/secondary colors
113 primitive ID
114 fragment win coord pos } System-generated values
115 front/back face flag }
116 | | |
117 V V V
118 +-------------------+
119 | Fragment shader |
120 +-------------------+
121 | | |
122 V V V
123 zero or more colors
124 zero or one Z value
125
126
127 NOTE: The instance ID is not shown. It can be imagined to be a global variable
128 accessible to all shader stages.