summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2014-07-13 14:26:05 -0400
committerMarek Olšák <marek.olsak@amd.com>2015-05-16 14:51:23 +0200
commitd7081828cc62df7efbc23ca1037a42d69dab94a7 (patch)
treedd3704b03183f10ac8adfa4f10ee8e11e9d0af00
parentdfc3bced2ceebd1e3abacd07acd83f932b45c639 (diff)
tgsi/dump: fix declaration printing of tessellation inputs/outputs
mareko: only output second dimension for non-patch semantics Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c
index 13d6769189..27d410853b 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("[]");
}