diff options
author | Nicolai Hähnle <[email protected]> | 2016-12-07 11:27:25 +0100 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2016-12-12 09:03:51 +0100 |
commit | 04811354c87e40b0bd5e970fa413ea056ed94173 (patch) | |
tree | e0431dae2ec440456e85cbc2d1d3ce6d3fc3ce1d /src/gallium/auxiliary/tgsi/tgsi_dump.c | |
parent | 173d80b40159669b303ea19e8b6abd24d7fce39b (diff) |
tgsi: add Stream{X,Y,Z,W} fields to tgsi_declaration_semantic
This is for geometry shader outputs. Without it, drivers have no way of
knowing which stream each output is intended for, and have to
conservatively write all outputs to all streams.
Separate stream numbers for each component are required due to output
packing.
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_dump.c')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_dump.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 614bcb2ef3c..f74aad167fa 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -360,6 +360,19 @@ iter_declaration( UID( decl->Semantic.Index ); CHR( ']' ); } + + if (decl->Semantic.StreamX != 0 || decl->Semantic.StreamY != 0 || + decl->Semantic.StreamZ != 0 || decl->Semantic.StreamW != 0) { + TXT(", STREAM("); + UID(decl->Semantic.StreamX); + TXT(", "); + UID(decl->Semantic.StreamY); + TXT(", "); + UID(decl->Semantic.StreamZ); + TXT(", "); + UID(decl->Semantic.StreamW); + CHR(')'); + } } if (decl->Declaration.File == TGSI_FILE_IMAGE) { |