mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +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",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "e7b7d572b3bf801fa2a1a8cdff181fdf75780a96",
|
||||
"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.
|
||||
*
|
||||
* 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() &&
|
||||
inst->dst.file == VGRF)
|
||||
if (inst->is_send_from_grf() && 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,
|
||||
grf127_send_hack_node);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue