aco: fix nir_op_vec8/16 with 16-bit elements.
Fixes: 5718347c2b ("aco: implement vec2/3/4 with subdword operands")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24286>
This commit is contained in:
committed by
Marge Bot
parent
e890bb0e75
commit
2fcf7c7014
@@ -1462,11 +1462,14 @@ visit_alu_instr(isel_context* ctx, nir_alu_instr* instr)
|
||||
|
||||
if (dst.size() == 1)
|
||||
bld.copy(Definition(dst), packed[0]);
|
||||
else if (dst.size() == 2)
|
||||
bld.pseudo(aco_opcode::p_create_vector, Definition(dst), packed[0], packed[1]);
|
||||
else
|
||||
bld.pseudo(aco_opcode::p_create_vector, Definition(dst), packed[0], packed[1],
|
||||
packed[2]);
|
||||
else {
|
||||
aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>(
|
||||
aco_opcode::p_create_vector, Format::PSEUDO, dst.size(), 1)};
|
||||
vec->definitions[0] = Definition(dst);
|
||||
for (unsigned i = 0; i < dst.size(); ++i)
|
||||
vec->operands[i] = Operand(packed[i]);
|
||||
bld.insert(std::move(vec));
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user