Lines Matching refs:ordered_shaders
2231 nir_shader* ordered_shaders[MESA_SHADER_STAGES]; in radv_link_shaders() local
2235 ordered_shaders[shader_count++] = shaders[MESA_SHADER_FRAGMENT]; in radv_link_shaders()
2238 ordered_shaders[shader_count++] = shaders[MESA_SHADER_GEOMETRY]; in radv_link_shaders()
2241 ordered_shaders[shader_count++] = shaders[MESA_SHADER_TESS_EVAL]; in radv_link_shaders()
2244 ordered_shaders[shader_count++] = shaders[MESA_SHADER_TESS_CTRL]; in radv_link_shaders()
2247 ordered_shaders[shader_count++] = shaders[MESA_SHADER_VERTEX]; in radv_link_shaders()
2250 ordered_shaders[shader_count++] = shaders[MESA_SHADER_COMPUTE]; in radv_link_shaders()
2254 unsigned first = ordered_shaders[shader_count - 1]->info.stage; in radv_link_shaders()
2255 unsigned last = ordered_shaders[0]->info.stage; in radv_link_shaders()
2257 if (ordered_shaders[0]->info.stage == MESA_SHADER_FRAGMENT && in radv_link_shaders()
2258 ordered_shaders[1]->info.has_transform_feedback_varyings) in radv_link_shaders()
2259 nir_link_xfb_varyings(ordered_shaders[1], ordered_shaders[0]); in radv_link_shaders()
2262 nir_lower_io_arrays_to_elements(ordered_shaders[i], in radv_link_shaders()
2263 ordered_shaders[i - 1]); in radv_link_shaders()
2269 if (ordered_shaders[i]->info.stage != first) in radv_link_shaders()
2272 if (ordered_shaders[i]->info.stage != last) in radv_link_shaders()
2275 if (nir_lower_io_to_scalar_early(ordered_shaders[i], mask)) { in radv_link_shaders()
2277 nir_copy_prop(ordered_shaders[i]); in radv_link_shaders()
2278 nir_opt_shrink_vectors(ordered_shaders[i]); in radv_link_shaders()
2280 if (ordered_shaders[i]->info.stage != last) { in radv_link_shaders()
2284 nir_opt_constant_folding(ordered_shaders[i]); in radv_link_shaders()
2286 nir_opt_cse(ordered_shaders[i]); in radv_link_shaders()
2297 if (ordered_shaders[i]->info.stage == MESA_SHADER_TESS_CTRL) in radv_link_shaders()
2298 nir_opt_copy_prop_vars(ordered_shaders[i]); in radv_link_shaders()
2300 nir_opt_dce(ordered_shaders[i]); in radv_link_shaders()
2301 nir_remove_dead_variables(ordered_shaders[i], in radv_link_shaders()
2308 if (nir_link_opt_varyings(ordered_shaders[i], ordered_shaders[i - 1])) { in radv_link_shaders()
2309 nir_opt_constant_folding(ordered_shaders[i - 1]); in radv_link_shaders()
2310 nir_opt_algebraic(ordered_shaders[i - 1]); in radv_link_shaders()
2311 nir_opt_dce(ordered_shaders[i - 1]); in radv_link_shaders()
2314 nir_remove_dead_variables(ordered_shaders[i], in radv_link_shaders()
2316 nir_remove_dead_variables(ordered_shaders[i - 1], in radv_link_shaders()
2319 bool progress = nir_remove_unused_varyings(ordered_shaders[i], in radv_link_shaders()
2320 ordered_shaders[i - 1]); in radv_link_shaders()
2322 nir_compact_varyings(ordered_shaders[i], in radv_link_shaders()
2323 ordered_shaders[i - 1], true); in radv_link_shaders()
2326 if (nir_lower_global_vars_to_local(ordered_shaders[i])) { in radv_link_shaders()
2327 ac_lower_indirect_derefs(ordered_shaders[i], in radv_link_shaders()
2330 nir_lower_vars_to_ssa(ordered_shaders[i]); in radv_link_shaders()
2331 nir_opt_dce(ordered_shaders[i]); in radv_link_shaders()
2334 if (nir_lower_global_vars_to_local(ordered_shaders[i - 1])) { in radv_link_shaders()
2335 ac_lower_indirect_derefs(ordered_shaders[i - 1], in radv_link_shaders()