mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 16:40:13 +01:00
brw: Apply Gfx9 vgrf127 workaround in more cases
No shader-db changes on any Intel platform. fossil-db: Skylake Intel(R) HD Graphics 530 (SKL GT2) Totals: Cycle count: 57669758527 -> 57669757913 (-0.00%); split: -0.00%, +0.00% Totals from 10 (0.00% of 1736875) affected shaders: Cycle count: 274949 -> 274335 (-0.22%); split: -0.36%, +0.14% This change is likely due to subtle differences of different registers being allocated. In addition, fossils/google-meet-clvk/BgBlur.1f58fdf742c27594.1.foz and fossils/google-meet-clvk/Relight.1f58fdf742c27594.1.foz stopped failing EU validation on Gfx9 platforms. Closes: #14171 Fixes:e7b7d572b3("intel/fs/ra: Re-arrange interference setup") Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> (cherry picked from commit3e6af6c5bb) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38268>
This commit is contained in:
parent
3086692bcd
commit
9bad1beb98
2 changed files with 6 additions and 3 deletions
|
|
@ -694,7 +694,7 @@
|
|||
"description": "brw: Apply Gfx9 vgrf127 workaround in more cases",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "e7b7d572b3bf801fa2a1a8cdff181fdf75780a96",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -602,10 +602,13 @@ brw_reg_alloc::setup_inst_interference(const brw_inst *inst)
|
|||
* This node has a fixed assignment to grf127.
|
||||
*
|
||||
* We don't apply it to SIMD16 instructions because previous code avoids
|
||||
* any register overlap between sources and destination.
|
||||
* any register overlap between sources and destination. Some care is
|
||||
* taken to detect when interference may not have been added between
|
||||
* source and destination. This can occur in SIMD16 with UW
|
||||
* destination. See also gitlab issue #14171.
|
||||
*/
|
||||
if (inst->opcode == SHADER_OPCODE_SEND && inst->dst.file == VGRF &&
|
||||
inst->exec_size < 16)
|
||||
(inst->exec_size < 16 || brw_type_size_bytes(inst->dst.type) < 4))
|
||||
ra_add_node_interference(g, first_vgrf_node + inst->dst.nr,
|
||||
grf127_send_hack_node);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue