Mesa (master): tgsi/dump: fix declaration printing of tessellation inputs/ outputs

Marek Olšák mareko at kemper.freedesktop.org
Sat May 16 13:17:59 UTC 2015


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Jul 13 14:26:05 2014 -0400

tgsi/dump: fix declaration printing of tessellation inputs/outputs

mareko: only output second dimension for non-patch semantics

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/auxiliary/tgsi/tgsi_dump.c |   20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c
index 13d6769..27d4108 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c
@@ -271,14 +271,30 @@ iter_declaration(
    struct tgsi_full_declaration *decl )
 {
    struct dump_ctx *ctx = (struct dump_ctx *)iter;
+   boolean patch = decl->Semantic.Name == TGSI_SEMANTIC_PATCH ||
+      decl->Semantic.Name == TGSI_SEMANTIC_TESSINNER ||
+      decl->Semantic.Name == TGSI_SEMANTIC_TESSOUTER ||
+      decl->Semantic.Name == TGSI_SEMANTIC_PRIMID;
 
    TXT( "DCL " );
 
    TXT(tgsi_file_name(decl->Declaration.File));
 
-   /* all geometry shader inputs are two dimensional */
+   /* all geometry shader inputs and non-patch tessellation shader inputs are
+    * two dimensional
+    */
    if (decl->Declaration.File == TGSI_FILE_INPUT &&
-       iter->processor.Processor == TGSI_PROCESSOR_GEOMETRY) {
+       (iter->processor.Processor == TGSI_PROCESSOR_GEOMETRY ||
+        (!patch &&
+         (iter->processor.Processor == TGSI_PROCESSOR_TESSCTRL ||
+          iter->processor.Processor == TGSI_PROCESSOR_TESSEVAL)))) {
+      TXT("[]");
+   }
+
+   /* all non-patch tess ctrl shader outputs are two dimensional */
+   if (decl->Declaration.File == TGSI_FILE_OUTPUT &&
+       !patch &&
+       iter->processor.Processor == TGSI_PROCESSOR_TESSCTRL) {
       TXT("[]");
    }
 




More information about the mesa-commit mailing list