nir: fix setting varying from uniform as flat
Here we just make sure we match the interpolation type on both
sides of the shader interface. Drivers like d3d12 are expecting
this.
Fixes: 9401990e6f
("nir/linker: set varying from uniform as flat")
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16003>
This commit is contained in:

committed by
Marge Bot

parent
67af7e2b40
commit
4b4bb46af4
@@ -1391,8 +1391,10 @@ nir_link_opt_varyings(nir_shader *producer, nir_shader *consumer)
|
|||||||
/* The varying is loaded from same uniform, so no need to do any
|
/* The varying is loaded from same uniform, so no need to do any
|
||||||
* interpolation. Mark it as flat explicitly.
|
* interpolation. Mark it as flat explicitly.
|
||||||
*/
|
*/
|
||||||
if (in_var && in_var->data.interpolation <= INTERP_MODE_NOPERSPECTIVE)
|
if (in_var && in_var->data.interpolation <= INTERP_MODE_NOPERSPECTIVE) {
|
||||||
in_var->data.interpolation = INTERP_MODE_FLAT;
|
in_var->data.interpolation = INTERP_MODE_FLAT;
|
||||||
|
out_var->data.interpolation = INTERP_MODE_FLAT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user