i965/nir: Lower to registers a bit later.
We can't safely call nir_optimize() with register present, since several passes called in the loop can't handle registers, and will fail asserts. Notably, nir_lower_vec_alus() and nir_opt_algebraic() really don't want registers. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
1f0067811c
commit
b9dea9bc45
|
@ -108,9 +108,6 @@ fs_visitor::emit_nir_code()
|
|||
nir_lower_io(nir);
|
||||
nir_validate_shader(nir);
|
||||
|
||||
nir_lower_locals_to_regs(nir);
|
||||
nir_validate_shader(nir);
|
||||
|
||||
nir_remove_dead_variables(nir);
|
||||
nir_validate_shader(nir);
|
||||
|
||||
|
@ -125,6 +122,9 @@ fs_visitor::emit_nir_code()
|
|||
|
||||
nir_optimize(nir);
|
||||
|
||||
nir_lower_locals_to_regs(nir);
|
||||
nir_validate_shader(nir);
|
||||
|
||||
nir_lower_to_source_mods(nir);
|
||||
nir_validate_shader(nir);
|
||||
nir_copy_prop(nir);
|
||||
|
|
Loading…
Reference in New Issue