aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/compiler/radeon_variable.c
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2011-06-15 08:00:53 -0700
committerTom Stellard <[email protected]>2011-09-16 17:35:46 -0700
commite945fb04d04c33da5e77d22d739c5740a522a61e (patch)
tree0665be036c5a639b30a0a5707ca94c35a63e38df /src/gallium/drivers/r300/compiler/radeon_variable.c
parent1e5aaaa138d87a3e3bc53f6e4c18b1842b752dea (diff)
r300/compiler: Add support for the output modifier (OMOD)
Diffstat (limited to 'src/gallium/drivers/r300/compiler/radeon_variable.c')
-rw-r--r--src/gallium/drivers/r300/compiler/radeon_variable.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/compiler/radeon_variable.c b/src/gallium/drivers/r300/compiler/radeon_variable.c
index 938fb8421f2..7c640c4f621 100644
--- a/src/gallium/drivers/r300/compiler/radeon_variable.c
+++ b/src/gallium/drivers/r300/compiler/radeon_variable.c
@@ -498,6 +498,22 @@ struct rc_list * rc_variable_list_get_writers(
return writer_list;
}
+struct rc_list * rc_variable_list_get_writers_one_reader(
+ struct rc_list * var_list,
+ unsigned int src_type,
+ void * src)
+{
+ struct rc_list * writer_list =
+ rc_variable_list_get_writers(var_list, src_type, src);
+ struct rc_list * reader_list =
+ rc_variable_readers_union(writer_list->Item);
+ if (rc_list_count(reader_list) > 1) {
+ return NULL;
+ } else {
+ return writer_list;
+ }
+}
+
void rc_variable_print(struct rc_variable * var)
{
unsigned int i;