radv/rt: Fix updating stack_size if the shader uses scratch

src_vars contains the stack_size of the shader that is about to get inlined.

Fixes: 7fadee9b70 ('radv/rt: only reserve stack_sizes after rt_case insertion')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21768>
This commit is contained in:
Konstantin Seurer 2023-03-07 08:28:54 +01:00 committed by Marge Bot
parent 3af675dfc1
commit d17bf881ea

View file

@ -815,7 +815,7 @@ insert_rt_case(nir_builder *b, nir_shader *shader, struct rt_variables *vars, ni
if (shader->info.stage == MESA_SHADER_CLOSEST_HIT || call_idx == 1)
NIR_PASS_V(shader, lower_hit_attribs, NULL, workgroup_size);
vars->stack_size = MAX2(vars->stack_size, shader->scratch_size);
src_vars.stack_size = MAX2(src_vars.stack_size, shader->scratch_size);
nir_push_if(b, nir_ieq_imm(b, idx, call_idx));
nir_inline_function_impl(b, nir_shader_get_entrypoint(shader), NULL, var_remap);