mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
pan/mdg: Ensure we don't DCE into impossible masks
We round up for ld/st. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5153>
This commit is contained in:
parent
197b398c32
commit
d8c16200e9
1 changed files with 6 additions and 1 deletions
|
|
@ -73,9 +73,14 @@ midgard_opt_dead_code_eliminate_block(compiler_context *ctx, midgard_block *bloc
|
|||
mir_foreach_instr_in_block_rev(block, ins) {
|
||||
if (can_cull_mask(ctx, ins)) {
|
||||
unsigned type_size = nir_alu_type_get_type_size(ins->dest_type);
|
||||
unsigned round_size = type_size;
|
||||
unsigned oldmask = ins->mask;
|
||||
|
||||
unsigned rounded = mir_round_bytemask_up(live[ins->dest], type_size);
|
||||
/* Make sure we're packable */
|
||||
if (type_size == 16 && ins->type == TAG_LOAD_STORE_4)
|
||||
round_size = 32;
|
||||
|
||||
unsigned rounded = mir_round_bytemask_up(live[ins->dest], round_size);
|
||||
unsigned cmask = mir_from_bytemask(rounded, type_size);
|
||||
|
||||
ins->mask &= cmask;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue