Mesa (master): tgsi/scan: add uses_drawid

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 23 15:31:11 UTC 2019


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Feb  4 14:31:59 2019 -0500

tgsi/scan: add uses_drawid

Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
Acked-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/auxiliary/tgsi/tgsi_scan.c       | 3 +++
 src/gallium/auxiliary/tgsi/tgsi_scan.h       | 1 +
 src/gallium/drivers/radeonsi/si_shader_nir.c | 3 +++
 3 files changed, 7 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c
index bfb415e439a..4cb1a3152c3 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c
@@ -683,6 +683,9 @@ scan_declaration(struct tgsi_shader_info *info,
          case TGSI_SEMANTIC_BASEVERTEX:
             info->uses_basevertex = TRUE;
             break;
+         case TGSI_SEMANTIC_DRAWID:
+            info->uses_drawid = TRUE;
+            break;
          case TGSI_SEMANTIC_PRIMID:
             info->uses_primid = TRUE;
             break;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h
index 09eac4da95a..51d85af4fcb 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_scan.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h
@@ -118,6 +118,7 @@ struct tgsi_shader_info
    boolean uses_vertexid;
    boolean uses_vertexid_nobase;
    boolean uses_basevertex;
+   boolean uses_drawid;
    boolean uses_primid;
    boolean uses_frontface;
    boolean uses_invocationid;
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 5a925f19e09..4fe01ba0607 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -171,6 +171,9 @@ static void scan_instruction(const struct nir_shader *nir,
 		case nir_intrinsic_load_base_vertex:
 			info->uses_basevertex = 1;
 			break;
+		case nir_intrinsic_load_draw_id:
+			info->uses_drawid = 1;
+			break;
 		case nir_intrinsic_load_primitive_id:
 			info->uses_primid = 1;
 			break;




More information about the mesa-commit mailing list