nir: Lower interp_var_at_* like a normal load_var for flat inputs.
"flat centroid" and "flat sample" both just mean "flat", so we should ignore interpolateAtCentroid/Sample and just return the flat value. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97032 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
parent
f80bea2d80
commit
0ba7288376
|
@ -340,6 +340,10 @@ lower_interpolate_at(nir_intrinsic_instr *intrin, struct lower_io_state *state,
|
|||
|
||||
assert(var->data.mode == nir_var_shader_in);
|
||||
|
||||
/* Ignore interpolateAt() for flat variables - flat is flat. */
|
||||
if (var->data.interpolation == INTERP_MODE_FLAT)
|
||||
return lower_load(intrin, state, NULL, offset);
|
||||
|
||||
nir_intrinsic_op bary_op;
|
||||
switch (intrin->intrinsic) {
|
||||
case nir_intrinsic_interp_var_at_centroid:
|
||||
|
|
Loading…
Reference in New Issue