aco: preserve pass_flags during format conversions
This helps the "vopc() & exec" optimization. fossil-db (Sienna Cichlid): Totals from 1638 (1.21% of 134913) affected shaders: CodeSize: 3331804 -> 3327520 (-0.13%); split: -0.19%, +0.06% Instrs: 611807 -> 610096 (-0.28%) Latency: 5579326 -> 5574874 (-0.08%) InvThroughput: 936782 -> 936731 (-0.01%); split: -0.01%, +0.00% Copies: 43324 -> 43302 (-0.05%); split: -0.06%, +0.01% Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14773>
This commit is contained in:
@@ -289,6 +289,8 @@ convert_to_SDWA(chip_class chip, aco_ptr<Instruction>& instr)
|
||||
if (instr->operands.size() >= 3)
|
||||
instr->operands[2].setFixed(vcc);
|
||||
|
||||
instr->pass_flags = tmp->pass_flags;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
@@ -375,6 +377,8 @@ convert_to_DPP(aco_ptr<Instruction>& instr, bool dpp8)
|
||||
if (instr->operands.size() >= 3)
|
||||
instr->operands[2].setFixed(vcc);
|
||||
|
||||
instr->pass_flags = tmp->pass_flags;
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user