Mesa (master): tgsi/scan: record if a shader writes the position output

Marek Olšák mareko at kemper.freedesktop.org
Mon Nov 21 21:41:10 UTC 2016


Module: Mesa
Branch: master
Commit: 7dbf83af54067efcbd8fb872bbd1115fcecfab47
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dbf83af54067efcbd8fb872bbd1115fcecfab47

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Nov 14 02:01:34 2016 +0100

tgsi/scan: record if a shader writes the position output

Tested-by: Edmondo Tommasina <edmondo.tommasina at gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/auxiliary/tgsi/tgsi_scan.c | 2 ++
 src/gallium/auxiliary/tgsi/tgsi_scan.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index f0dba0b..84d6456 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 602a870..fe503e8 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;




More information about the mesa-commit mailing list