---
src/gallium/drivers/radeonsi/si_shader_nir.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 20b3beccc4..fcc857f838 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -124,6 +124,32 @@ static void scan_instruction(struct tgsi_shader_info *info,
case nir_intrinsic_ssbo_atomic_comp_swap:
info->writes_memory = true;
break;
+ case nir_intrinsic_interp_var_at_centroid:
+ case nir_intrinsic_interp_var_at_sample:
+ case nir_intrinsic_interp_var_at_offset: {
+ enum glsl_interp_mode interp =
+ intr->variables[0]->var->data.interpolation;
+ switch (interp) {
+ case INTERP_MODE_SMOOTH:
+ case INTERP_MODE_NONE:
+ if (intr->intrinsic ==
nir_intrinsic_interp_var_at_centroid)
+ info->uses_persp_centroid = true;
+ else
+ info->uses_persp_center = true;
+ break;
+ case INTERP_MODE_NOPERSPECTIVE:
+ if (intr->intrinsic ==
nir_intrinsic_interp_var_at_centroid)
+ info->uses_linear_centroid = true;
+ else
+ info->uses_linear_center = true;
+ break;
+ case INTERP_MODE_FLAT:
+ break;
+ default:
+ unreachable("Unsupported interpoation type");
+ }
+ break;
+ }
default:
break;
}
--
2.14.3
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev