mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
gallivm: Fix mask calculation for emit_kill_if.
The exec_mask must be taken in consideration, just like emit_kill above. The tgsi_exec module has the same bug and should be fixed in a future change. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: José Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
81b998ca48
commit
e7a5905d8a
1 changed files with 8 additions and 5 deletions
|
|
@ -2295,12 +2295,15 @@ emit_kill_if(
|
|||
}
|
||||
}
|
||||
|
||||
if(mask) {
|
||||
lp_build_mask_update(bld->mask, mask);
|
||||
|
||||
if (!near_end_of_shader(bld, pc))
|
||||
lp_build_mask_check(bld->mask);
|
||||
if (bld->exec_mask.has_mask) {
|
||||
LLVMValueRef invmask;
|
||||
invmask = LLVMBuildNot(builder, bld->exec_mask.exec_mask, "kilp");
|
||||
mask = LLVMBuildOr(builder, mask, invmask, "");
|
||||
}
|
||||
|
||||
lp_build_mask_update(bld->mask, mask);
|
||||
if (!near_end_of_shader(bld, pc))
|
||||
lp_build_mask_check(bld->mask);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue