On Thu, Aug 18, 2016 at 2:46 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > 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. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > .../drivers/dri/i965/brw_nir_tcs_workarounds.c | 23 > +++++++++++----------- > 1 file changed, 11 insertions(+), 12 deletions(-) > > Sorry, I pushed the patch rather quickly...here's a follow-on to use > nir_shader_get_entrypoint(). > > Shouldn't be also be using it in nir_lower_gs_intrinsics.c? > > 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 0626981..ac4f9e0 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,18 @@ 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 *func = nir_shader_get_entrypoint(nir); > + if (!func->impl) > + return;
Minor nit: I think you can drop the if, since it doesn't make sense to have an entrypoint with only a declaration and no implementation. Other than that, Reviewed-by: Connor Abbott <cwabbo...@gmail.com> What about my other comment though? > > - nir_builder b; > - nir_builder_init(&b, func->impl); > + nir_builder b; > + nir_builder_init(&b, func->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(func->impl->end_block->predecessors, entry) { > + nir_block *pred = (nir_block *) entry->key; > + emit_quads_workaround(&b, pred); > } > + > + nir_metadata_preserve(func->impl, 0); > } > -- > 2.9.3 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev