summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-11-14 02:01:34 +0100
committerMarek Olšák <[email protected]>2016-11-21 21:44:35 +0100
commit7dbf83af54067efcbd8fb872bbd1115fcecfab47 (patch)
tree276a2fdfa82b1b4fe54996c051fb4a892529e1b4 /src/gallium/auxiliary/tgsi
parent8a2251911eee8fa04d350915fa796cb62db5b814 (diff)
tgsi/scan: record if a shader writes the position output
Tested-by: Edmondo Tommasina <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_scan.c2
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_scan.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index f0dba0b1bda..84d64568c4b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
@@ -575,6 +575,8 @@ scan_declaration(struct tgsi_shader_info *info,
case TGSI_SEMANTIC_POSITION:
if (procType == PIPE_SHADER_FRAGMENT)
info->writes_z = true;
+ else
+ info->writes_position = true;
break;
}
break;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h
index 602a8703d50..fe503e8ba36 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h
@@ -110,6 +110,7 @@ struct tgsi_shader_info
boolean uses_primid;
boolean uses_frontface;
boolean uses_invocationid;
+ boolean writes_position;
boolean writes_psize;
boolean writes_clipvertex;
boolean writes_viewport_index;