diff --git a/hw/xbox/nv2a/vsh.c b/hw/xbox/nv2a/vsh.c index 8b527ad8ba..8c52f7d3cc 100644 --- a/hw/xbox/nv2a/vsh.c +++ b/hw/xbox/nv2a/vsh.c @@ -405,13 +405,6 @@ static QString* decode_opcode(const uint32_t *shader_token, reg_num = 1; } - if (strcmp(opcode, mac_opcode[MAC_ARL]) == 0) { - qstring_append_fmt(ret, " ARL(A0%s);\n", inputs); - } else if (mask > 0) { - qstring_append_fmt(ret, " %s(R%d%s%s);\n", - opcode, reg_num, mask_str[mask], inputs); - } - /* See if we must add a muxed opcode too: */ if (vsh_get_field(shader_token, FLD_OUT_MUX) == out_mux /* Only if it's not masked away: */ @@ -439,6 +432,13 @@ static QString* decode_opcode(const uint32_t *shader_token, qstring_append(ret, ");\n"); } + if (strcmp(opcode, mac_opcode[MAC_ARL]) == 0) { + qstring_append_fmt(ret, " ARL(A0%s);\n", inputs); + } else if (mask > 0) { + qstring_append_fmt(ret, " %s(R%d%s%s);\n", + opcode, reg_num, mask_str[mask], inputs); + } + return ret; }