gallivm: zero init the temporary register storage.
Due to flow control we can end up with random values in here having
side effects.
This fixes a crash in gtk4-demo.
Fixes: 44a6b0107b
("gallivm: add nir->llvm translation (v2)")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7327>
This commit is contained in:
parent
1761379481
commit
f7d1460418
|
@ -2215,8 +2215,8 @@ bool lp_build_nir_llvm(
|
||||||
|
|
||||||
nir_foreach_register(reg, &func->impl->registers) {
|
nir_foreach_register(reg, &func->impl->registers) {
|
||||||
LLVMTypeRef type = get_register_type(bld_base, reg);
|
LLVMTypeRef type = get_register_type(bld_base, reg);
|
||||||
LLVMValueRef reg_alloc = lp_build_alloca_undef(bld_base->base.gallivm,
|
LLVMValueRef reg_alloc = lp_build_alloca(bld_base->base.gallivm,
|
||||||
type, "reg");
|
type, "reg");
|
||||||
_mesa_hash_table_insert(bld_base->regs, reg, reg_alloc);
|
_mesa_hash_table_insert(bld_base->regs, reg, reg_alloc);
|
||||||
}
|
}
|
||||||
nir_index_ssa_defs(func->impl);
|
nir_index_ssa_defs(func->impl);
|
||||||
|
|
Loading…
Reference in New Issue