pan/bi: Remove hacks for 1-bit booleans in IR
Now that we lower them away, a bunch of special cases disappear. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4276>
This commit is contained in:
parent
12299dead7
commit
cd7fec782e
|
@ -227,7 +227,7 @@ bi_print_alu_type(nir_alu_type t, FILE *fp)
|
|||
static void
|
||||
bi_print_swizzle(bi_instruction *ins, unsigned src, FILE *fp)
|
||||
{
|
||||
unsigned size = MAX2(nir_alu_type_get_type_size(ins->dest_type), 8);
|
||||
unsigned size = nir_alu_type_get_type_size(ins->dest_type);
|
||||
unsigned count = (size == 64) ? 1 : (32 / size);
|
||||
|
||||
fprintf(fp, ".");
|
||||
|
@ -303,7 +303,7 @@ bi_print_writemask(bi_instruction *ins, FILE *fp)
|
|||
{
|
||||
unsigned bits_per_comp = nir_alu_type_get_type_size(ins->dest_type);
|
||||
assert(bits_per_comp);
|
||||
unsigned bytes_per_comp = MAX2(bits_per_comp / 8, 1);
|
||||
unsigned bytes_per_comp = bits_per_comp / 8;
|
||||
unsigned comps = 16 / bytes_per_comp;
|
||||
unsigned smask = (1 << bytes_per_comp) - 1;
|
||||
fprintf(fp, ".");
|
||||
|
|
|
@ -123,8 +123,8 @@ bi_adjust_src_ra(bi_instruction *ins, struct lcra_state *l, unsigned src)
|
|||
/* Use the swizzle as component select */
|
||||
nir_alu_type T = ins->src_types[src];
|
||||
unsigned size = nir_alu_type_get_type_size(T);
|
||||
unsigned bytes = (MAX2(size, 8) / 8);
|
||||
unsigned comps_per_reg = 4 / bytes;
|
||||
assert(size <= 32); /* TODO: 64-bit */
|
||||
unsigned comps_per_reg = 32 / size;
|
||||
unsigned components = bi_get_component_count(ins, src);
|
||||
|
||||
for (unsigned i = 0; i < components; ++i) {
|
||||
|
@ -159,7 +159,7 @@ bi_adjust_dest_ra(bi_instruction *ins, struct lcra_state *l)
|
|||
|
||||
unsigned tz = __builtin_ctz(ins->writemask);
|
||||
|
||||
/* Recall writemask is one bit per byte, so tz is in bytes */
|
||||
/* Recall writemask is one bit per byte, so tz is in eytes */
|
||||
unsigned regs = tz / 4;
|
||||
offset = regs * 4;
|
||||
|
||||
|
|
|
@ -455,7 +455,7 @@ emit_alu(bi_context *ctx, nir_alu_instr *instr)
|
|||
unsigned comps = instr->dest.dest.ssa.num_components;
|
||||
assert(comps == 1);
|
||||
unsigned bits = bits_per_comp * comps;
|
||||
unsigned bytes = MAX2(bits / 8, 1);
|
||||
unsigned bytes = bits / 8;
|
||||
alu.writemask = (1 << bytes) - 1;
|
||||
} else {
|
||||
unsigned comp_mask = instr->dest.write_mask;
|
||||
|
|
|
@ -100,7 +100,7 @@ bi_get_component_count(bi_instruction *ins, unsigned src)
|
|||
} else {
|
||||
/* Stores imply VECTOR */
|
||||
assert(ins->dest_type);
|
||||
unsigned bytes = MAX2(nir_alu_type_get_type_size(ins->dest_type), 8);
|
||||
unsigned bytes = nir_alu_type_get_type_size(ins->dest_type);
|
||||
return 32 / bytes;
|
||||
}
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ bi_bytemask_of_read_components(bi_instruction *ins, unsigned node)
|
|||
unsigned component_count = bi_get_component_count(ins, s);
|
||||
nir_alu_type T = ins->src_types[s];
|
||||
unsigned size = nir_alu_type_get_type_size(T);
|
||||
unsigned bytes = (MAX2(size, 8) / 8);
|
||||
unsigned bytes = size / 8;
|
||||
unsigned cmask = (1 << bytes) - 1;
|
||||
|
||||
for (unsigned i = 0; i < component_count; ++i) {
|
||||
|
|
Loading…
Reference in New Issue