diff options
author | Rob Clark <[email protected]> | 2015-01-04 16:33:37 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-01-07 19:37:28 -0500 |
commit | 18899d1b8078d2c16b7b3f105e0b39d3ea70a4cc (patch) | |
tree | 89bd3f54c36cfacf1af0d9581ff8ded56275ee9a /src/gallium/auxiliary/tgsi/tgsi_scan.c | |
parent | 49b4a6331f846cd86e6ca792959a9506bddeb658 (diff) |
tgsi: track max array per file
NOTE IN[] and OUT[] don't need (have?) ArrayID's.. and TEMP[] can
optionally have them. So we implicitly assume that ArrayID==0 always
exists for each file. This is why array_max[file] is never less than
zero.
You can tell from indirect_files(_read/written) if the legacy array-
id zero was actually used.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_scan.c')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_scan.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c index 9d1f848a9a8..e6011d2d85a 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c @@ -165,6 +165,8 @@ tgsi_scan_shader(const struct tgsi_token *tokens, = &parse.FullToken.FullDeclaration; const uint file = fulldecl->Declaration.File; uint reg; + if (fulldecl->Declaration.Array) + info->array_max[file] = MAX2(info->array_max[file], fulldecl->Array.ArrayID); for (reg = fulldecl->Range.First; reg <= fulldecl->Range.Last; reg++) { |