summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_nir_tcs_workarounds.c21
1 files changed, 9 insertions, 12 deletions
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);
}