mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 04:50:11 +01:00
aco/wave32: Change uniform bool optimization to work with wave32.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
This commit is contained in:
parent
dd9dad731b
commit
c0dbf42a03
1 changed files with 2 additions and 1 deletions
|
|
@ -993,13 +993,13 @@ void label_instruction(opt_ctx &ctx, Block& block, aco_ptr<Instruction>& instr)
|
|||
case aco_opcode::s_add_u32:
|
||||
ctx.info[instr->definitions[0].tempId()].set_add_sub(instr.get());
|
||||
break;
|
||||
case aco_opcode::s_and_b32:
|
||||
case aco_opcode::s_and_b64:
|
||||
if (instr->operands[1].isFixed() && instr->operands[1].physReg() == exec &&
|
||||
instr->operands[0].isTemp() && ctx.info[instr->operands[0].tempId()].is_uniform_bool()) {
|
||||
ctx.info[instr->definitions[1].tempId()].set_temp(ctx.info[instr->operands[0].tempId()].temp);
|
||||
}
|
||||
/* fallthrough */
|
||||
case aco_opcode::s_and_b32:
|
||||
case aco_opcode::s_not_b32:
|
||||
case aco_opcode::s_not_b64:
|
||||
case aco_opcode::s_or_b32:
|
||||
|
|
@ -1042,6 +1042,7 @@ void label_instruction(opt_ctx &ctx, Block& block, aco_ptr<Instruction>& instr)
|
|||
ctx.info[instr->definitions[0].tempId()].set_fcmp(instr.get());
|
||||
break;
|
||||
case aco_opcode::s_cselect_b64:
|
||||
case aco_opcode::s_cselect_b32:
|
||||
if (instr->operands[0].constantEquals((unsigned) -1) &&
|
||||
instr->operands[1].constantEquals(0)) {
|
||||
/* Found a cselect that operates on a uniform bool that comes from eg. s_cmp */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue