mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
intel/fs/gen6: Constrain barycentric source of LINTERP during bank conflict mitigation.
This avoids regressions on SNB due to the bank conflict mitigation pass moving a VGRF-allocated barycentric vector to a misaligned location, which would prevent the PLN instruction from being used. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
369aef851d
commit
0db4455c1f
1 changed files with 8 additions and 0 deletions
|
|
@ -567,6 +567,14 @@ namespace {
|
|||
constrained[p.atom_of_reg(reg_of(inst->src[i]))] = true;
|
||||
}
|
||||
|
||||
/* Preserve the original allocation of VGRFs used by the barycentric
|
||||
* source of the LINTERP instruction on Gen6, since pair-aligned
|
||||
* barycentrics allow the PLN instruction to be used.
|
||||
*/
|
||||
if (v->devinfo->has_pln && v->devinfo->gen <= 6 &&
|
||||
inst->opcode == FS_OPCODE_LINTERP)
|
||||
constrained[p.atom_of_reg(reg_of(inst->src[0]))] = true;
|
||||
|
||||
/* The location of the Gen7 MRF hack registers is hard-coded in the
|
||||
* rest of the compiler back-end. Don't attempt to move them around.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue