summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_nir.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-09-14 10:39:52 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-09-15 13:31:43 -0700
commit246db0063eb6e01aad961b1c73d32fca911ae1df (patch)
tree37756813ede92ca36a18b7b311e8163bdbf3378c /src/mesa/drivers/dri/i965/brw_nir.c
parented65e6ef49e17e9cae93a8f98e2968346de2bc6e (diff)
downloadexternal_mesa3d-246db0063eb6e01aad961b1c73d32fca911ae1df.zip
external_mesa3d-246db0063eb6e01aad961b1c73d32fca911ae1df.tar.gz
external_mesa3d-246db0063eb6e01aad961b1c73d32fca911ae1df.tar.bz2
i965/fs: Use NIR for handling forced per-sample interpolation
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_nir.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_nir.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c
index b4c1cf1..9fdfa4d 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -281,13 +281,18 @@ brw_nir_lower_tes_inputs(nir_shader *nir, const struct brw_vue_map *vue_map)
}
void
-brw_nir_lower_fs_inputs(nir_shader *nir)
+brw_nir_lower_fs_inputs(nir_shader *nir,
+ const struct brw_wm_prog_key *key)
{
foreach_list_typed(nir_variable, var, node, &nir->inputs) {
var->data.driver_location = var->data.location;
}
- nir_lower_io(nir, nir_var_shader_in, type_size_vec4, 0);
+ nir_lower_io_options lower_io_options = 0;
+ if (key->persample_interp)
+ lower_io_options |= nir_lower_io_force_sample_interpolation;
+
+ nir_lower_io(nir, nir_var_shader_in, type_size_vec4, lower_io_options);
/* This pass needs actual constants */
nir_opt_constant_folding(nir);