mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 14:20:11 +01:00
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 <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
parent
93bfa1d7a2
commit
3203fe3d50
1 changed files with 9 additions and 12 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue