r600/sfn: Add more CF instruction types

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37096>
This commit is contained in:
Gert Wollny
2025-08-31 23:23:22 +02:00
committed by Marge Bot
parent a6302cf00d
commit ae6b5a449a
2 changed files with 38 additions and 1 deletions
@@ -50,6 +50,9 @@ ControlFlowInstr::do_print(std::ostream& os) const
case cf_endif:
os << "ENDIF";
break;
case cf_gds:
os << "GDS";
break;
case cf_loop_begin:
os << "LOOP_BEGIN";
break;
@@ -65,6 +68,30 @@ ControlFlowInstr::do_print(std::ostream& os) const
case cf_wait_ack:
os << "WAIT_ACK";
break;
case cf_alu:
os << "ALU";
break;
case cf_alu_push_before:
os << "ALU_PUSH_BEFORE";
break;
case cf_alu_pop_after:
os << "ALU_POP_AFTER";
break;
case cf_alu_pop2_after:
os << "ALU_POP2_AFTER";
break;
case cf_pop:
os << "GDS";
break;
case cf_push:
os << "GDS";
break;
case cf_tex:
os << "TEX";
break;
case cf_vtx:
os << "VTX";
break;
default:
UNREACHABLE("Unknown CF type");
}
@@ -14,13 +14,23 @@ namespace r600 {
class ControlFlowInstr : public Instr {
public:
enum CFType {
cf_none,
cf_alu,
cf_alu_push_before,
cf_alu_pop_after,
cf_alu_pop2_after,
cf_else,
cf_endif,
cf_gds,
cf_loop_begin,
cf_loop_end,
cf_loop_break,
cf_loop_continue,
cf_wait_ack
cf_pop,
cf_push,
cf_tex,
cf_vtx,
cf_wait_ack,
};
ControlFlowInstr(CFType type);