From: Kenneth Graunke Date: Thu, 18 Aug 2016 17:56:48 +0000 (-0700) Subject: nir: Use nir_shader_get_entrypoint in TCS quad workaround code. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3203fe3d509b6a0e44c82384fba1dcc4c8c43dc6;p=mesa.git nir: Use nir_shader_get_entrypoint in TCS quad workaround code. We want to insert the code at the end of the program. Looping over all the functions (of which there was only one) was the old way of doing this, but now we have nir_shader_get_entrypoint(), so let's use it. Suggested by Connor Abbott. v2: Update for nir_shader_get_entrypoint API change. Signed-off-by: Kenneth Graunke Reviewed-by: Jason Ekstrand Reviewed-by: Connor Abbott --- diff --git a/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c b/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c index 0626981c2c1..6524b7dcb21 100644 --- a/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c +++ b/src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c @@ -134,19 +134,16 @@ brw_nir_apply_tcs_quads_workaround(nir_shader *nir) { assert(nir->stage == MESA_SHADER_TESS_CTRL); - nir_foreach_function(func, nir) { - if (!func->impl) - continue; + nir_function_impl *impl = nir_shader_get_entrypoint(nir); - nir_builder b; - nir_builder_init(&b, func->impl); + nir_builder b; + nir_builder_init(&b, impl); - struct set_entry *entry; - set_foreach(func->impl->end_block->predecessors, entry) { - nir_block *pred = (nir_block *) entry->key; - emit_quads_workaround(&b, pred); - } - - nir_metadata_preserve(func->impl, 0); + struct set_entry *entry; + set_foreach(impl->end_block->predecessors, entry) { + nir_block *pred = (nir_block *) entry->key; + emit_quads_workaround(&b, pred); } + + nir_metadata_preserve(impl, 0); }