ir3: Use nir_split_struct_vars for temporaries

This should let us lower the RT query stack to registers instead of
scratch by getting rid of the rest of the members of the ray query
struct. This gives a 24% decrease in total time for 3DMark InVitro.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447>
This commit is contained in:
Connor Abbott 2024-05-17 11:06:10 -04:00 committed by Marge Bot
parent f3f0c5048d
commit cc7be2b2b3

View file

@ -328,6 +328,7 @@ ir3_optimize_loop(struct ir3_compiler *compiler,
progress |= OPT(s, nir_opt_find_array_copies);
progress |= OPT(s, nir_opt_copy_prop_vars);
progress |= OPT(s, nir_opt_dead_write_vars);
progress |= OPT(s, nir_split_struct_vars, nir_var_function_temp);
static int gcm = -1;
if (gcm == -1)