Mesa (master): tgsi/scan: fix scanning fragment shaders with PrimID and Position/Face
Marek Olšák
mareko at kemper.freedesktop.org
Mon Jun 5 16:29:54 UTC 2017
Module: Mesa
Branch: master
Commit: 4b1e6ed49a2840e4aca2a177fe3a1c1b4e710c90
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b1e6ed49a2840e4aca2a177fe3a1c1b4e710c90
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue May 30 02:04:29 2017 +0200
tgsi/scan: fix scanning fragment shaders with PrimID and Position/Face
Not relevant to radeonsi, because Position/Face are system values
with radeonsi, while this codepath is for drivers where Position and
Face are ordinary inputs.
Reviewed-by: Brian Paul <brianp at vmware.com>
---
src/gallium/auxiliary/tgsi/tgsi_scan.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index 847f4fce28..018ca4b5bd 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
@@ -557,13 +557,16 @@ scan_declaration(struct tgsi_shader_info *info,
/* Vertex shaders can have inputs with holes between them. */
info->num_inputs = MAX2(info->num_inputs, reg + 1);
- if (semName == TGSI_SEMANTIC_PRIMID)
- info->uses_primid = TRUE;
- else if (procType == PIPE_SHADER_FRAGMENT) {
- if (semName == TGSI_SEMANTIC_POSITION)
- info->reads_position = TRUE;
- else if (semName == TGSI_SEMANTIC_FACE)
- info->uses_frontface = TRUE;
+ switch (semName) {
+ case TGSI_SEMANTIC_PRIMID:
+ info->uses_primid = true;
+ break;
+ case TGSI_SEMANTIC_POSITION:
+ info->reads_position = true;
+ break;
+ case TGSI_SEMANTIC_FACE:
+ info->uses_frontface = true;
+ break;
}
break;
More information about the mesa-commit
mailing list