mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 09:30:13 +01:00
elk: Apply vgrf127 workaround in more cases
No shader-db changes on Broadwell. Older platforms were not tested. Fixes:e7b7d572b3("intel/fs/ra: Re-arrange interference setup") Acked-by: Caio Oliveira <caio.oliveira@intel.com> (cherry picked from commit2e8b89ec60) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38268>
This commit is contained in:
parent
9bad1beb98
commit
55a37838b9
2 changed files with 7 additions and 4 deletions
|
|
@ -684,7 +684,7 @@
|
||||||
"description": "elk: Apply vgrf127 workaround in more cases",
|
"description": "elk: Apply vgrf127 workaround in more cases",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 2,
|
"nomination_type": 2,
|
||||||
"resolution": 0,
|
"resolution": 1,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": "e7b7d572b3bf801fa2a1a8cdff181fdf75780a96",
|
"because_sha": "e7b7d572b3bf801fa2a1a8cdff181fdf75780a96",
|
||||||
"notes": null
|
"notes": null
|
||||||
|
|
|
||||||
|
|
@ -576,10 +576,13 @@ elk_fs_reg_alloc::setup_inst_interference(const elk_fs_inst *inst)
|
||||||
* This node has a fixed assignment to grf127.
|
* This node has a fixed assignment to grf127.
|
||||||
*
|
*
|
||||||
* We don't apply it to SIMD16 instructions because previous code avoids
|
* 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->exec_size < 16 && inst->is_send_from_grf() &&
|
if (inst->is_send_from_grf() && inst->dst.file == VGRF &&
|
||||||
inst->dst.file == VGRF)
|
(inst->exec_size < 16 || type_sz(inst->dst.type) < 4))
|
||||||
ra_add_node_interference(g, first_vgrf_node + inst->dst.nr,
|
ra_add_node_interference(g, first_vgrf_node + inst->dst.nr,
|
||||||
grf127_send_hack_node);
|
grf127_send_hack_node);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue