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:
Alyssa Rosenzweig 2020-03-21 17:41:34 -04:00 committed by Marge Bot
parent 12299dead7
commit cd7fec782e
4 changed files with 8 additions and 8 deletions

View File

@ -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, ".");

View File

@ -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;

View File

@ -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;

View File

@ -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) {