Lines Matching defs:VS

119 An important difference is that VS is always the first stage to run in SW models,
120 whereas HW VS refers to the last HW stage before fragment shading in GCN/RDNA terminology.
121 That's why, among other things, the HW VS is no longer used to execute the SW VS when tesselation or geometry shading are used.
125 * VS = Vertex Shader
134 * LS = Local Shader (merged into HS on GFX9+), only runs SW VS when tessellation is used
136 * ES = Export Shader (merged into GS on GFX9+), if there is a GS in the SW pipeline, the preceding stage (ie. SW VS or SW TES) always has to run on this HW stage
138 * VS = Vertex Shader, **not equivalent to SW VS**: when there is a GS in the SW pipeline this stage runs a "GS copy" shader, otherwise it always runs the SW stage before FS
139 * NGG = Next Generation Geometry, a new hardware stage that replaces legacy HW GS and HW VS on RDNA GPUs
143 ##### Notes about HW VS and the "GS copy" shader
145 HW PS reads its inputs from a special buffer that only HW VS can write to, using export instructions.
147 So in order for HW PS to be able to read the GS outputs, we must run something on the VS stage which reads the GS outputs
149 From a HW perspective the "GS copy" shader is in fact VS (it runs on the HW VS stage),
157 The merged stages on GFX9 (and GFX10/legacy) are: LSHS and ESGS. On GFX10/NGG the ESGS is merged with HW VS into NGG GS.
174 * GS outputs got to VRAM, so they have to be copied by a GS copy shader running on the HW VS stage
176 | GFX6-8 HW stages: | LS | HS | ES | GS | VS | PS | ACO terminology |
178 | SW stages: only VS+PS: | | | | | VS | FS | `vertex_vs`, `fragment_fs` |
179 | with tess: | VS | TCS | | | TES | FS | `vertex_ls`, `tess_control_hs`, `tess_eval_vs`, `fragment_fs` |
180 | with GS: | | | VS | GS | GS copy| FS | `vertex_es`, `geometry_gs`, `gs_copy_vs`, `fragment_fs` |
181 | with both: | VS | TCS | TES | GS | GS copy| FS | `vertex_ls`, `tess_control_hs`, `tess_eval_es`, `geometry_gs`, `gs_copy_vs`, `fragment_fs` |
189 | GFX9+ HW stages: | LSHS | ESGS | VS | PS | ACO terminology |
191 | SW stages: only VS+PS: | | | VS | FS | `vertex_vs`, `fragment_fs` |
192 | with tess: | VS + TCS | | TES | FS | `vertex_tess_control_hs`, `tess_eval_vs`, `fragment_fs` |
193 | with GS: | | VS + GS | GS copy| FS | `vertex_geometry_gs`, `gs_copy_vs`, `fragment_fs` |
194 | with both: | VS + TCS | TES + GS | GS copy| FS | `vertex_tess_control_hs`, `tess_eval_geometry_gs`, `gs_copy_vs`, `fragment_fs` |
198 * HW GS and VS stages are now merged, and NGG GS can export directly
203 | SW stages: only VS+PS: | | VS | FS | `vertex_ngg`, `fragment_fs` |
204 | with tess: | VS + TCS | TES | FS | `vertex_tess_control_hs`, `tess_eval_ngg`, `fragment_fs` |
205 | with GS: | | VS + GS | FS | `vertex_geometry_ngg`, `fragment_fs` |
206 | with both: | VS + TCS | TES + GS | FS | `vertex_tess_control_hs`, `tess_eval_geometry_ngg`, `fragment_fs` |
275 Use NULL exports (for FS and VS) and `s_endpgm` to end the shader early to find the problematic instruction.