mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
brw/copy: Allow copy prop into src1 of broadcast
This is the selector, and it must always be a uniform UD, so there's no reason to not propagate into it. No shader-db change on any Intel platform. fossil-db: All Intel platforms had similar results. (Lunar Lake shown) Totals: Instrs: 220507131 -> 220507127 (-0.00%) Cycle count: 31607052398 -> 31607053364 (+0.00%); split: -0.00%, +0.00% Totals from 5 (0.00% of 702410) affected shaders: Instrs: 995 -> 991 (-0.40%) Cycle count: 86392 -> 87358 (+1.12%); split: -0.07%, +1.19% Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32097>
This commit is contained in:
parent
662339a2ff
commit
0754a18621
1 changed files with 6 additions and 1 deletions
|
|
@ -1557,7 +1557,12 @@ try_copy_propagate_def(const brw_compiler *compiler,
|
|||
}
|
||||
|
||||
/* Reject cases that would violate register regioning restrictions. */
|
||||
if ((val.file == UNIFORM || !val.is_contiguous()) &&
|
||||
if (inst->opcode == SHADER_OPCODE_BROADCAST) {
|
||||
if (arg == 0)
|
||||
return false;
|
||||
|
||||
assert(inst->src[arg].stride == 0);
|
||||
} else if ((val.file == UNIFORM || !val.is_contiguous()) &&
|
||||
(inst->is_send_from_grf() || inst->uses_indirect_addressing())) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue