summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/compiler/radeon_variable.c
diff options
context:
space:
mode:
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 938fb84..7c640c4 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;