summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/util/tgsi_parse.c
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2008-05-19 12:10:42 -0400
committerZack Rusin <zack@tungstengraphics.com>2008-05-19 12:10:42 -0400
commit09900df42967a0ba61e78038304fd6c54934ad0d (patch)
tree8bf72aa313a23c8554fdda5c9381cc593132722d /src/gallium/auxiliary/tgsi/util/tgsi_parse.c
parent1c624846a81b0218b4a07328f485e295432c6312 (diff)
parent59007a811de2d76ea00164e8f1cacb4a375d1458 (diff)
Merge commit 'origin/gallium-0.1' into gallium-vertex-linear
Diffstat (limited to 'src/gallium/auxiliary/tgsi/util/tgsi_parse.c')
-rw-r--r--src/gallium/auxiliary/tgsi/util/tgsi_parse.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/util/tgsi_parse.c b/src/gallium/auxiliary/tgsi/util/tgsi_parse.c
index 5bea773840..5c0b0bfd61 100644
--- a/src/gallium/auxiliary/tgsi/util/tgsi_parse.c
+++ b/src/gallium/auxiliary/tgsi/util/tgsi_parse.c
@@ -330,3 +330,18 @@ tgsi_num_tokens(const struct tgsi_token *tokens)
}
return 0;
}
+
+
+/**
+ * Make a new copy of a token array.
+ */
+struct tgsi_token *
+tgsi_dup_tokens(const struct tgsi_token *tokens)
+{
+ unsigned n = tgsi_num_tokens(tokens);
+ unsigned bytes = n * sizeof(struct tgsi_token);
+ struct tgsi_token *new_tokens = (struct tgsi_token *) MALLOC(bytes);
+ if (new_tokens)
+ memcpy(new_tokens, tokens, bytes);
+ return new_tokens;
+}