summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2018-01-10 13:52:29 +1100
committerTimothy Arceri <[email protected]>2018-01-18 00:03:33 +1100
commitb282207c323d32deb23037463ac9d6886f15f6cf (patch)
tree47f13b21cdf016f86d6c24ff7d90265d56209830 /src/gallium
parent7898eb9a60c1ad4fb03a2fc3453c6778604e8742 (diff)
radeonsi/nir: add some missing tcs bits to the nir scan pass
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index d5b8f835b91..9a15271bb01 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -399,6 +399,20 @@ void si_nir_scan_shader(const struct nir_shader *nir,
info->writes_position = true;
break;
}
+
+ if (nir->info.stage == MESA_SHADER_TESS_CTRL) {
+ switch (semantic_name) {
+ case TGSI_SEMANTIC_PATCH:
+ info->reads_perpatch_outputs = true;
+ break;
+ case TGSI_SEMANTIC_TESSINNER:
+ case TGSI_SEMANTIC_TESSOUTER:
+ info->reads_tessfactor_outputs = true;
+ break;
+ default:
+ info->reads_pervertex_outputs = true;
+ }
+ }
}
info->num_outputs = num_outputs;