Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/docs/gallium/pipeline.txt
4558 views
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.
129
130